> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onswitch.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Get quote

> Get a real-time quote for an offramp transaction including exchange rate, settlement time, and payment rail information.



## OpenAPI

````yaml /openapi.json post /offramp/quote
openapi: 3.0.3
info:
  title: Receive stablecoin. Get fiat in seconds.
  description: Stablecoin collection and settlement layer.
  version: 1.0.0
  contact:
    name: Switch Labs
    email: contact@onswitch.xyz
  license:
    name: Proprietary
  x-tagGroups:
    - name: Institution
      tags:
        - Institution
    - name: Miscellaneous
      tags:
        - Miscellaneous
    - name: History
      tags:
        - History
    - name: Payment
      tags:
        - Payment
    - name: Webhook
      tags:
        - Webhook
    - name: Offramp
      tags:
        - Offramp
    - name: Onramp
      tags:
        - Onramp
    - name: Swap
      tags:
        - Swap
    - name: Developer
      tags:
        - Developer
    - name: Wallet
      tags:
        - Wallet
    - name: Compliance
      tags:
        - Compliance
servers:
  - url: https://api.onswitch.xyz
    description: Production server
security: []
tags:
  - name: Institution
    description: Institution discovery and bank or payment-rail lookup
  - name: Miscellaneous
    description: Requirements, coverage, assets, confirmation, and transaction status
  - name: History
    description: Payment history and summaries for the partner's account
  - name: Payment
    description: Saved payment beneficiaries, payment confirmation, and status
  - name: Webhook
    description: Webhook delivery history and callback resend
  - name: Offramp
    description: Offramp transaction endpoints for converting stablecoins to local currency
  - name: Onramp
    description: Onramp transaction endpoints for converting local currency to stablecoins
  - name: Swap
    description: Swap endpoints for exchanging between different stablecoin assets
  - name: Developer
    description: Developer fee balance and withdrawal
  - name: Wallet
    description: >-
      Wallet endpoints for creating and managing chain abstracted stablecoin
      wallets
  - name: Compliance
    description: AML compliance screening for PEP, sanctions, and other regulatory reasons
paths:
  /offramp/quote:
    post:
      tags:
        - Offramp
      summary: Get quote
      description: >-
        Get a real-time quote for an offramp transaction including exchange
        rate, settlement time, and payment rail information.
      operationId: getOfframpQuote
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - amount
                - country
                - asset
              properties:
                amount:
                  type: number
                  minimum: 0
                wallet:
                  type: string
                  description: Wallet to send the deposit amount from
                country:
                  $ref: '#/components/schemas/CountryCode'
                asset:
                  $ref: '#/components/schemas/AssetCode'
                currency:
                  allOf:
                    - $ref: '#/components/schemas/CurrencyCode'
                  description: Currency code (optional).
                channel:
                  allOf:
                    - $ref: '#/components/schemas/TransferChannel'
                  description: >-
                    Optional transfer channel. If not specified, defaults to the
                    country's default channel.
                exact_output:
                  type: boolean
                  default: false
                developer_fee:
                  type: number
                  description: Optional developer fee percentage (0-100)
                  minimum: 0
                  maximum: 100
                developer_recipient:
                  type: string
                  description: Optional wallet address to receive developer fee.
            example:
              amount: 100
              country: NG
              asset: base:usdc
              currency: NGN
              channel: BANK
              exact_output: false
              developer_fee: 0.5
              developer_recipient: '0x8F3aC91d2B741E59f064E9053a4d2E8F1c0b6D93a'
      responses:
        '200':
          description: Successfully retrieved offramp quote
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - message
                  - timestamp
                  - data
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  data:
                    allOf:
                      - $ref: '#/components/schemas/PaymentTransactionData'
                    nullable: true
              example:
                success: true
                message: Quote fetched successfully
                timestamp: '2026-04-18T14:22:08.631Z'
                data:
                  rate: 1500.5
                  expiry: '2026-04-18T14:27:15.000Z'
                  settlement: Same day
                  channel: BANK
                  fee:
                    total: 5
                    platform: 4.5
                    developer: 0.5
                    currency: USDC
                  fee_inclusive: true
                  source:
                    amount: 100
                    currency: USDC
                  destination:
                    amount: 150050
                    currency: NGN
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
        - ServiceKey: []
