openapi: 3.1.0
info:
  description: API for partner_external service
  title: partner service
  version: 0.0.1
servers:
- description: Base URL for Production Rampnow APIs
  url: https://api.rampnow.io
- description: Base URL for Sandbox Rampnow APIs
  url: https://api.sandbox.rampnow.io
paths:
  /api/partner/v1/ext/customer_user:
    post:
      operationId: CreateCustomerUser
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomerUserRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/CreateCustomerUserResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: CreateCustomerUser
      tags:
      - Users
  /api/partner/v1/ext/customer_user/{uid}/kyc:
    post:
      operationId: GetCustomerUserKyc
      parameters:
      - in: query
        name: currency
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      - in: path
        name: uid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/GetCustomerUserKycResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: GetCustomerUserKyc
      tags:
      - Users
  /api/partner/v1/ext/ramp_order/{uid}:
    get:
      operationId: GetRampOrderByExternalUid
      parameters:
      - in: path
        name: uid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/GetRampOrderByExternalUidResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: GetRampOrderByExternalUid
      tags:
      - On/Off Ramp Orders
  /api/partner/v1/ext/ramp_order/asset_config:
    get:
      operationId: GetAssetConfig
      parameters:
      - in: query
        name: currency
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      - in: query
        name: chain
        schema:
          $ref: '#/components/schemas/CryptoChainCode'
      - in: query
        name: orderCurrency
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/GetAssetConfigResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: GetAssetConfig
      tags:
      - On/Off Ramp Orders
  /api/partner/v1/ext/ramp_order/checkout:
    post:
      operationId: CreateCheckoutOrder
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/CreateCheckoutOrderResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: CreateCheckoutOrder
      tags:
      - On/Off Ramp Orders
  /api/partner/v1/ext/ramp_order/quote:
    post:
      operationId: GetRampOrderQuote
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetRampOrderQuoteRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/GetOrderRampQuoteResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: GetRampOrderQuote
      tags:
      - On/Off Ramp Orders
  /api/partner/v1/ext/ramp_order/server:
    post:
      operationId: CreateServerOrder
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/CreateServerOrderResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: CreateServerOrder
      tags:
      - On/Off Ramp Orders
  /api/partner/v1/ext/transfer_order:
    post:
      operationId: CreateTransferOrder
      parameters:
      - in: query
        name: orderType
        schema:
          $ref: '#/components/schemas/OrderType'
      - in: query
        name: srcCurrency
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      - in: query
        name: srcChain
        schema:
          $ref: '#/components/schemas/CryptoChainCode'
      - in: query
        name: dstCurrency
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      - in: query
        name: dstChain
        schema:
          $ref: '#/components/schemas/CryptoChainCode'
      - in: query
        name: dstAmount
        schema:
          type: string
      - in: query
        name: apiKey
        schema:
          type: string
      - in: query
        name: walletUid
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTransferOrderRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/CreateTransferOrderResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: CreateTransferOrder
      tags:
      - Transfer Orders
  /api/partner/v1/ext/transfer_order/{uid}:
    get:
      operationId: GetTransferOrder
      parameters:
      - in: path
        name: uid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/GetTransferOrderDetailResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: GetTransferOrder
      tags:
      - Transfer Orders
  /api/partner/v1/ext/transfer_order/beneficiary_wallet:
    post:
      operationId: CreateBeneficiaryWallet
      requestBody:
        content:
          application/json:
            examples:
              INR Payout:
                summary: INR Beneficiary Wallet for Payout user
                value:
                  bankAccount:
                    accountNumber: "9999999999"
                    accountType: Savings
                    bankName: HDFC
                    bic: HDFC0000354
                    country: IN
                    currency: INR
                    name: Test User
                  orderType: payout
                  user:
                    address:
                      city: City
                      country: IN
                      line1: Address Line 1
                      line2: ""
                      postalCode: "666666"
                      state: State
                    country: IN
                    dateOfBirth: "1990-01-01"
                    email: test.user@example.com
                    firstName: Test
                    gender: male
                    lastName: User
                    phone: +91-9999999999
                    userType: individual
            schema:
              $ref: '#/components/schemas/CreateBeneficiaryWalletRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/CreateBeneficiaryWalletResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: CreateBeneficiaryWallet
      tags:
      - Transfer Orders
  /api/partner/v1/ext/transfer_order/beneficiary_wallet/{uid}:
    get:
      operationId: GetBeneficiaryWallet
      parameters:
      - in: query
        name: orderType
        schema:
          $ref: '#/components/schemas/OrderType'
      - in: path
        name: uid
        required: true
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/GetBeneficiaryWalletResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: GetBeneficiaryWallet
      tags:
      - Transfer Orders
  /api/partner/v1/ext/transfer_order/payment:
    put:
      operationId: UpdatePaymentDetail
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePaymentDetailRequest'
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/UpdatePaymentDetailResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: UpdatePaymentDetail
      tags:
      - Transfer Orders
  /api/partner/v1/ext/transfer_order/quote:
    get:
      operationId: GetTransferOrderQuote
      parameters:
      - in: query
        name: orderType
        schema:
          $ref: '#/components/schemas/OrderType'
      - in: query
        name: srcCurrency
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      - in: query
        name: srcChain
        schema:
          $ref: '#/components/schemas/CryptoChainCode'
      - in: query
        name: dstCurrency
        schema:
          $ref: '#/components/schemas/CurrencyCode'
      - in: query
        name: dstChain
        schema:
          $ref: '#/components/schemas/CryptoChainCode'
      - in: query
        name: dstAmount
        schema:
          type: string
      - in: query
        name: apiKey
        schema:
          type: string
      - in: query
        name: walletUid
        schema:
          type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                properties:
                  code:
                    type: integer
                  data:
                    $ref: '#/components/schemas/GetTransferOrderQuoteResponse'
                  displayError:
                    type: string
                  message:
                    type: string
                  traceId:
                    type: string
                required:
                - code
                - message
                - traceId
                - data
                type: object
          description: OK
      summary: GetTransferOrderQuote
      tags:
      - Transfer Orders
