Hifi Offramp API

Offramp endpoints

Operations 5

POST /v2/offramps Create an offramp
GET /v2/offramps List all offramps
GET /v2/offramps/{transferId} Retrieve an offramp
POST /v2/offramps/{transferId}/quote/accept Accept an offramp quote
GET /v2/offramps/rates Retrieve an offramp rate

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hifi-offramp-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

hifi-offramp-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Hifi Account Offramp API
  version: 2.0.0
  description: API documentation for Hifi
servers:
- url: https://production.hifibridge.com
  description: Production server
- url: https://sandbox.hifibridge.com
  description: Sandbox server
security:
- bearerAuth: []
tags:
- name: Offramp
  description: Offramp endpoints
paths:
  /v2/offramps:
    post:
      summary: Create an offramp
      description: "\nAn offramp facilitates the conversion of crypto to fiat. Once the crypto transfer is confirmed, HIFI will deposit the converted fiat into the receiving user’s bank account. \n\nThere are two types of offramp:\n\n* **Quote-based offramp**: This type of offramp first returns the conversion rate quote based on the best market rate, which you can accept through the [Accept an offramp quote](https://docs.hifibridge.com/api-reference/offramp/accept-an-offramp-quote) endpoint to initiate the offramp.  \n To learn more about quote-based offramps, click [here](https://docs.hifibridge.com/guides/transfers/onramps/usd-usdc).\n\n* **Non-quote-based offramp**: This type of offramp will be initiated immediately upon creating an offramp.\n"
      tags:
      - Offramp
      requestBody:
        $ref: '#/components/requestBodies/CreateOfframpBody'
      responses:
        '200':
          $ref: '#/components/responses/CryptoToFiatTransferResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
    get:
      summary: List all offramps
      description: 'Returns a list of offramps associated with a user under your organization. The offramps are returned sorted by creation date, with the most recent offramps appearing first.

        '
      tags:
      - Offramp
      parameters:
      - $ref: '#/components/parameters/UserIdOptionalParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/CreatedBeforeParameter'
      - $ref: '#/components/parameters/CreatedAfterParameter'
      responses:
        '200':
          $ref: '#/components/responses/CryptoToFiatAllRecordsResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/offramps/{transferId}:
    get:
      summary: Retrieve an offramp
      description: Retrieves an offramp.
      tags:
      - Offramp
      parameters:
      - $ref: '#/components/parameters/OfframpRecordIDPathParameter'
      responses:
        '200':
          $ref: '#/components/responses/CryptoToFiatRecordResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/offramps/{transferId}/quote/accept:
    post:
      summary: Accept an offramp quote
      description: 'Accept and initiate a quote-based offramp.


        For example, an offramp from crypto currency `usdc` to fiat currency `brl` is quote-based so its initial status will be `OPEN_QUOTE`. After reviewing the offramp conversion rate quote information, you can accept it to initialize the offramp.

        '
      tags:
      - Offramp
      parameters:
      - $ref: '#/components/parameters/OfframpRecordIDPathParameter'
      responses:
        '200':
          $ref: '#/components/responses/CryptoToFiatAcceptQuoteResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v2/offramps/rates:
    get:
      summary: Retrieve an offramp rate
      description: 'Offramp rates are estimated rates for offramp conversions from different cryptocurrencies on different networks into all the different fiat currencies.

        '
      tags:
      - Offramp
      parameters:
      - $ref: '#/components/parameters/FromCryptoCurrencyParameter'
      - $ref: '#/components/parameters/ToFiatCurrencyParameter'
      responses:
        '200':
          $ref: '#/components/responses/CryptoToFiatConversionRateResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