components:
  schemas:
    CountryCode:
      type: string
      enum:
        - AD
        - AE
        - AF
        - AG
        - AI
        - AL
        - AM
        - EU
        - AN
        - AO
        - AQ
        - AR
        - AS
        - AT
        - AU
        - AW
        - AZ
        - BA
        - BB
        - BD
        - BE
        - BF
        - BG
        - BH
        - BI
        - BJ
        - BM
        - BN
        - BO
        - BR
        - BS
        - BT
        - BV
        - BW
        - BY
        - BZ
        - CA
        - CC
        - CD
        - CF
        - CG
        - CH
        - CI
        - CK
        - CL
        - CM
        - CN
        - CO
        - CR
        - CU
        - CV
        - 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
        - GZ
        - 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
        - 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
        - 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
        - YE
        - YT
        - ZA
        - ZM
        - ZW
    AssetCode:
      type: string
      enum:
        - base:usdc
        - solana:usdc
        - solana:usdt
        - ethereum:usdc
        - ethereum:usdt
        - polygon:usdc
        - polygon:usdt
        - bsc:usdc
        - bsc:usdt
        - arbitrum:usdc
        - optimism:usdc
        - gnosis:usdc
        - gnosis:usdt
        - arbitrum:usdt
        - avalanche:usdc
        - monad:usdc
        - optimism:usdt
        - monad:usdt
        - plasma:usdt
        - avalanche:usdt
        - tron:usdt
        - linea:usdt
        - mantle:usdt
        - hyperevm:usdt
        - berachain:usdt
        - linea:usdc
        - berachain:usdc
        - sonic:usdc
        - base:cngn
        - bsc:cngn
    CurrencyCode:
      type: string
      enum:
        - AED
        - AFN
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BIF
        - BMD
        - BND
        - BOB
        - BRL
        - BSD
        - BTN
        - BWP
        - BYN
        - BZD
        - CAD
        - CDF
        - CHF
        - CLP
        - CNY
        - COP
        - CRC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ERN
        - ETB
        - EUR
        - FJD
        - FKP
        - FOK
        - GBP
        - GEL
        - GGP
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HRK
        - HTG
        - HUF
        - IDR
        - ILS
        - IMP
        - INR
        - IQD
        - IRR
        - ISK
        - JEP
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KID
        - KMF
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LRD
        - LSL
        - LYD
        - MAD
        - MDL
        - MGA
        - MKD
        - MMK
        - MNT
        - MOP
        - MRU
        - MUR
        - MVR
        - MWK
        - MXN
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SDG
        - SEK
        - SGD
        - SHP
        - SLL
        - SOS
        - SRD
        - SSP
        - STN
        - SYP
        - SZL
        - THB
        - TJS
        - TMT
        - TND
        - TOP
        - TRY
        - TTD
        - TVD
        - TWD
        - TZS
        - UAH
        - UGX
        - USD
        - UYU
        - UZS
        - VES
        - VND
        - VUV
        - WST
        - XAF
        - XCD
        - XDR
        - XOF
        - XPF
        - YER
        - ZAR
        - ZMW
        - ZWL
    TransferChannel:
      type: string
      enum:
        - BANK
        - BLOCKCHAIN
        - SWIFT
        - SEPA
        - SEPA_EUR
        - WIRE
        - ACH
        - DOMESTIC_GBP
        - MOBILEMONEY
        - ALIPAY
        - WECHATPAY
    PaymentTransactionData:
      type: object
      required:
        - status
        - type
        - reference
        - beneficiary
        - rate
        - source
        - destination
        - deposit
        - meta
        - created_at
        - updated_at
      properties:
        status:
          type: string
          enum:
            - AWAITING_DEPOSIT
            - PROCESSING
            - COMPLETED
            - FAILED
        type:
          type: string
          enum:
            - OFFRAMP
            - ONRAMP
            - SWAP
            - WALLET
        reference:
          type: string
          format: uuid
        beneficiary:
          type: string
        rate:
          type: number
          nullable: true
        developer_fee:
          $ref: '#/components/schemas/PaymentDeveloperFee'
        source:
          $ref: '#/components/schemas/PaymentTransactionAmountDetail'
        destination:
          $ref: '#/components/schemas/PaymentTransactionAmountDetail'
        deposit:
          $ref: '#/components/schemas/PaymentTransactionDeposit'
        meta:
          $ref: '#/components/schemas/PaymentTransactionMeta'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    PaymentDeveloperFee:
      type: object
      required:
        - amount
        - amount_usd
        - currency
        - network
      properties:
        amount:
          type: number
        amount_usd:
          type: number
        currency:
          type: string
        network:
          type: string
        recipient:
          type: string
          nullable: true
    PaymentTransactionAmountDetail:
      type: object
      required:
        - amount
        - amount_usd
        - network
        - currency
      properties:
        amount:
          type: number
        amount_usd:
          type: number
        network:
          type: string
        currency:
          type: string
    PaymentTransactionDeposit:
      oneOf:
        - $ref: '#/components/schemas/PaymentTransactionDepositCrypto'
        - $ref: '#/components/schemas/PaymentTransactionDepositBank'
      description: Payment deposit details
    PaymentTransactionMeta:
      type: object
      description: Metadata may be an empty object until a payment session is available.
      additionalProperties: true
      properties:
        sender:
          type: object
          nullable: true
          additionalProperties: true
        session_id:
          type: string
          nullable: true
        hash:
          type: string
          nullable: true
        explorer_url:
          type: string
          nullable: true
          format: uri
    PaymentTransactionDepositCrypto:
      type: object
      required:
        - amount
        - address
        - asset
        - note
      properties:
        amount:
          type: number
        address:
          type: string
        asset:
          type: string
        note:
          type: array
          items:
            type: string
    PaymentTransactionDepositBank:
      type: object
      required:
        - amount
        - asset
        - note
        - account_number
        - account_name
        - bank_code
        - bank_name
        - expires_at
      properties:
        amount:
          type: number
        expires_at:
          type: string
          format: date-time
        account_number:
          type: string
        account_name:
          type: string
        bank_code:
          type: string
        bank_name:
          type: string
        asset:
          type: string
        note:
          type: array
          items:
            type: string
  responses:
    BadRequest:
      description: Bad request - Invalid input parameters or validation error
      content:
        application/json:
          schema:
            type: object
            required:
              - success
              - message
              - timestamp
            properties:
              success:
                type: boolean
                example: false
              message:
                type: string
                description: Error message describing what went wrong
              timestamp:
                type: string
                format: date-time
              data:
                description: Additional error details
                nullable: true
          example:
            success: false
            message: amount must be greater than 0 for the selected corridor
            timestamp: '2026-04-18T14:22:08.631Z'
            data: null
  securitySchemes:
    ServiceKey:
      type: apiKey
      in: header
      name: x-service-key
      description: Service key for API authentication

````