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.
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
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