webhooks:
  transfer_order_webhook:
    post:
      description: Webhooks for transfer order status changes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferOrderPartnerWebhookData'
      responses:
        "200":
          description: OK
      summary: Webhooks for transfer order status changes
      tags:
      - Webhooks
  wallet_kyc_status_change_webhook:
    post:
      description: Webhooks for wallet KYC status changes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Webhook'
      responses:
        "200":
          description: OK
      summary: Webhooks for wallet KYC status changes
      tags:
      - Webhooks
components:
  schemas:
    Address:
      properties:
        city:
          type: string
        country:
          $ref: '#/components/schemas/CountryCode'
        line1:
          type: string
        line2:
          type: string
        postalCode:
          type: string
        state:
          type: string
        subDivision:
          type: string
      required:
      - line1
      - city
      - country
      - postalCode
      type: object
    AmlData:
      properties:
        estimatedAnnualTradeVolume:
          type: string
        fundSource:
          type: string
        isPoliticallyExposed:
          type: string
      required:
      - fundSource
      - isPoliticallyExposed
      - estimatedAnnualTradeVolume
      type: object
    AssociateType:
      enum:
      - unknown
      - customer
      - partner
      - merchant
      - rampnow
      type: string
    BankAccountDetail:
      description: Check constants/bank_details.go for bank details used in payments
        for different currencies
      properties:
        accountNumber:
          type: string
        accountType:
          type: string
        address:
          type: string
        bankName:
          type: string
        bic:
          type: string
        branchName:
          type: string
        country:
          $ref: '#/components/schemas/CountryCode'
        currency:
          $ref: '#/components/schemas/CurrencyCode'
        email:
          type: string
        iban:
          type: string
        name:
          type: string
        phone:
          type: string
        taxId:
          type: string
        transferCode:
          type: string
      type: object
    BankTxnInfo:
      properties:
        fee:
          type: string
        message:
          type: string
        receiver:
          $ref: '#/components/schemas/BankAccountDetail'
        sender:
          $ref: '#/components/schemas/BankAccountDetail'
      required:
      - fee
      - message
      type: object
    CountryCode:
      enum:
      - AD
      - AE
      - AF
      - AG
      - AI
      - AL
      - AM
      - AN
      - AO
      - AQ
      - AR
      - AS
      - AT
      - AU
      - AW
      - AX
      - AZ
      - BA
      - BB
      - BD
      - BE
      - BF
      - BG
      - BH
      - BI
      - BJ
      - BL
      - BM
      - BN
      - BO
      - BQ
      - BR
      - BS
      - BT
      - BV
      - BW
      - BY
      - BZ
      - CA
      - CC
      - CD
      - CF
      - CG
      - CH
      - CI
      - CK
      - CL
      - CM
      - CN
      - CO
      - CR
      - CU
      - CV
      - CW
      - CX
      - CY
      - CZ
      - DE
      - DJ
      - DK
      - DM
      - DO
      - DZ
      - EC
      - EE
      - EG
      - EH
      - ER
      - ES
      - ET
      - FI
      - FJ
      - FK
      - FM
      - FO
      - FR
      - GA
      - GB
      - GD
      - GE
      - GF
      - GG
      - GH
      - GI
      - GL
      - GM
      - GN
      - GP
      - GQ
      - GR
      - GS
      - GT
      - GU
      - GW
      - GY
      - HK
      - HM
      - HN
      - HR
      - HT
      - HU
      - ID
      - IE
      - IL
      - IM
      - IN
      - IO
      - IQ
      - IR
      - IS
      - IT
      - JE
      - JM
      - JO
      - JP
      - KE
      - KG
      - KH
      - KI
      - KM
      - KN
      - KP
      - KR
      - KW
      - KY
      - KZ
      - LA
      - LB
      - LC
      - LI
      - LK
      - LR
      - LS
      - LT
      - LU
      - LV
      - LY
      - MA
      - MC
      - MD
      - ME
      - MF
      - MG
      - MH
      - MK
      - ML
      - MM
      - MN
      - MO
      - MP
      - MQ
      - MR
      - MS
      - MT
      - MU
      - MV
      - MW
      - MX
      - MY
      - MZ
      - NA
      - NC
      - NE
      - NF
      - NG
      - NI
      - NL
      - "NO"
      - NP
      - NR
      - NU
      - NZ
      - OM
      - PA
      - PE
      - PF
      - PG
      - PH
      - PK
      - PL
      - PM
      - PN
      - PR
      - PS
      - PT
      - PW
      - PY
      - QA
      - RE
      - RO
      - RS
      - RU
      - RW
      - SA
      - SB
      - SC
      - SD
      - SE
      - SG
      - SH
      - SI
      - SJ
      - SK
      - SL
      - SM
      - SN
      - SO
      - SR
      - SS
      - ST
      - SV
      - SX
      - SY
      - SZ
      - TC
      - TD
      - TF
      - TG
      - TH
      - TJ
      - TK
      - TL
      - TM
      - TN
      - TO
      - TR
      - TT
      - TV
      - TW
      - TZ
      - UA
      - UG
      - UM
      - US
      - UY
      - UZ
      - VA
      - VC
      - VE
      - VG
      - VI
      - VN
      - VU
      - WF
      - WS
      - XK
      - XX
      - YE
      - YT
      - YU
      - ZA
      - ZM
      - ZW
      type: string
    CreateBeneficiaryWalletRequest:
      description: Create User + Bank Account + ID Docs
      properties:
        bankAccount:
          $ref: '#/components/schemas/BankAccountDetail'
        idDocs:
          description: Required for Payroll orders
          items:
            $ref: '#/components/schemas/IdDoc'
          type: array
        orderType:
          $ref: '#/components/schemas/OrderType'
        user:
          $ref: '#/components/schemas/CreateUserReq'
      required:
      - orderType
      - idDocs
      type: object
    CreateBeneficiaryWalletResponse:
      properties:
        address:
          $ref: '#/components/schemas/Address'
        country:
          $ref: '#/components/schemas/CountryCode'
        email:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        phone:
          type: string
        status:
          $ref: '#/components/schemas/KycStatus'
        uid:
          type: string
        userUid:
          type: string
        wallet:
          $ref: '#/components/schemas/Wallet'
      required:
      - uid
      - userUid
      - firstName
      - lastName
      - email
      - phone
      - country
      - status
      type: object
    CreateCheckoutOrderResponse:
      properties:
        orderUid:
          type: string
        redirectUrl:
          type: string
        userUid:
          type: string
      required:
      - orderUid
      - userUid
      - redirectUrl
      type: object
    CreateCustomerUserRequest:
      properties:
        kycShareReq:
          $ref: '#/components/schemas/KycShareReq'
        userDetail:
          $ref: '#/components/schemas/UserDetail'
      required:
      - userDetail
      type: object
    CreateCustomerUserResponse:
      properties:
        uid:
          type: string
      required:
      - uid
      type: object
    CreateOrderRequest:
      properties:
        addressTag:
          type: string
        dstChain:
          $ref: '#/components/schemas/CryptoChainCode'
        dstCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        externalOrderUid:
          type: string
        orderType:
          $ref: '#/components/schemas/OrderType'
        paymentMode:
          $ref: '#/components/schemas/PaymentMode'
        returnUrl:
          type: string
        srcAmount:
          type: string
        srcChain:
          $ref: '#/components/schemas/CryptoChainCode'
        srcCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        user:
          $ref: '#/components/schemas/CreateUserReq'
        wallet:
          $ref: '#/components/schemas/WalletInfo'
        webhookUrl:
          type: string
      required:
      - orderType
      - externalOrderUid
      - srcAmount
      - srcCurrency
      - srcChain
      - user
      type: object
    CreateServerOrderResponse:
      properties:
        orderUid:
          type: string
        paymentData:
          $ref: '#/components/schemas/ProcessPaymentResponse'
        userUid:
          type: string
      required:
      - orderUid
      - userUid
      type: object
    CreateTransferOrderRequest:
      properties:
        apiKey:
          type: string
        dstAmount:
          type: string
        dstChain:
          $ref: '#/components/schemas/CryptoChainCode'
        dstCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        externalOrderUid:
          type: string
        orderType:
          $ref: '#/components/schemas/OrderType'
        reference:
          description: Reference text that appears on bank statement
          type: string
        srcChain:
          $ref: '#/components/schemas/CryptoChainCode'
        srcCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        walletUid:
          type: string
      required:
      - orderType
      - srcCurrency
      - srcChain
      - dstCurrency
      - dstChain
      - dstAmount
      - apiKey
      - walletUid
      - reference
      - externalOrderUid
      type: object
    CreateTransferOrderResponse:
      properties:
        amount:
          type: string
        currency:
          $ref: '#/components/schemas/CurrencyCode'
        expiry:
          description: Unix timestamp
          type: integer
        payment:
          $ref: '#/components/schemas/ProcessPaymentResponse'
        status:
          $ref: '#/components/schemas/OrderStatus'
        uid:
          type: string
      required:
      - uid
      - status
      - amount
      - currency
      - expiry
      type: object
    CreateUserReq:
      properties:
        address:
          $ref: '#/components/schemas/Address'
        country:
          $ref: '#/components/schemas/CountryCode'
        dateOfBirth:
          type: string
        email:
          type: string
        firstName:
          type: string
        gender:
          $ref: '#/components/schemas/GenderType'
        lastName:
          type: string
        phone:
          type: string
        userType:
          $ref: '#/components/schemas/UserType'
      required:
      - email
      - firstName
      - lastName
      - phone
      - dateOfBirth
      - gender
      - country
      type: object
    CryptoAccountDetail:
      properties:
        address:
          type: string
        custodyType:
          $ref: '#/components/schemas/WalletCustodyType'
        externalAddress:
          type: string
      required:
      - custodyType
      - address
      type: object
    CryptoChainCode:
      enum:
      - abstract
      - algorand
      - ape-chain
      - arbitrum-one
      - arbitrum-sepolia
      - aurora
      - avalanche-c-chain
      - base
      - base-sepolia
      - berachain
      - bitcoin
      - bitcoin-cash
      - bitcoin-sv
      - blast
      - bnb-smart-chain
      - bob
      - boba
      - cardano
      - celo
      - corn
      - cronos
      - dogecoin
      - eos
      - ethereum
      - etherlink
      - exchange
      - fantom
      - fiat
      - flare
      - flow
      - fraxtal
      - fuse
      - gnosis
      - gravity
      - hemi
      - hyper-evm
      - hyperliquid
      - immutable-zkevm
      - ink
      - internet-computer
      - kaia
      - katana
      - lens
      - linea
      - lisk
      - litecoin
      - lumia
      - mantle
      - metis
      - mode
      - monad
      - moonbeam
      - moonriver
      - near
      - op-bnb
      - optimism
      - optimism-sepolia
      - plasma
      - plume
      - polygon
      - polygon-amoy
      - polygon-zkevm
      - pulse-chain
      - ronin
      - rootstock
      - scroll
      - sei
      - sepolia
      - solana
      - solana-devnet
      - soneium
      - sonic
      - sophon
      - stellar
      - sui
      - superposition
      - swellchain
      - taiko
      - tezos
      - ton
      - tron
      - unichain
      - vana
      - world-chain
      - xdc
      - zk-sync
      type: string
    CryptoTxnInfo:
      properties:
        amount:
          type: string
        chain:
          $ref: '#/components/schemas/CryptoChainCode'
        currency:
          $ref: '#/components/schemas/CurrencyCode'
        fillAmount:
          type: string
        receiverAddress:
          type: string
        remarks:
          type: string
        senderAddress:
          type: string
        status:
          type: string
        transactionHash:
          type: string
      required:
      - fillAmount
      - receiverAddress
      - transactionHash
      - status
      - remarks
      - senderAddress
      - amount
      - currency
      - chain
      type: object
    CurrencyCode:
      enum:
      - AAAFISH
      - AAVE
      - ADA
      - AED
      - AERO
      - AETH
      - AFN
      - AFSUI
      - AGNOEURE
      - AGNOGNO
      - AGNOUSDC
      - AGNOWETH
      - AI16Z
      - AIOT
      - AIXBT
      - ALGO
      - ALI
      - ALKIMI
      - ALL
      - ALUSD
      - AMD
      - AMP
      - ANG
      - ANIMA
      - ANIME
      - ANKR
      - ANON
      - AOA
      - APE
      - API4
      - ARB
      - ARENA
      - ARS
      - ASONUSDC
      - ASTER
      - ASTR
      - AT
      - ATA
      - ATH
      - AUD
      - AURA
      - AUSD
      - AVAX
      - AVNT
      - AWG
      - AXLUSDC
      - AXS
      - AZN
      - B
      - B3
      - B4
      - BADGER
      - BAL
      - BAM
      - BANANA
      - BAO
      - BAT
      - BB
      - BBD
      - BCH
      - BCSPX
      - BDT
      - BEL
      - BEPE
      - BERA
      - BERAETH
      - BES
      - BETS
      - BGN
      - BHD
      - BIF
      - BIO
      - BITCOIN
      - BLAST
      - BLUAI
      - BMD
      - BNB
      - BND
      - BOB
      - BOL
      - BOLD
      - BONK
      - BORG
      - BOSON
      - BRETT
      - BRIGHT
      - BRL
      - BRLA
      - BRLY
      - BROCCOLI
      - BRUSH
      - BSD
      - BSV
      - BTC
      - BTCN
      - BTN
      - BTT
      - BUCK
      - BUSD
      - BWP
      - BYN
      - BYUSD
      - BZD
      - BZZ
      - CAD
      - CAKE
      - CARV
      - CAT
      - CATI
      - CAUD
      - CAW
      - CBETH
      - CCAD
      - CCHF
      - CDF
      - CELO
      - CEUR
      - CGBP
      - CGHS
      - CGX
      - CHE
      - CHF
      - CHW
      - CHZ
      - CJPY
      - CLANKER
      - CLF
      - CLP
      - CMETH
      - CNDY
      - CNGN
      - CNY
      - COAI
      - COMP
      - COOK
      - COOKIE
      - COP
      - COQ
      - COU
      - COW
      - CRC
      - CRO
      - CROAK
      - CRV
      - CRVUSD
      - CST
      - CTX
      - CUC
      - CUP
      - CUSD
      - CVE
      - CVX
      - CZAR
      - CZK
      - DAI
      - DAIE
      - DAR
      - DATA
      - DEGEN
      - DIMO
      - DIP
      - DJF
      - DKK
      - DMC
      - DOG
      - DOGE
      - DOLO
      - DOP
      - DRIFT
      - DS
      - DTC
      - DUSD
      - DUSX
      - DXD
      - DZD
      - EBASIS
      - EBLUE
      - EBTC
      - EDU
      - EGP
      - EGUSDC
      - EIGEN
      - ENA
      - ENS
      - EOS
      - ERN
      - ESUI
      - ETB
      - ETH
      - ETHFI
      - ETHIX
      - ETHS
      - ETHX
      - EUL
      - EUR
      - EURA
      - EURC
      - EURCV
      - EURE
      - EUSD
      - EZETH
      - FAI
      - FARTCOIN
      - FBTC
      - FDUSD
      - FEB
      - FF
      - FISH
      - FJD
      - FKP
      - FLOCK
      - FLOW
      - FLR
      - FLSUI
      - FLUID
      - FLY
      - FOX
      - FOXY
      - FRAX
      - FRED
      - FRXETH
      - FRXUSD
      - FTM
      - FTX
      - FUSE
      - FXS
      - G
      - GALA
      - GBP
      - GBPE
      - GEL
      - GHO
      - GHS
      - GHST
      - GIP
      - GIV
      - GLM
      - GLMR
      - GMD
      - GMT
      - GMX
      - GNF
      - GNO
      - GNS
      - GOG
      - GOHOME
      - GRAI
      - GRASS
      - GRT
      - GTQ
      - GYD
      - HASUI
      - HAUS
      - HAWAL
      - HEGIC
      - HENLO
      - HEX
      - HIVEWATER
      - HKD
      - HNL
      - HNY
      - HOLD
      - HOLO
      - HOME
      - HONEY
      - HOPR
      - HRK
      - HTG
      - HUF
      - HYPE
      - HYPER
      - IBERA
      - IBEX
      - IBGT
      - ICP
      - IDR
      - IDRX
      - ILS
      - IMX
      - INC
      - INCH1
      - INJ
      - INR
      - IQD
      - IRR
      - ISK
      - IXT
      - JAIHOZB
      - JASMY
      - JLP
      - JMD
      - JOD
      - JOE
      - JPY
      - JTO
      - JUP
      - KAIA
      - KAITO
      - KAT
      - KERNEL
      - KES
      - KGS
      - KHR
      - KITTY
      - KMF
      - KMNO
      - KNC
      - KOGE
      - KOGIN
      - KOI
      - KPW
      - KRW
      - KTA
      - KWD
      - KYD
      - KZT
      - LAK
      - LAYER
      - LBGT
      - LBP
      - LBTC
      - LDO
      - LEND
      - LIGHT
      - LINEA
      - LINK
      - LINKE
      - LION
      - LKR
      - LONG
      - LPT
      - LPUSS
      - LRD
      - LSL
      - LTC
      - LUA
      - LUAUSD
      - LUBE
      - LUGA
      - LUMIA
      - LUMOS
      - LYD
      - LYNX
      - LYU
      - MAD
      - MAGIC
      - MAI
      - MANA
      - MANTLE
      - MASK
      - MATIC
      - MAVIA
      - MBASIS
      - MBOX
      - MBTC
      - MDL
      - ME
      - MELANIA
      - MEMEFI
      - MENDI
      - MET
      - METH
      - METIS
      - METRO
      - MEW
      - MGA
      - MGT
      - MIM
      - MINU
      - MIRA
      - MIVA
      - MKD
      - MMEV
      - MMK
      - MNT
      - MOCA
      - MODE
      - MOE
      - MOG
      - MON
      - MOODENG
      - MOONY
      - MOP
      - MORPHO
      - MOVE
      - MOVR
      - MPLX
      - MRU
      - MTBILL
      - MUBARAK
      - MUR
      - MUSD
      - MUSDC
      - MUSDT
      - MUTE
      - MVR
      - MWK
      - MX
      - MXN
      - MXV
      - MYR
      - MYX
      - MZN
      - NAD
      - NAVX
      - NEAR
      - NECT
      - NEX
      - NEXO
      - NFTL
      - NGN
      - NILE
      - NIO
      - NOICE
      - NOK
      - NON
      - NPR
      - NS
      - NSASTR
      - NUTS
      - NXPC
      - NZD
      - OBT
      - OL
      - OLAS
      - OM
      - OMR
      - ONDO
      - OP
      - ORA
      - ORBS
      - ORBSA
      - ORCA
      - ORDER
      - OS
      - OSAK
      - OUSDT
      - OVR
      - OX
      - PAB
      - PAXG
      - PEN
      - PENDLE
      - PENGU
      - PEOPLE
      - PEPE
      - PETH
      - PGK
      - PHP
      - PIXEL
      - PKR
      - PLN
      - PLS
      - PLSX
      - PLU
      - PNG
      - PNK
      - PNUT
      - POL
      - POOL
      - POPCAT
      - POPFISH
      - PRIME
      - PROMPT
      - PROVE
      - PUFETH
      - PUFF
      - PUMP
      - PUMPBTC
      - PUNK
      - PUSD
      - PXETH
      - PYG
      - PYR
      - PYTH
      - PYUSD
      - QAR
      - QI
      - QNT
      - QUICK
      - RAID
      - RAMEN
      - RAY
      - RBTC
      - RCO
      - RDNT
      - RECALL
      - RENDER
      - REQ
      - RETH
      - REX
      - REX34
      - RIF
      - RLUSD
      - RNDR
      - RON
      - RONIN
      - RONOUT
      - RSD
      - RSETH
      - RSR
      - RUB
      - RUSD
      - RWF
      - RZR
      - S
      - SAND
      - SAPIEN
      - SAR
      - SBD
      - SCBTC
      - SCR
      - SCROLL
      - SCUSD
      - SD
      - SDAI
      - SDEX
      - SDG
      - SEI
      - SEK
      - SFRAX
      - SFRXETH
      - SGD
      - SHADOW
      - SHIB
      - SHP
      - SHRAP
      - SIGN
      - SILO
      - SIS
      - SKATE
      - SKY
      - SKYDROME
      - SLL
      - SLP
      - SLR
      - SNX
      - SOGNI
      - SOIL
      - SOL
      - SOLVBTC
      - SOPH
      - SOS
      - SOV
      - SPA
      - SPACE
      - SPELL
      - SPK
      - SPLO
      - SPX
      - SRD
      - SSP
      - SSUI
      - STAKE
      - STAR
      - STBGT
      - STBL
      - STDOT
      - STEUR
      - STG
      - STGUSDC
      - STN
      - STONE
      - STS
      - STXTZ
      - SUI
      - SUIB
      - SUIGMA
      - SUITORO
      - SUITRUMP
      - SUIYAN
      - SUKU
      - SUPERFARM
      - SUPERSUI
      - SUPERVERSE
      - SURE
      - SURF
      - SUSDAI
      - SUSDE
      - SUSDP
      - SUSHI
      - SVC
      - SWAP
      - SWAPE
      - SWORD
      - SYP
      - SYRUP
      - SZL
      - TBTC
      - TEL
      - THB
      - THE
      - TIBBIR
      - TJS
      - TMT
      - TND
      - TON
      - TOP
      - TOSHI
      - TOWER
      - TOWNS
      - TRAC
      - TRADE
      - TRILLIONS
      - TROLL
      - TRUMP
      - TRX
      - TRY
      - TTD
      - TUSD
      - TWD
      - TWT
      - TZS
      - UAH
      - UGM
      - UGX
      - UNI
      - UNIBTC
      - UNIETH
      - UP
      - UPSUI
      - USD
      - USD0
      - USD1
      - USD2
      - USDA
      - USDAF
      - USDAI
      - USDB
      - USDBC
      - USDC
      - USDCARB
      - USDCB
      - USDCBS
      - USDCE
      - USDCEG
      - USDCET
      - USDCN
      - USDCPO
      - USDCSGATE
      - USDCX
      - USDD
      - USDE
      - USDF
      - USDG
      - USDGLO
      - USDH
      - USDHL
      - USDL
      - USDM
      - USDN
      - USDOVERNIGHTFI
      - USDP
      - USDQ
      - USDR
      - USDS
      - USDSTAR
      - USDT
      - USDT0
      - USDT0B
      - USDTB
      - USDTE
      - USDTG
      - USDTSTARGATE
      - USDU
      - USDV
      - USDX
      - USDXL
      - USDY
      - USDZ
      - USDt
      - USEFUL
      - USELESS
      - USH
      - USHETH
      - USN
      - USOL
      - USR
      - UST
      - USTAX
      - USTWH
      - USUALX
      - USX
      - USXC
      - UYI
      - UYU
      - UZS
      - VAI
      - VAN
      - VANA
      - VASTR
      - VC
      - VCHF
      - VEF
      - VELO
      - VES
      - VEUR
      - VFY
      - VIRTUAL
      - VLR
      - VND
      - VOXEL
      - VS
      - VSN
      - VSUI
      - VUV
      - VVV
      - W
      - WAGMI
      - WAGMIS
      - WAGNOGNO
      - WAGNOWETH
      - WAGNOWSTETH
      - WAL
      - WAPE
      - WATER
      - WBERA
      - WBNB
      - WBTC
      - WBTCN
      - WCRO
      - WEETH
      - WETH
      - WF
      - WFRAX
      - WG
      - WGLMR
      - WIF
      - WIMX
      - WISP
      - WLD
      - WLFI
      - WMETIS
      - WMNT
      - WMON
      - WMTX
      - WOO
      - WPLU
      - WRON
      - WRSETH
      - WSAFU
      - WSEI
      - WSLT
      - WSRUSD
      - WST
      - WSTASTR
      - WSTETH
      - WUF
      - WXDAI
      - WXPL
      - WXTZ
      - X34
      - XAF
      - XAI
      - XAUM
      - XAUT
      - XAUT0
      - XBG
      - XBTC
      - XCD
      - XCDOT
      - XCMANTA
      - XCN
      - XDAI
      - XDC
      - XDR
      - XLM
      - XOF
      - XPF
      - XPIN
      - XPL
      - XSGD
      - XSOLVBTC
      - XSU
      - XTZ
      - XU3O8
      - XUA
      - XUSD
      - XVS
      - YAPSUI
      - YER
      - "YES"
      - YGG
      - YU
      - YUD
      - YZY
      - Z2
      - ZAR
      - ZAT
      - ZBCN
      - ZBU
      - ZENGAR
      - ZENT
      - ZERO
      - ZF
      - ZK
      - ZKDOGE
      - ZMW
      - ZORA
      - ZRO
      - ZRX
      - ZWL
      type: string
    Discount:
      properties:
        type:
          type: string
        value:
          type: string
      required:
      - type
      - value
      type: object
    DocSetType:
      enum:
      - unknown
      - certificate_of_good_standing
      - certificate_of_incumbency
      - certificate_of_incorporation
      - business_license
      - commercial_register_extract
      - register_of_shareholders
      - memorandum_and_articles_of_association
      - internal_control_procedures
      - aml_policies
      - compliance_officer_details
      - ubo
      - passport
      - utility_bill
      - pep_declaration
      - sanctions_exposure
      - financial
      - aadhar_card
      - pan_card
      - national_id
      - other
      - driving_license
      type: string
    FeeDetail:
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyCode'
        discount:
          $ref: '#/components/schemas/Discount'
        discountValue:
          type: string
        fee:
          type: string
        isInclusive:
          type: boolean
        type:
          type: string
      required:
      - type
      - fee
      - currency
      - discountValue
      - isInclusive
      type: object
    GenderType:
      enum:
      - unknown
      - male
      - female
      type: string
    GetAssetConfigResponse:
      properties:
        assetName:
          type: string
        buyOrderRange:
          $ref: '#/components/schemas/OrderRange'
        chain:
          $ref: '#/components/schemas/CryptoChainCode'
        currency:
          $ref: '#/components/schemas/CurrencyCode'
        orderCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        precision:
          type: integer
        sellOrderRange:
          $ref: '#/components/schemas/OrderRange'
      required:
      - assetName
      - precision
      - currency
      - chain
      - orderCurrency
      type: object
    GetBeneficiaryWalletResponse:
      properties:
        address:
          $ref: '#/components/schemas/Address'
        country:
          $ref: '#/components/schemas/CountryCode'
        email:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        phone:
          type: string
        status:
          $ref: '#/components/schemas/KycStatus'
        uid:
          type: string
        userUid:
          type: string
        wallet:
          $ref: '#/components/schemas/Wallet'
      required:
      - uid
      - userUid
      - firstName
      - lastName
      - email
      - phone
      - country
      - status
      type: object
    GetCustomerUserKycResponse:
      properties:
        kycLevel:
          type: integer
        kycStatus:
          $ref: '#/components/schemas/KycStatus'
        providerStatus:
          type: string
      required:
      - kycLevel
      - kycStatus
      type: object
    GetOrderRampQuoteResponse:
      properties:
        dstAmount:
          type: string
        dstChain:
          $ref: '#/components/schemas/CryptoChainCode'
        dstCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        exchangeRate:
          type: string
        feeDetails:
          items:
            $ref: '#/components/schemas/FeeDetail'
          type: array
        orderType:
          $ref: '#/components/schemas/OrderType'
        paymentMode:
          $ref: '#/components/schemas/PaymentMode'
        srcAmount:
          type: string
        srcChain:
          $ref: '#/components/schemas/CryptoChainCode'
        srcCurrency:
          $ref: '#/components/schemas/CurrencyCode'
      required:
      - orderType
      - srcCurrency
      - srcChain
      - srcAmount
      - dstCurrency
      - dstChain
      - dstAmount
      - paymentMode
      - exchangeRate
      - feeDetails
      type: object
    GetRampOrderByExternalUidResponse:
      properties:
        orderList:
          items:
            $ref: '#/components/schemas/OrderSummary'
          type: array
      required:
      - orderList
      type: object
    GetRampOrderQuoteRequest:
      properties:
        dstChain:
          $ref: '#/components/schemas/CryptoChainCode'
        dstCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        orderType:
          $ref: '#/components/schemas/OrderType'
        paymentMode:
          $ref: '#/components/schemas/PaymentMode'
        srcAmount:
          type: string
        srcChain:
          $ref: '#/components/schemas/CryptoChainCode'
        srcCurrency:
          $ref: '#/components/schemas/CurrencyCode'
      required:
      - orderType
      - srcAmount
      - srcCurrency
      - srcChain
      - dstChain
      - dstCurrency
      type: object
    GetTransferOrderDetailResponse:
      properties:
        baseAmount:
          type: string
        baseCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        country:
          $ref: '#/components/schemas/CountryCode'
        createdAt:
          format: date-time
          type: string
        customer:
          $ref: '#/components/schemas/UserDetail'
        dstAmount:
          type: string
        dstChain:
          $ref: '#/components/schemas/CryptoChainCode'
        dstCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        orderType:
          $ref: '#/components/schemas/OrderType'
        payinMode:
          $ref: '#/components/schemas/PaymentMode'
        paymentStatus:
          $ref: '#/components/schemas/PaymentStatus'
        payoutMode:
          $ref: '#/components/schemas/PaymentMode'
        srcAmount:
          type: string
        srcChain:
          $ref: '#/components/schemas/CryptoChainCode'
        srcCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        status:
          $ref: '#/components/schemas/OrderStatus'
        transactionRef:
          items:
            type: string
          type: array
        uid:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - createdAt
      - updatedAt
      - uid
      - status
      - orderType
      - payinMode
      - payoutMode
      - paymentStatus
      - srcChain
      - srcCurrency
      - srcAmount
      - dstChain
      - dstCurrency
      - dstAmount
      - baseAmount
      - baseCurrency
      - country
      - transactionRef
      type: object
    GetTransferOrderQuoteResponse:
      properties:
        dstamount:
          type: string
        dstchain:
          $ref: '#/components/schemas/CryptoChainCode'
        dstcurrency:
          $ref: '#/components/schemas/CurrencyCode'
        exchangeRate:
          type: string
        srcamount:
          type: string
        srcchain:
          $ref: '#/components/schemas/CryptoChainCode'
        srccurrency:
          $ref: '#/components/schemas/CurrencyCode'
      required:
      - srccurrency
      - srcchain
      - srcamount
      - dstcurrency
      - dstchain
      - dstamount
      - exchangeRate
      type: object
    IdDoc:
      properties:
        backSideUrl:
          type: string
        docSetType:
          $ref: '#/components/schemas/DocSetType'
        documentId:
          type: string
        frontSideUrl:
          type: string
      required:
      - docSetType
      - documentId
      - frontSideUrl
      - backSideUrl
      type: object
    KycShareReq:
      properties:
        token:
          type: string
      required:
      - token
      type: object
    KycStatus:
      enum:
      - unknown
      - started
      - approved
      - declined
      - expired
      - abandoned
      - review
      - pending
      - resubmission
      - reset
      - level_changed
      type: string
    OrderRange:
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyCode'
        maxAmount:
          type: string
        minAmount:
          type: string
      required:
      - minAmount
      - maxAmount
      - currency
      type: object
    OrderStatus:
      enum:
      - unknown
      - created
      - processing
      - completed
      - partially_failed
      - failed
      - expired
      - canceled
      - payment_failed
      - payment_processing
      - blocked
      type: string
    OrderSummary:
      properties:
        baseAmount:
          type: string
        baseCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        createdAt:
          format: date-time
          type: string
        customer:
          $ref: '#/components/schemas/UserSummary'
        dstAmount:
          type: string
        dstChain:
          $ref: '#/components/schemas/CryptoChainCode'
        dstCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        orderType:
          $ref: '#/components/schemas/OrderType'
        partnerCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        partnerFee:
          type: string
        paymentStatus:
          $ref: '#/components/schemas/PaymentStatus'
        srcAmount:
          type: string
        srcChain:
          $ref: '#/components/schemas/CryptoChainCode'
        srcCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        status:
          $ref: '#/components/schemas/OrderStatus'
        uid:
          type: string
        updatedAt:
          format: date-time
          type: string
      required:
      - createdAt
      - updatedAt
      - uid
      - status
      - paymentStatus
      - orderType
      - srcChain
      - srcCurrency
      - srcAmount
      - dstChain
      - dstCurrency
      - dstAmount
      - baseCurrency
      - baseAmount
      - partnerCurrency
      - partnerFee
      type: object
    OrderType:
      enum:
      - unknown
      - buy
      - sell
      - swap
      - payment
      - refill
      - payout
      - cross_border
      - payroll
      - sendout
      type: string
    PaymentDetail:
      properties:
        transactionUid:
          type: string
      type: object
    PaymentMode:
      enum:
      - unknown
      - card
      - google_pay
      - apple_pay
      - sofort
      - trustly
      - bancontact
      - ideal
      - blik
      - open_banking
      - pix
      - sepa
      - pay_by_zen
      - revolut
      - n26
      - crypto
      - neteller
      - skrill
      - pay_by_bank
      - pay_id
      - faster_payments
      - interac
      - dutch_bank_transfer
      - upi
      - inr_bank_transfer
      - qr_ph
      - viet_qr
      - try_bank_transfer
      - aed_bank_transfer
      - idr_bank_transfer
      - cop_bank_transfer
      - spei
      - khipu
      - ars_bank_transfer
      - pen_bank_transfer
      - zar_bank_transfer
      - mpesa
      - ngn_bank_transfer
      - ach
      - wire
      - php_bank_transfer
      type: string
    PaymentNote:
      properties:
        note:
          type: string
      required:
      - note
      type: object
    PaymentStatus:
      enum:
      - unknown
      - created
      - pending
      - authorized
      - accepted
      - received
      - rejected
      - expired
      - canceled
      - failed
      - refunded
      - chargebacked
      - review
      - processing_failed
      type: string
    ProcessPaymentResponse:
      properties:
        bankTxnInfo:
          $ref: '#/components/schemas/BankTxnInfo'
        cryptoTxnInfo:
          $ref: '#/components/schemas/CryptoTxnInfo'
        notes:
          items:
            $ref: '#/components/schemas/PaymentNote'
          type: array
        qrTxnInfo:
          $ref: '#/components/schemas/QrTxnInfo'
        redirectUrl:
          type: string
        status:
          $ref: '#/components/schemas/PaymentStatus'
      required:
      - status
      - notes
      type: object
    QrTxnInfo:
      properties:
        image:
          type: string
        imageUrl:
          type: string
        payload:
          type: string
        referenceUid:
          type: string
      type: object
    RiskStatus:
      enum:
      - unknown
      - initiated
      - low
      - high
      - moderate
      - no_support
      type: string
    TransferOrderPartnerWebhookData:
      properties:
        createTime:
          format: date-time
          type: string
        dstAmount:
          type: string
        dstChain:
          $ref: '#/components/schemas/CryptoChainCode'
        dstCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        externalOrderUid:
          type: string
        orderStatus:
          $ref: '#/components/schemas/OrderStatus'
        orderType:
          $ref: '#/components/schemas/OrderType'
        orderUid:
          type: string
        payinMode:
          $ref: '#/components/schemas/PaymentMode'
        paymentStatus:
          $ref: '#/components/schemas/PaymentStatus'
        payoutMode:
          $ref: '#/components/schemas/PaymentMode'
        srcAmount:
          type: string
        srcChain:
          $ref: '#/components/schemas/CryptoChainCode'
        srcCurrency:
          $ref: '#/components/schemas/CurrencyCode'
        transactionHash:
          items:
            type: string
          type: array
        updateTime:
          format: date-time
          type: string
      required:
      - orderUid
      - createTime
      - updateTime
      - externalOrderUid
      - orderType
      - orderStatus
      - paymentStatus
      - payinMode
      - payoutMode
      - srcCurrency
      - srcChain
      - srcAmount
      - dstCurrency
      - dstChain
      - dstAmount
      - transactionHash
      type: object
    UpdatePaymentDetailRequest:
      properties:
        paymentDetail:
          $ref: '#/components/schemas/PaymentDetail'
        uid:
          description: Order UID
          type: string
      required:
      - uid
      - paymentDetail
      type: object
    UpdatePaymentDetailResponse:
      type: object
    UserDetail:
      properties:
        address:
          $ref: '#/components/schemas/Address'
        amlData:
          $ref: '#/components/schemas/AmlData'
        country:
          $ref: '#/components/schemas/CountryCode'
        createdAt:
          format: date-time
          type: string
        dateOfBirth:
          type: string
        email:
          type: string
        firstName:
          type: string
        gender:
          $ref: '#/components/schemas/GenderType'
        ipAddress:
          type: string
        lastName:
          type: string
        phone:
          type: string
        remarks:
          type: string
        riskStatus:
          $ref: '#/components/schemas/RiskStatus'
        status:
          $ref: '#/components/schemas/UserStatus'
        uid:
          type: string
      required:
      - createdAt
      - uid
      - dateOfBirth
      - status
      - firstName
      - lastName
      - email
      - phone
      - gender
      - country
      - ipAddress
      - remarks
      - riskStatus
      type: object
    UserStatus:
      enum:
      - unknown
      - active
      - inactive
      - blocked
      type: string
    UserSummary:
      description: Login
      properties:
        country:
          $ref: '#/components/schemas/CountryCode'
        createdAt:
          format: date-time
          type: string
        email:
          type: string
        firstName:
          type: string
        gender:
          $ref: '#/components/schemas/GenderType'
        lastName:
          type: string
        phone:
          type: string
        status:
          $ref: '#/components/schemas/UserStatus'
        uid:
          type: string
      required:
      - createdAt
      - uid
      - status
      - firstName
      - lastName
      - email
      - phone
      - gender
      - country
      type: object
    UserType:
      enum:
      - individual
      - company
      type: string
    Wallet:
      properties:
        bankAccountDetail:
          $ref: '#/components/schemas/BankAccountDetail'
        cryptoAccountDetail:
          $ref: '#/components/schemas/CryptoAccountDetail'
        uid:
          type: string
      required:
      - uid
      type: object
    WalletCustodyType:
      enum:
      - unknown
      - hosted
      - unhosted
      type: string
    WalletInfo:
      properties:
        address:
          type: string
        associateType:
          $ref: '#/components/schemas/AssociateType'
        bankAccountDetail:
          $ref: '#/components/schemas/BankAccountDetail'
        crytpoAccountDetail:
          $ref: '#/components/schemas/CryptoAccountDetail'
        custodyType:
          $ref: '#/components/schemas/WalletCustodyType'
        name:
          type: string
      required:
      - address
      - custodyType
      type: object
    WalletKycStatusChangeWebhook:
      properties:
        bankAccountDetail:
          $ref: '#/components/schemas/BankAccountDetail'
        cryptoAccountDetail:
          $ref: '#/components/schemas/CryptoAccountDetail'
        status:
          $ref: '#/components/schemas/KycStatus'
        walletUid:
          type: string
      required:
      - walletUid
      - status
      type: object
    Webhook:
      properties:
        createdAt:
          format: date-time
          type: string
        eventType:
          type: string
        eventUid:
          type: string
        payload:
          $ref: '#/components/schemas/WalletKycStatusChangeWebhook'
      required:
      - createdAt
      - eventUid
      - eventType
      - payload
      type: object