components:
  examples:
    OfframpObjectListExample:
      summary: Offramp Object List
      value:
        count: 1
        records:
        - transferType: OFFRAMP
          transferDetails:
            id: 173c1e89-7bbd-4352-9e5d-73807681510d
            requestId: 201ca31d-700f-4c76-ac4b-961623acbb79
            createdAt: '2025-02-03T16:12:04.331652+00:00'
            updatedAt: '2025-02-03T16:12:08.732+00:00'
            status: COMPLETED
            failedReason: null
            source:
              userId: 7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee
              chain: POLYGON
              currency: usdc
              amount: 10
              walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D6'
              user:
                email: john.doe@hifibridge.com
                firstName: John
                lastName: Doe
                businessName: null
            destination:
              userId: 7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee
              amount: 0
              currency: usd
              wireMessage: Wire message
              achReference: ACH reference
              paymentReference: Payment reference
              user:
                email: john.doe@hifibridge.com
                firstName: John
                lastName: Doe
                businessName: null
              accountId: 12c1c496-8f57-41a1-8292-dbe6547791ce
            receipt:
              transactionHash: null
              paymentTracking:
                imad: 20250827SIM14AE0135526
                omad: 20250827SIM22390135526
                paymentRail: wire
            developerFee:
              id: 1c3d24c1-6136-574c-a647-e7eb6a9fb6ed
              transactionHash: null
              fees:
              - type: PERCENTAGE
                value: '0.0005'
                amount: '0.000515'
                walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7'
              - type: FLAT
                value: '0.01'
                amount: '0.010000'
                walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7'
            quoteInformation:
              sendGross:
                amount: '10'
                currency: usdc
              sendNet:
                amount: '10'
                currency: usdc
              receiveGross:
                amount: '10'
                currency: usd
              receiveNet:
                amount: '10'
                currency: usd
              rate: '1'
            depositInformation: []
    OfframpObjectUsdCompleteExample:
      summary: Offramp Object (USD - COMPLETED)
      value:
        transferType: OFFRAMP
        transferDetails:
          id: 173c1e89-7bbd-4352-9e5d-73807681510d
          requestId: 201ca31d-700f-4c76-ac4b-961623acbb79
          createdAt: '2025-02-03T16:12:04.331652+00:00'
          updatedAt: '2025-02-03T16:12:08.732+00:00'
          status: COMPLETED
          failedReason: null
          source:
            userId: 7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee
            chain: POLYGON
            currency: usdc
            amount: 10
            walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D6'
            user:
              email: john.doe@hifibridge.com
              firstName: John
              lastName: Doe
              businessName: null
          destination:
            userId: 7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee
            amount: 0
            currency: usd
            wireMessage: Wire message
            achReference: ACH reference
            paymentReference: Payment reference
            user:
              email: john.doe@hifibridge.com
              firstName: John
              lastName: Doe
              businessName: null
            accountId: 12c1c496-8f57-41a1-8292-dbe6547791ce
          receipt:
            transactionHash: null
            paymentTracking:
              imad: 20250827SIM14AE0135526
              omad: 20250827SIM22390135526
              paymentRail: wire
          developerFee:
            id: 1c3d24c1-6136-574c-a647-e7eb6a9fb6ed
            transactionHash: null
            fees:
            - type: PERCENTAGE
              value: '0.0005'
              amount: '0.000515'
              walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7'
            - type: FLAT
              value: '0.01'
              amount: '0.010000'
              walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7'
          quoteInformation:
            sendGross:
              amount: '10'
              currency: usdc
            sendNet:
              amount: '10'
              currency: usdc
            receiveGross:
              amount: '10'
              currency: usd
            receiveNet:
              amount: '10'
              currency: usd
            rate: '1'
          depositInformation: []
    OfframpObjectUsdCryptoInitiatedExample:
      summary: Offramp Object (USD - CRYPTO_INITIATED)
      value:
        transferType: OFFRAMP
        transferDetails:
          id: 173c1e89-7bbd-4352-9e5d-73807681510d
          requestId: 201ca31d-700f-4c76-ac4b-961623acbb79
          createdAt: '2025-02-03T16:12:04.331652+00:00'
          updatedAt: '2025-02-03T16:12:08.732+00:00'
          status: CRYPTO_INITIATED
          failedReason: null
          source:
            userId: 7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee
            chain: POLYGON
            currency: usdc
            amount: 10
            walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D6'
            user:
              email: john.doe@hifibridge.com
              firstName: John
              lastName: Doe
              businessName: null
          destination:
            userId: 7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee
            amount: 0
            currency: usd
            user:
              email: john.doe@hifibridge.com
              firstName: John
              lastName: Doe
              businessName: null
            accountId: 12c1c496-8f57-41a1-8292-dbe6547791ce
          receipt:
            transactionHash: null
            paymentTracking: null
          developerFee:
            id: 1c3d24c1-6136-574c-a647-e7eb6a9fb6ed
            transactionHash: null
            fees:
            - type: PERCENTAGE
              value: '0.0005'
              amount: '0.000515'
              walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7'
            - type: FLAT
              value: '0.01'
              amount: '0.010000'
              walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7'
          quoteInformation:
            sendGross:
              amount: '10'
              currency: usdc
            sendNet:
              amount: '10'
              currency: usdc
            receiveGross:
              amount: '10'
              currency: usd
            receiveNet:
              amount: '10'
              currency: usd
            rate: '1'
          depositInformation: []
    OfframpObjectUsdOpenQuoteExample:
      summary: Offramp Object (USD - OPEN_QUOTE)
      value:
        transferType: OFFRAMP
        transferDetails:
          id: 173c1e89-7bbd-4352-9e5d-73807681510d
          requestId: 201ca31d-700f-4c76-ac4b-961623acbb79
          createdAt: '2025-02-03T16:12:04.331652+00:00'
          updatedAt: '2025-02-03T16:12:08.732+00:00'
          status: OPEN_QUOTE
          failedReason: null
          source:
            userId: 7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee
            chain: POLYGON
            currency: usdc
            amount: 10
            walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D6'
            user:
              email: john.doe@hifibridge.com
              firstName: John
              lastName: Doe
              businessName: null
          destination:
            userId: 7d54a7a7-dac3-4313-8b09-27fa4b7fd1ee
            amount: 0
            currency: usd
            wireMessage: Wire message
            achReference: ACH reference
            paymentReference: Payment reference
            user:
              email: john.doe@hifibridge.com
              firstName: John
              lastName: Doe
              businessName: null
            accountId: 12c1c496-8f57-41a1-8292-dbe6547791ce
          receipt:
            transactionHash: null
            paymentTracking: null
          developerFee:
            id: 1c3d24c1-6136-574c-a647-e7eb6a9fb6ed
            transactionHash: null
            fees:
            - type: PERCENTAGE
              value: '0.0005'
              amount: '0.000515'
              walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7'
            - type: FLAT
              value: '0.01'
              amount: '0.010000'
              walletAddress: '0x366B759bAA089Fa57a08edd3F2E028E86b97f8D7'
          quoteInformation:
            sendGross:
              amount: '10'
              currency: usdc
            sendNet:
              amount: '10'
              currency: usdc
            receiveGross:
              amount: '10'
              currency: usd
            receiveNet:
              amount: '10'
              currency: usd
            rate: '1'
          depositInformation: []
  schemas:
    CreateMexicoGlobalNetworkOfframp:
      type: object
      title: Offramp Global Network (MXN)
      properties:
        requestId:
          type: string
          description: unique identifier for the request (recommend using uuid v4)
        purposeOfPayment:
          type: string
          enum:
          - invoice_payments
          - payment_for_services
          - payment_for_software
          - payment_for_imported_goods
          - travel_services
          - transfer_to_own_account
          - repayment_of_loans
          - payroll
          - payment_of_property_rental
          - information_service_charges
          - advertising_and_public_relations
          - royalty_and_ip_fees
          - financial_service_fees
          - advisory_and_consulting_fees
          - representative_office_expenses
          - tax_payment
          - transportation_fees
          - construction_costs
          - insurance_premium
          - offline_goods_trade
          - insurance_claims
          - remittance_to_family_or_friends
          - education_expenses
          - medical_treatment
          - donations
          - mutual_fund_investment
          - currency_exchange
          - advance_payment_for_goods
          - merchant_settlement
          - repatriation_fund_settlement
        description:
          type: string
        source:
          type: object
          description: offramp source
          $ref: '#/components/schemas/OfframpSource'
        destination:
          type: object
          description: offramp destination
          $ref: '#/components/schemas/MxnOfframpDestination'
        fee:
          type:
          - object
          - 'null'
          description: custom offramp fee, omit if no fee is charged
          allOf:
          - $ref: '#/components/schemas/OfframpFee'
      required:
      - requestId
      - source
      - destination
    CreateOfframp:
      type: object
      title: Offramp
      properties:
        requestId:
          type: string
          description: unique identifier for the request (recommend using uuid v4)
        purposeOfPayment:
          type: string
          enum:
          - gift
          - bills
          - groceries
          - travel
          - health
          - entertainment
          - housing
          - school-fees
          - other
        supportingDocumentType:
          type: string
          enum:
          - billing_document
          - order_document
          - shipment_document
          - regulatory_document
          - transport_document
          - other_document
          description: 'The type of supporting document, required for swift payment.

            '
        supportingDocumentUrl:
          type: string
          description: 'The URL of the supporting document, required for swift payment.

            '
        description:
          type: string
          description: Memo code or description for usd offramp.
        source:
          type: object
          description: offramp source
          $ref: '#/components/schemas/OfframpSource'
        destination:
          type: object
          description: offramp destination
          $ref: '#/components/schemas/OfframpDestination'
        developerFee:
          type:
          - array
          - 'null'
          description: custom offramp fees, omit if no fees are charged
          items:
            $ref: '#/components/schemas/DeveloperFee'
      required:
      - requestId
      - source
      - destination
    OfframpDepositInstructionsList:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            format: uuid
          fromAddress:
            type: string
          toAddress:
            type: string
          currency:
            type: string
          contractAddress:
            type: string
          rawAmount:
            type: string
          amount:
            type: number
          chain:
            type: string
          collected:
            type: boolean
          collectable:
            type: boolean
          expiresAt:
            type: string
            format: date-time
          transactionHash:
            type:
            - string
            - 'null'
    OfframpObject:
      type: object
      properties:
        transferType:
          type: string
        transferDetails:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: unique identifier for the offramp
            requestId:
              type: string
              format: uuid
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
            status:
              $ref: '#/components/schemas/OfframpStatusEnum'
            failedReason:
              type: string
            source:
              type: object
              properties:
                userId:
                  type: string
                  format: uuid
                chain:
                  type: string
                currency:
                  type: string
                amount:
                  type: number
                walletAddress:
                  type: string
                user:
                  type: object
                  properties:
                    email:
                      type: string
                    lastName:
                      type:
                      - string
                      - 'null'
                    firstName:
                      type:
                      - string
                      - 'null'
                    businessName:
                      type:
                      - string
                      - 'null'
            destination:
              type: object
              properties:
                userId:
                  type: string
                  format: uuid
                amount:
                  type: number
                currency:
                  type: string
                user:
                  type: object
                  properties:
                    email:
                      type: string
                    lastName:
                      type:
                      - string
                      - 'null'
                    firstName:
                      type:
                      - string
                      - 'null'
                    businessName:
                      type:
                      - string
                      - 'null'
                accountId:
                  type: string
                  format: uuid
                  description: destination offramp account ID
                sameDayAch:
                  type: boolean
                  default: false
                  description: same day ACH offramp for a $1 additional fee
            receipt:
              type: object
              properties:
                transactionHash:
                  type:
                  - string
                  - 'null'
                paymentTracking:
                  $ref: '#/components/schemas/OfframpPaymentTrackingObject'
            developerFee:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: unique identifier for the developer fee record
                transactionHash:
                  type:
                  - string
                  - 'null'
                  description: transaction hash of the fee transfer
                fees:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - PERCENTAGE
                        - FLAT
                      value:
                        type: string
                        description: fee amount as string, for percentage represents decimal (e.g. "0.0005" = 0.05%)
                      amount:
                        type: string
                        description: actual fee amount charged
                      walletAddress:
                        type: string
                        description: wallet address receiving the fee
                    required:
                    - type
                    - value
                    - amount
                    - walletAddress
            quoteInformation:
              type: object
              properties:
                sendGross:
                  type: object
                  properties:
                    amount:
                      type: string
                    currency:
                      type: string
                sendNet:
                  type: object
                  properties:
                    amount:
                      type: string
                    currency:
                      type: string
                receiveGross:
                  type: object
                  properties:
                    amount:
                      type: string
                    currency:
                      type: string
                receiveNet:
                  type: object
                  properties:
                    amount:
                      type: string
                    currency:
                      type: string
                rate:
                  type: string
                expiresAt:
                  type: string
                  format: date-time
            depositInformation:
              $ref: '#/components/schemas/OfframpDepositInstructionsList'
    OfframpRecordObject:
      $ref: '#/components/schemas/OfframpObject'
    OfframpPaymentTrackingObject:
      type: object
      properties:
        fedBatchId:
          type: string
          description: Fedwire or ACH batch ID used for settlement tracking
        imad:
          type: string
          description: Input Messaging Accountability Data. A combination of a date, source identifier, and sequence number assigned to a Fedwire message when it is processed by the Federal Reserve Bank Funds Transfer application. Unique to the payment.
        omad:
          type: string
          description: Output Messaging Accountability Data. A combination of a date, destination identifier, and sequence number assigned to a Fedwire message when it is processed by the Federal Reserve Bank Funds Transfer application.
        traceNumber:
          type: string
          description: Unique ACH trace number for the transaction
        paymentRail:
          type: string
          enum:
          - wire
          - ach
          - rtp
          - swift
    UsdOfframpDestination:
      type: object
      properties:
        amount:
          type: number
          format: float
          minimum: 0
          description: amount of fiat currency to receive
        currency:
          type: string
          enum:
          - usd
          description: fiat currency
        accountId:
          type: string
          format: uuid
          description: account that is receiving the fiat currency
        userId:
          type: string
          format: uuid
          description: user who is receiving the fiat
        sameDayAch:
          type: boolean
          default: false
          description: same day ACH offramp for a $1 additional fee
        achReference:
          type: string
          description: "a reference message to include when offramping through ACH transfer. \n\nit can be at most 10 characters, A-Z, a-z, 0-9, and spaces. Note that as of `2024-08-06`, setting this field is only supported for certain developers while we work on rolling out general support for everyone.\n"
        wireMessage:
          type: string
          description: "a message to include when offramping through WIRE transfer. \n\nit can be at most 4 lines, each with a max length of 35 char according to the Fedwire standard.\n"
        swiftReference:
          type: string
          description: "A reference message to include when offramping through SWIFT transfer that is mainly use to indicate the purpose of payment. \n\nit can be at most 12 characters.\n"
      required:
      - currency
      - accountId
    OfframpAcceptedQuoteObject:
      $ref: '#/components/schemas/OfframpObject'
    CreateHongKongGlobalNetworkOfframp:
      type: object
      title: Offramp Global Network (HKD)
      properties:
        requestId:
          type: string
          description: unique identifier for the request (recommend using uuid v4)
        purposeOfPayment:
          type: string
          enum:
          - invoice_payments
          - payment_for_services
          - payment_for_software
          - payment_for_imported_goods
          - travel_services
          - transfer_to_own_account
          - repayment_of_loans
          - payroll
          - payment_of_property_rental
          - information_service_charges
          - advertising_and_public_relations
          - royalty_and_ip_fees
          - financial_service_fees
          - advisory_and_consulting_fees
          - representative_office_expenses
          - tax_payment
          - transportation_fees
          - construction_costs
          - insurance_premium
          - offline_goods_trade
          - insurance_claims
          - remittance_to_family_or_friends
          - education_expenses
          - medical_treatment
          - donations
          - mutual_fund_investment
          - currency_exchange
          - advance_payment_for_goods
          - merchant_settlement
          - repatriation_fund_settlement
        description:
          type: string
        source:
          type: object
          description: offramp source
          $ref: '#/components/schemas/OfframpSource'
        destination:
          type: object
          description: offramp destination
          $ref: '#/components/schemas/HongKongOfframpDestination'
        fee:
          type:
          - object
          - 'null'
          description: custom offramp fee, omit if no fee is charged
          allOf:
          - $ref: '#/components/schemas/OfframpFee'
      required:
      - requestId
      - source
      - destination
    CreateArsOfframp:
      type: object
      title: Offramp (ARS)
      properties:
        requestId:
          type: string
          description: unique identifier for the request (recommend using uuid v4)
        purposeOfPayment:
          type: string
          enum:
          - gift
          - bills
          - groceries
          - travel
          - health
          - entertainment
          - housing
          - school-fees
          - other
        description:
          type: string
        source:
          type: object
          description: offramp source
          $ref: '#/components/schemas/OfframpSource'
        destination:
          type: object
          description: offramp destination
          $ref: '#/components/schemas/ArsOfframpDestination'
        fee:
          type:
          - object
          - 'null'
          description: custom offramp fee, omit if no fee is charged
          allOf:
          - $ref: '#/components/schemas/OfframpFee'
      required:
      - requestId
      - source
      - destination
    BrlOfframpDestination:
      type: object
      properties:
        amount:
          type: number
          format: float
          minimum: 0
          description: amount of fiat currency to receive
        currency:
          type: string
          enum:
          - brl
          description: fiat currency
        accountId:
          type: string
          format: uuid
          description: account that is receiving the fiat currency
        userId:
          type: string
          format: uuid
          description: user who is receiving the fiat
        paymentReference:
          type: string
          description: 'a reference message to include when offramping.

            '
      required:
      - userId
      - currency
      - accountId
    OfframpSource:
      type: object
      properties:
        amount:
          type: number
          format: float
          minimum: 0
          description: amount of crypto currency to send
        currency:
          type: string
          enum:
          - usdc
          - usdt
          - usdHifi
          description: 'crypto currency (note: `usdHifi` is only available in sandbox to simulate token movement)

            '
        chain:
          type: string
          enum:
          - POLYGON
          - ETHEREUM
          - SOLANA
          - BASE
        userId:
          type: string
          format: uuid
          description: user who is sending the crypto, required if `externalWalletId` is not provided
        externalWalletId:
          type: string
          format: uuid
          description: external wallet id who is sending the crypto, required if `userId` is not provided
      required:
      - currency
      - chain
    OfframpConversionRateObject:
      type: object
      properties:
        fromCurrency:
          type: string
          enum:
          - usdc
          description: source currency
        toCurrency:
          type: string
          enum:
          - usd
          - brl
          - mxn
          - ugx
          - ngn
          - kes
          - tzs
          - mwk
          - xaf
          - bwp
          - zar
          - usd-hka
          - usd-chn
          - cny
          - hkd
          - sgd
          - usd-sgp
          description: target currency
        conversionRate:
          type: string
        conversionRates:
          type: array
          items:
            type: object
            properties:
              transferType:
                type: string
                description: when `transferType` is `default`, this is the conversion rate for the default transfer type
              conversionRate:
                type: string
      example:
        fromCurrency: usdc
        toCurrency: usd
        conversionRate: '1'
        conversionRates:
        - transferType: default
          conversionRate: '1'
    ArsOfframpDestination:
      type: object
      properties:
        amount:
          type: number
          format: float
          minimum: 0
          description: amount of fiat currency to receive
        currency:
          type: string
          enum:
          - ars
          description: fiat currency
        accountId:
          type: string
          format: uuid
          description: account that is receiving the fiat currency
        userId:
          type: string
          format: uuid
          description: user who is 

# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hifi/refs/heads/main/openapi/hifi-offramp-api-openapi.yml