# Etherfuse API - [Introduction](https://docs.etherfuse.com/v2/index.md): On/off-ramps and swaps: buy and sell stablecoins and yield-bearing stablebonds with fiat, or swap one asset for another. - [Quickstart](https://docs.etherfuse.com/v2/quickstart.md): From a sandbox API key to your first order: register payment accounts, quote, order, and get webhooks. - [Initial Setup](https://docs.etherfuse.com/v2/initial-setup.md): Create a sandbox business account, get an API key, and make your first call - [Sandbox Reference](https://docs.etherfuse.com/v2/test-environment.md): Everything that behaves differently in the Etherfuse sandbox: base URLs, test data, simulated deposits, and testnet tokens. - [V1 → V2](https://docs.etherfuse.com/v2/migration-guide.md): Why to switch to v2, and how to migrate from v1: endpoint replacements, request fields, order statuses and webhooks. - [How it works](https://docs.etherfuse.com/v2/overview.md): How an Etherfuse integration fits together: conventions, payment accounts, quotes, orders and webhooks. - [Webhooks](https://docs.etherfuse.com/v2/webhooks.md): Subscribe to order, payment account, KYC and KYB events. Verify signatures and handle retries. - [JWT User Authentication](https://docs.etherfuse.com/v2/guides/jwt-authentication.md): Authenticate your users to Etherfuse with short-lived JWTs you sign, and launch them straight into the app. - [User Launch Flows](https://docs.etherfuse.com/v2/guides/user-launch-flows.md): Every in-app flow you can launch a user into: the scope and target each one uses, and what to know about each. - [Authentication errors](https://docs.etherfuse.com/v2/guides/authentication-errors.md): What each JWT auth and launch error means, and how to fix it. - [Embedded Wallets](https://docs.etherfuse.com/v2/guides/embedded-wallets.md): Move on-chain assets for your users through non-custodial embedded wallets, without anyone touching gas, trustlines, or transaction construction. - [Embedded Wallets](https://docs.etherfuse.com/v2/guides/embedded-wallets.md): Move on-chain assets for your users through non-custodial embedded wallets, without anyone touching gas, trustlines, or transaction construction. - [Embedded Wallets Sandbox Onramp](https://docs.etherfuse.com/v2/guides/embedded-wallets-walkthrough.md): A minimal server-side script that runs an embedded-wallet onramp in sandbox, from wallet registration to the signed claim authorization. - [Verifying Webhooks](https://docs.etherfuse.com/v2/guides/verifying-webhooks.md): How to verify webhook signatures to ensure payloads are authentic - [Swaps](https://docs.etherfuse.com/v2/guides/testing-swaps.md): How to test token-to-token swap flows in the sandbox environment - [Onramps](https://docs.etherfuse.com/v2/guides/testing-onramps.md): How to test onramp flows in the sandbox environment - [Offramps](https://docs.etherfuse.com/v2/guides/testing-offramps.md): How to test offramp flows in the sandbox environment - [KYC Overview](https://docs.etherfuse.com/v2/guides/onboarding.md): What Etherfuse collects to verify a customer, how to track where their verification stands, and the extra requirements that apply in specific countries. - [KYC WebSDK](https://docs.etherfuse.com/v2/guides/kyc-websdk.md): The hosted verification flow: create the customer, launch them into Etherfuse, and the customer completes every step in the widget. - [KYC API](https://docs.etherfuse.com/v2/guides/kyc-api.md): Collect your customer's identity data and documents in your own UI, push them over the API, and launch the customer only for what is left. - [KYC Sumsub Shared Token](https://docs.etherfuse.com/v2/guides/kyc-sumsub-shared-token.md): Reuse a verification your customer already passed on your own Sumsub level: import it with a share token so the customer repeats neither document capture nor liveness. - [KYB Overview](https://docs.etherfuse.com/v2/guides/kyb.md): What Etherfuse collects to verify a business, how to track where its verification stands, and who has to take part. - [KYB WebSDK](https://docs.etherfuse.com/v2/guides/kyb-websdk.md): The hosted verification flow: launch a business's people into Etherfuse, and they complete every step in the widget. - [Stellar](https://docs.etherfuse.com/v2/guides/chains/stellar.md): Asset identifiers, trustlines, XLM gas, claimable-balance onramps, and transaction expiry on Stellar. - [Solana](https://docs.etherfuse.com/v2/guides/chains/solana.md): Asset identifiers, wallet registration, gas handling, and swap support on Solana. - [Monad](https://docs.etherfuse.com/v2/guides/chains/monad.md): EVM asset identifiers, wallet registration, and supported operations on Monad. - [Base](https://docs.etherfuse.com/v2/guides/chains/base.md): EVM asset identifiers, wallet registration, and offramp funding on Base. - [Polygon](https://docs.etherfuse.com/v2/guides/chains/polygon.md): EVM asset identifiers, wallet registration, and offramp funding on Polygon. - [Avalanche](https://docs.etherfuse.com/v2/guides/chains/avalanche.md): EVM asset identifiers, wallet registration, and offramp funding on Avalanche. - [Transaction Fees](https://docs.etherfuse.com/v2/fees.md): What each trade costs: same-currency fees, FX fees by market, and partner fees. - [Price Feeds](https://docs.etherfuse.com/v2/price-feeds.md): Get Etherfuse asset prices and FX rates: on-chain via oracles, or over HTTP via the REST API. - [Glossary](https://docs.etherfuse.com/v2/glossary.md): Key terms used across the Etherfuse API and docs. - [SDKs](https://docs.etherfuse.com/v2/sdks.md): Libraries for the on-chain Stablebond side, plus how to call the REST API from any language. - [MCP Server](https://docs.etherfuse.com/v2/mcp-overview.md): Connect your preferred LLM to the Etherfuse API using our MCP server - [Introduction](https://docs.etherfuse.com/v2/api-reference/introduction.md): The Etherfuse REST API: base URLs, auth, and conventions. - [API Authentication](https://docs.etherfuse.com/v2/authentication.md): Authenticate requests with your Etherfuse API key: format, scope, and key management. - [Errors](https://docs.etherfuse.com/v2/errors.md): The problem details format v2 errors use, every problem type you can receive, and the error format of the other endpoints. - [Pagination](https://docs.etherfuse.com/v2/pagination.md): How to page through list endpoints with the pageSize and pageNumber query parameters. - [Idempotency](https://docs.etherfuse.com/v2/idempotency.md): Which create requests are safe to retry, and what we return when you retry them. - [Launch a user into the app](https://docs.etherfuse.com/v2/api-reference/authentication/launch-a-user-into-the-app.md): > ⚠️ **Different host.** Unlike every other endpoint in this reference, `/auth/launch` lives on the **app host** (`app.etherfuse.com` / `sandbox.etherfuse.com`), **not** the API host (`api.etherfuse.com`). It is a browser-facing page, not a JSON API. - [Launch a user via postMessage](https://docs.etherfuse.com/v2/api-reference/authentication/launch-a-user-via-postmessage.md): > ⚠️ **Different host.** Like [POST /auth/launch](/v2/api-reference/authentication/launch-a-user-into-the-app), this lives on the **app host** (`app.etherfuse.com` / `sandbox.etherfuse.com`), **not** the API host. It is a browser-facing page, not a JSON API. - [Exchange a partner JWT](https://docs.etherfuse.com/v2/api-reference/authentication/exchange-a-partner-jwt.md): OAuth 2.0 token endpoint ([RFC 6749 §3.2](https://www.rfc-editor.org/rfc/rfc6749#section-3.2)). Exchanges a partner-signed JWT for an Etherfuse access/refresh token pair, or refreshes an existing session. - [Register payment account](https://docs.etherfuse.com/v2/api-reference/payment-accounts/register-payment-account.md): Registers a bank account or wallet for the organization in the route and returns it with its per-rail readiness. - [Get registration requirements](https://docs.etherfuse.com/v2/api-reference/payment-accounts/get-registration-requirements.md): Returns what you need to send to register an account of this kind for the organization in the route: the `accountDetails` fields for the identifier kind, and the `registrationInfo` fields the route requires. `registrationInfo.missing` lists the required fields we hold no verified value for, so you a… - [Get payment account](https://docs.etherfuse.com/v2/api-reference/payment-accounts/get-payment-account.md): Returns one of the organization's payment accounts with its per-rail readiness. An account the organization removed returns `404`. - [Update payment account](https://docs.etherfuse.com/v2/api-reference/payment-accounts/update-payment-account.md): Changes the label the organization gave the account. Nothing else on an account changes through this endpoint. - [List payment accounts](https://docs.etherfuse.com/v2/api-reference/payment-accounts/list-payment-accounts.md): Lists the organization's payment accounts, oldest first. Accounts the organization removed are not listed. - [Create quote](https://docs.etherfuse.com/v2/api-reference/quotes/create-quote.md): Prices a transfer from one payment account to another. Each account must belong to the organization in the route or to your API key's organization. The quote and its order belong to the organization in the route, even when an account belongs to your organization, so quote under the organization you… - [Create order](https://docs.etherfuse.com/v2/api-reference/orders/create-order.md): Creates an order from a quote and returns the full order. Use the `organizationId` the quote was created with. The order belongs to that organization, even when a payment account on it belongs to your API key's organization. The order's `organizationId`, `GET /orders` filtered by `organizationId`, a… - [Get order](https://docs.etherfuse.com/v2/api-reference/orders/get-order.md): Returns one of the organization's orders. An order that belongs to a different organization returns `404`. - [List orders](https://docs.etherfuse.com/v2/api-reference/orders/list-orders.md): Lists orders belonging to the API key's organization and all its customer organizations, newest first. Each order's `organizationId` is the organization it belongs to. Pass `organizationId` to list one organization's orders; an organization your API key cannot act for returns `404` `not-found`. - [Cancel order](https://docs.etherfuse.com/v2/api-reference/orders/cancel-order.md): Requests cancellation of an order. No request body. We answer `202` with the order as it was before the cancel, so its `status` is still `created`. The order moves to `canceled` a few seconds later, and we send `orderUpdated`. An order that can no longer be canceled returns `409` `order-not-cancelab… - [Refresh funding instructions](https://docs.etherfuse.com/v2/api-reference/orders/refresh-funding-instructions.md): Requests new funding instructions for an order and returns the order as it is. No request body. When the order is `created`, before its funding deadline, and either its funding destination has expired or its instructions carry a `preparedTransaction`, we get new instructions from the payment provide… - [Prepare claim](https://docs.etherfuse.com/v2/api-reference/orders/prepare-claim.md): Prepares the claim on a `claimable` order and returns what the customer does next. This call does not claim the funds; the customer finishes the claim with what we return. We build it on every call and never store it, because it goes stale. No request body. - [Submit authorization](https://docs.etherfuse.com/v2/api-reference/orders/submit-authorization.md): Approves the order's pending `authorization` and returns the order. Sign the UTF-8 bytes of `authorization.method.message` with the P-256 key registered as the embedded wallet's `signerPublicKey`, using ECDSA with SHA-256, and send the signature hex-encoded, as DER or as the 128-character `r||s` for… - [Create webhook subscription](https://docs.etherfuse.com/v2/api-reference/webhook-subscriptions/create-webhook-subscription.md): Subscribes a URL to one v2 event. The response includes the signing `secret`. We return it only here, so store it. See [Verifying Webhooks](/guides/verifying-webhooks). - [Get webhook subscription](https://docs.etherfuse.com/v2/api-reference/webhook-subscriptions/get-webhook-subscription.md): Returns one of your organization's webhook subscriptions. The secret is not included. - [Delete webhook subscription](https://docs.etherfuse.com/v2/api-reference/webhook-subscriptions/delete-webhook-subscription.md): Deletes one of your organization's webhook subscriptions. Deliveries to it stop. - [List webhook subscriptions](https://docs.etherfuse.com/v2/api-reference/webhook-subscriptions/list-webhook-subscriptions.md): Lists all of your organization's webhook subscriptions, oldest first. The list is not paged. Secrets are not included. - [orderUpdated](https://docs.etherfuse.com/v2/api-reference/webhook-events/orderupdated.md): Fired when an onramp or offramp order changes status. - [paymentAccountUpdated](https://docs.etherfuse.com/v2/api-reference/webhook-events/paymentaccountupdated.md): Sent to `paymentAccountUpdated` subscriptions when a payment account's `status` or the `status` of any rail direction changes. `paymentAccount` is the same object `GET /organization/{organizationId}/payment_account/{id}` returns, and `organizationId` is the organization that holds it. - [kycUpdated](https://docs.etherfuse.com/v2/api-reference/webhooks/kycupdated.md): Fired whenever a customer's KYC status changes, and when a write you sent was accepted but could not be applied. - [kybUpdated](https://docs.etherfuse.com/v2/api-reference/webhook-events/kybupdated.md): Fired when a business organization's KYB status changes. - [Get your organization](https://docs.etherfuse.com/v2/api-reference/organizations/get-me.md): Returns the organization that owns your API key. Use its `id` as `organizationId` when a call acts for your own organization. A `200` also confirms the key works. - [Set your default partner fee](https://docs.etherfuse.com/v2/api-reference/organizations/update-me.md): Sets the partner fee, in basis points, that quotes add when the request sends no `partnerFeeBpsOverride`. See [Fees](/v2/fees). - [List customer organizations](https://docs.etherfuse.com/v2/api-reference/organizations/list-organizations.md): Lists the customer organizations you created, newest first. Removed organizations are not listed. Your own organization is not in the list; read it with [`GET /me`](/v2/api-reference/organizations/get-me). - [Create customer organization](https://docs.etherfuse.com/v2/api-reference/organizations/create-organization.md): Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with [Register payment account](/v2/api-reference/payment-accounts/register-payment-account). - [Get organization](https://docs.etherfuse.com/v2/api-reference/organizations/get-organization.md): Returns your organization or one of your customer organizations. - [Rename organization](https://docs.etherfuse.com/v2/api-reference/organizations/update-organization.md): Changes the organization's `displayName`. A business organization's legal name does not change. - [Add organization member](https://docs.etherfuse.com/v2/api-reference/members/add-organization-member.md): Adds a person to a customer business organization, by `email` or `memberId`. A `memberId` is the `sub` you sign into the person's JWT. Members sign in with that JWT and complete the organization's KYB. - [List organization members](https://docs.etherfuse.com/v2/api-reference/members/list-organization-members.md): Lists a customer business organization's members and pending invites. The organization's own service account is never listed. - [Remove organization member](https://docs.etherfuse.com/v2/api-reference/members/remove-organization-member.md): Removes a member from a customer business organization. - [Revoke organization invite](https://docs.etherfuse.com/v2/api-reference/members/revoke-organization-invite.md): Cancels a pending invite to a customer business organization, so the link in the invite email stops working. - [List a member's organizations](https://docs.etherfuse.com/v2/api-reference/members/list-member-organizations.md): Lists the customer business organizations a person belongs to, by their `memberId` (the JWT `sub`). This is the reverse of [List organization members](/v2/api-reference/members/list-organization-members). - [Get KYC status](https://docs.etherfuse.com/v2/api-reference/kyc/get-kyc-status.md): Returns the organization's KYC status. The overall `status` uses the same logic as orders, so `approved` is the only value that lets the customer transact. Submission details such as rejection reasons and timestamps are visible only to the partner that submitted the data. - [Submit verification data](https://docs.etherfuse.com/v2/api-reference/kyc/submit-verification-data.md): First call in the [KYC API](/v2/guides/kyc-api) flow. Nothing else is accepted before it: `country` is what routes the customer to their country's requirements. - [Upload verification documents](https://docs.etherfuse.com/v2/api-reference/kyc/upload-verification-documents.md): Upload the customer's documents as `multipart/form-data`. Send at least one of `id_front`, `id_back`, or `proof_of_address`. - [Submit a verification questionnaire](https://docs.etherfuse.com/v2/api-reference/kyc/submit-a-verification-questionnaire.md): Submit the customer's answers to one questionnaire, named by `type`. - [Import a verified session](https://docs.etherfuse.com/v2/api-reference/kyc/import-a-verified-session.md): Import a verification the customer already passed on the partner's own Sumsub level, handed over as a share token. Prerequisites, and what does and doesn't transfer: [KYC Sumsub Shared Token](/v2/guides/kyc-sumsub-shared-token). - [List occupation categories](https://docs.etherfuse.com/v2/api-reference/kyc/list-occupation-categories.md): The values [`POST /organization/{organizationId}/verification/questionnaire`](/v2/api-reference/kyc/submit-a-verification-questionnaire) accepts for `industry`. Send the `code`. - [Get KYB status](https://docs.etherfuse.com/v2/api-reference/kyb/get-kyb-status.md): Returns a business organization's KYB status: the same `status` and `approvedAt` the `kybUpdated` webhook sends. Subscribe to `kybUpdated` to hear about changes, and read this to reconcile after downtime. A personal organization returns `400` `invalid-request`; read its KYC with [Get KYC status](/v2… - [List supported assets](https://docs.etherfuse.com/v2/api-reference/assets/list-supported-assets.md): Lists the markets and tokens a quote can use. Each item's `asset` is the value to send as `sourceAsset` or `destinationAsset` on [Create quote](/v2/api-reference/quotes/create-quote). - [Get payment account balances](https://docs.etherfuse.com/v2/api-reference/assets/get-payment-account-balances.md): Reads the balances of one of the organization's wallets: every supported Etherfuse asset it holds, with the value of each in the asset's own fiat currency and in USD. - [List partner statements](https://docs.etherfuse.com/v2/api-reference/statements/list-partner-statements.md): Returns your monthly revenue share statements, newest first. They belong to the organization that owns your API key, which must be a partner organization; a customer organization returns `403` `forbidden`. - [Download statement CSV](https://docs.etherfuse.com/v2/api-reference/statements/download-statement-csv.md): Downloads one closed month's statement as CSV, for example `/partner_statement/2026-6/csv`. The year and month are one path segment; the month may be zero padded or not. Returns a `text/csv` attachment named `partner-statement-2026-06.csv`. - [Download statement PDF](https://docs.etherfuse.com/v2/api-reference/statements/download-statement-pdf.md): Downloads one closed month's statement as PDF, for example `/partner_statement/2026-6/pdf`. The year and month are one path segment; the month may be zero padded or not. Returns an `application/pdf` attachment named `partner-statement-2026-06.pdf`. - [Simulate fiat received](https://docs.etherfuse.com/v2/api-reference/sandbox/simulate-fiat-received.md): Sandbox only. Returns `403` `forbidden` in production. - [List exchange rates](https://docs.etherfuse.com/v2/api-reference/lookup/list-exchange-rates.md): Returns current USD exchange rates for all supported currencies, each keyed by `usd_to_` with a per-provider `sources` breakdown. - [Get exchange rate](https://docs.etherfuse.com/v2/api-reference/lookup/get-exchange-rate.md): Returns the current USD-to-specified-currency exchange rate, with a per-provider `sources` breakdown. - [List stablebonds](https://docs.etherfuse.com/v2/api-reference/lookup/list-stablebonds.md): Returns all stablebonds with current prices, supplies, and multi-chain breakdown. Data is cached for ~5 minutes. - [Get stablebond](https://docs.etherfuse.com/v2/api-reference/lookup/get-stablebond.md): Returns one stablebond with its current price, supply, and per-chain breakdown, from the same snapshot as `GET /lookup/stablebonds`. - [List token costs](https://docs.etherfuse.com/v2/api-reference/lookup/list-token-costs.md): Returns current pricing for every Etherfuse token: stablebonds (CETES, TESOURO, USTRY, ...) and principal tokens (MEXe, ...). Each entry carries the token's cost in its denomination currency and in USD, plus a `sources` map giving the exchange rate and derived USD cost from each FX provider, so you… - [Get token cost](https://docs.etherfuse.com/v2/api-reference/lookup/get-token-cost.md): Returns current pricing for one Etherfuse token, either a stablebond or a principal token. - [List country codes](https://docs.etherfuse.com/v2/api-reference/lookup/list-country-codes.md): Returns supported countries with ISO 3166-1 alpha-2 codes, alpha-3 codes, and English names. Use the alpha-2 code for `registrationInfo.countryOfBirth` and `registrationInfo.countryOfIncorporation` when registering a payment account. - [List restricted countries](https://docs.etherfuse.com/v2/api-reference/lookup/list-restricted-countries.md): Returns the countries that are effectively restricted for KYC or KYB based on external consensus and internal overrides. Each entry shows whether KYC, KYB, or both are blocked. - [Deprecation policy](https://docs.etherfuse.com/changelog/deprecation-policy.md): How Etherfuse announces, deprecates, and retires API behavior, and how much notice you get. - [Deprecations](https://docs.etherfuse.com/changelog/deprecations.md): Endpoints and flows that are deprecated, their replacements, and sunset dates. - [Introduction](https://docs.etherfuse.com/introduction.md): On/off-ramps and swaps — buy and sell stablecoins and yield-bearing stablebonds with fiat, or swap one asset for another. - [Quickstart](https://docs.etherfuse.com/quickstart.md): From zero to your first authenticated API call in a few minutes. - [Initial Setup](https://docs.etherfuse.com/initial-setup.md): Create a sandbox business account, get an API key, and make your first call - [Sandbox Reference](https://docs.etherfuse.com/test-environment.md): Everything that behaves differently in the Etherfuse sandbox: base URLs, test data, simulated deposits, and testnet tokens. - [How it works](https://docs.etherfuse.com/overview.md): How an Etherfuse integration fits together — the end-to-end flow, quote types, and resources. - [Webhooks](https://docs.etherfuse.com/webhooks.md): How webhook events drive your application's business logic — what to do when each event fires. - [JWT User Authentication](https://docs.etherfuse.com/guides/jwt-authentication.md): Authenticate your users to Etherfuse with short-lived JWTs you sign, and launch them straight into the app. - [User Launch Flows](https://docs.etherfuse.com/guides/user-launch-flows.md): Every in-app flow you can launch a user into: the scope and target each one uses, and what to know about each. - [Authentication errors](https://docs.etherfuse.com/guides/authentication-errors.md): What each JWT auth and launch error means, and how to fix it. - [Embedded Wallets](https://docs.etherfuse.com/guides/embedded-wallets.md): Provision non-custodial wallets and move on-chain assets for your users without anyone touching gas, trustlines, or transaction construction. - [Embedded Wallets](https://docs.etherfuse.com/guides/embedded-wallets.md): Provision non-custodial wallets and move on-chain assets for your users without anyone touching gas, trustlines, or transaction construction. - [Embedded Wallets Sandbox Playground](https://docs.etherfuse.com/guides/embedded-wallets-walkthrough.md): Sandbox interactive tester and minimal server-side onramp script for embedded wallets - [Verifying Webhooks](https://docs.etherfuse.com/guides/verifying-webhooks.md): How to verify webhook signatures to ensure payloads are authentic - [Swaps](https://docs.etherfuse.com/guides/testing-swaps.md): How to test token-to-token swap flows in the sandbox environment - [Onramps](https://docs.etherfuse.com/guides/testing-onramps.md): How to test onramp flows in the sandbox environment - [Offramps](https://docs.etherfuse.com/guides/testing-offramps.md): How to test offramp flows in the sandbox environment - [KYC Overview](https://docs.etherfuse.com/guides/onboarding.md): What Etherfuse collects to verify a customer, how to track where their verification stands, and the extra requirements that apply in specific countries. - [KYC WebSDK](https://docs.etherfuse.com/guides/kyc-websdk.md): The hosted verification flow: create the customer, launch them into Etherfuse, and the customer completes every step in the widget. - [KYC API](https://docs.etherfuse.com/guides/kyc-api.md): Collect your customer's identity data and documents in your own UI, push them over the API, and launch the customer only for what is left. - [KYC Sumsub Shared Token](https://docs.etherfuse.com/guides/kyc-sumsub-shared-token.md): Reuse a verification your customer already passed on your own Sumsub level: import it with a share token so the customer repeats neither document capture nor liveness. - [KYB Overview](https://docs.etherfuse.com/guides/kyb.md): What Etherfuse collects to verify a business, how to track where its verification stands, and who has to take part. - [KYB WebSDK](https://docs.etherfuse.com/guides/kyb-websdk.md): The hosted verification flow: launch a business's people into Etherfuse, and they complete every step in the widget. - [Stellar](https://docs.etherfuse.com/guides/chains/stellar.md): Asset identifiers, trustlines, XLM gas, claimable-balance onramps, transaction expiry, and anchor mode on Stellar. - [Solana](https://docs.etherfuse.com/guides/chains/solana.md): Asset identifiers, gas handling, and swap support on Solana. - [Monad](https://docs.etherfuse.com/guides/chains/monad.md): EVM asset identifiers and supported operations on Monad. - [Base](https://docs.etherfuse.com/guides/chains/base.md): EVM asset identifiers, the ERC-20 approval step, gasless offramps, and minimum offramp size on Base. - [Polygon](https://docs.etherfuse.com/guides/chains/polygon.md): EVM asset identifiers and offramp setup on Polygon. - [Avalanche](https://docs.etherfuse.com/guides/chains/avalanche.md): EVM asset identifiers and offramp setup on Avalanche. - [Ramp Fees](https://docs.etherfuse.com/fees.md): Platform and partner ramp fees by market. - [Price Feeds](https://docs.etherfuse.com/price-feeds.md): Get Etherfuse asset prices and FX rates — on-chain via oracles, or over HTTP via the REST API. - [Glossary](https://docs.etherfuse.com/glossary.md): Key terms used across the Etherfuse API and docs. - [SDKs](https://docs.etherfuse.com/sdks.md): Libraries for the on-chain Stablebond side, plus how to call the REST API from any language. - [MCP Server](https://docs.etherfuse.com/mcp-overview.md): Connect your preferred LLM to the Etherfuse API using our MCP server - [Introduction](https://docs.etherfuse.com/api-reference/introduction.md): The Etherfuse REST API — base URLs, auth, and conventions. - [API Authentication](https://docs.etherfuse.com/authentication.md): Authenticate requests with your Etherfuse API key — format, scope, and key management. - [Errors](https://docs.etherfuse.com/errors.md): HTTP status codes the Etherfuse API returns, what causes them, and how to handle them. - [Pagination](https://docs.etherfuse.com/pagination.md): How to page through list endpoints, with optional date-range filtering. - [Idempotency](https://docs.etherfuse.com/idempotency.md): Use client-generated UUIDs to make create requests safe to retry. - [Launch a user into the app](https://docs.etherfuse.com/api-reference/authentication/launch-a-user-into-the-app.md): > ⚠️ **Different host.** Unlike every other endpoint in this reference, `/auth/launch` lives on the **app host** (`app.etherfuse.com` / `sandbox.etherfuse.com`), **not** the API host (`api.etherfuse.com`). It is a browser-facing page, not a JSON API. - [Launch a user via postMessage](https://docs.etherfuse.com/api-reference/launch-via-postmessage.md): > ⚠️ **Different host.** Like [POST /auth/launch](/api-reference/authentication/launch-a-user-into-the-app), this lives on the **app host** (`app.etherfuse.com` / `sandbox.etherfuse.com`), **not** the API host. It is a browser-facing page, not a JSON API. - [Exchange a partner JWT](https://docs.etherfuse.com/api-reference/authentication/exchange-a-partner-jwt.md): OAuth 2.0 token endpoint ([RFC 6749 §3.2](https://www.rfc-editor.org/rfc/rfc6749#section-3.2)). Exchanges a partner-signed JWT for an Etherfuse access/refresh token pair, or refreshes an existing session. - [List assets](https://docs.etherfuse.com/api-reference/assets/list-assets.md): Returns all rampable stablecoins (e.g. USDC, EURC) and stablebonds (e.g. CETES) available on the specified blockchain. The `currency` parameter controls sort priority — assets matching the requested currency appear first, but all rampable assets for the chain are always returned. Use the `identifier… - [Get one wallet's balances](https://docs.etherfuse.com/api-reference/assets/get-one-wallets-balances.md): Reads one wallet, the one you name on the call. It never picks a wallet for you, so an organization with many registered wallets calls this once per wallet. - [Create bank account (presigned)](https://docs.etherfuse.com/api-reference/bank-accounts/create-bank-account-presigned.md): Registers a customer's Mexican bank account (CLABE) for on/off-ramp transactions. The `account` field accepts two variants — Personal or Business — auto-detected from the fields present. - [Get bank account](https://docs.etherfuse.com/api-reference/bank-accounts/get-bank-account.md): Retrieves details for a specific bank account accessible to your API key. - [List bank accounts](https://docs.etherfuse.com/api-reference/bank-accounts/list-bank-accounts.md): Returns the first page of bank accounts with defaults (pageSize 30, pageNumber 0, no filters). Use the POST variant for pagination and date filtering. - [Search bank accounts](https://docs.etherfuse.com/api-reference/bank-accounts/search-bank-accounts.md): Retrieves a paginated list of bank accounts. The request body is optional — omitting it returns the first page with defaults (pageSize 30, pageNumber 0, no filters). - [Create bank account (API)](https://docs.etherfuse.com/api-reference/bank-accounts/create-bank-account-api.md): Programmatically creates a new bank account for a customer using API-key authentication — no presigned URL required. The registration data (name, CURP, RFC, CLABE, etc.) is validated and sent to the payment processor. Bank accounts require verification before they can be used for transactions. - [List customer accounts](https://docs.etherfuse.com/api-reference/bank-accounts/list-customer-accounts.md): Returns the first page of bank accounts for a specific customer with defaults (pageSize 30, pageNumber 0, no filters). Use the POST variant for pagination and date filtering. - [Search customer accounts](https://docs.etherfuse.com/api-reference/bank-accounts/search-customer-accounts.md): Retrieves bank accounts for a specific customer. The request body is optional — omitting it returns the first page with defaults (pageSize 30, pageNumber 0, no filters). - [Get quote](https://docs.etherfuse.com/api-reference/quotes/get-quote.md): Retrieves a quote for converting between assets. Supports three quote types: - **Onramp**: fiat → crypto (`sourceAsset`: fiat currency code, `targetAsset`: asset identifier) - **Offramp**: crypto → fiat (`sourceAsset`: asset identifier, `targetAsset`: fiat currency code) - **Swap**: crypto → crypto… - [Create order](https://docs.etherfuse.com/api-reference/orders/create-order.md): Creates a new order for crypto/fiat conversion using a previously created quote. - [Get order](https://docs.etherfuse.com/api-reference/orders/get-order.md): Retrieves details for a specific order accessible to your API key. - [Cancel order](https://docs.etherfuse.com/api-reference/orders/cancel-order.md): Cancels an order that is in `created` status. Only orders accessible to your API key can be canceled. - [Regenerate tx](https://docs.etherfuse.com/api-reference/orders/regenerate-tx.md): Regenerates a pre-built transaction for an order. - [Get order approval](https://docs.etherfuse.com/api-reference/orders/get-order-approval.md): Returns the pending embedded-wallet approval for an order, if one is awaiting the owner's signature. A non-custodial (embedded) wallet can't be signed by Etherfuse alone: we build the transaction and the partner-held owner key must approve it. - [Submit order approval](https://docs.etherfuse.com/api-reference/orders/submit-order-approval.md): Submits the owner's approval for an embedded-wallet order transaction. Sign the `approvalMessage` from the order's `approval` with the owner's P-256 key and submit the signature as a **hex string** (Turnkey stamp envelopes are not accepted). One signature per call; an M-of-N quorum is a separate cal… - [List orders](https://docs.etherfuse.com/api-reference/orders/list-orders.md): Returns the first page of orders with defaults (pageSize 30, pageNumber 0, no filters). Use the POST variant for pagination and date filtering. - [Search orders](https://docs.etherfuse.com/api-reference/orders/search-orders.md): Retrieves a paginated list of orders accessible to your API key. The request body is optional — omitting it returns the first page with defaults (pageSize 30, pageNumber 0, no filters). - [List customer orders](https://docs.etherfuse.com/api-reference/orders/list-customer-orders.md): Returns the first page of orders for a specific customer with defaults (pageSize 30, pageNumber 0, no filters). Use the POST variant for pagination and date filtering. - [Search customer orders](https://docs.etherfuse.com/api-reference/orders/search-customer-orders.md): Retrieves orders for a specific customer. The request body is optional — omitting it returns the first page with defaults (pageSize 30, pageNumber 0, no filters). - [List partner statements](https://docs.etherfuse.com/api-reference/statements/list-partner-statements.md): Returns your monthly revenue share statements, newest first. The organization comes from your API key. - [Download statement CSV](https://docs.etherfuse.com/api-reference/statements/download-statement-csv.md): Downloads one closed month's statement as CSV, for example `/ramp/partner-statements/2026-6/csv`. The year and month are one path segment; the month may be zero padded or not. Returns a `text/csv` attachment named `partner-statement-2026-06.csv`. - [Download statement PDF](https://docs.etherfuse.com/api-reference/statements/download-statement-pdf.md): Downloads one closed month's statement as PDF, for example `/ramp/partner-statements/2026-6/pdf`. The year and month are one path segment; the month may be zero padded or not. Returns an `application/pdf` attachment named `partner-statement-2026-06.pdf`. - [Mint WebSocket token](https://docs.etherfuse.com/api-reference/websocket/mint-websocket-token.md): Mints a short-lived, org-scoped WebSocket authentication token. Use it to authenticate a WebSocket connection for live order and status updates. The org is taken from your verified API key, so the token is org-scoped and user-less. - [Connect to the live update stream](https://docs.etherfuse.com/api-reference/websocket/connect-to-the-live-update-stream.md): Opens a WebSocket that streams `order_updated` events for your organization. Authenticate with a token from `POST /ramp/ws-api-token` passed as the `token` query parameter; a browser cannot set an `Authorization` header on a WebSocket upgrade. The token is single-use and expires in 30 seconds. Each… - [Swap assets](https://docs.etherfuse.com/api-reference/swaps/swap-assets.md): Swaps two different crypto assets. Asynchronous. Returns `200 OK` with an empty body; track progress via webhooks. - [Regenerate swap tx](https://docs.etherfuse.com/api-reference/swaps/regenerate-swap-tx.md): Regenerates a transaction for a swap — useful when the transaction was not submitted before expiration. The updated transaction is returned via the `swap_updated` webhook. Returns `202 Accepted` if successful. - [Approve EVM token](https://docs.etherfuse.com/api-reference/sponsored/approve-evm-token.md): Generates an unsigned ERC20 `approve()` transaction that enables gasless offramps on EVM chains. When enabled for your organization, EVM offramp transactions no longer require the user to hold native gas tokens (e.g. ETH on Base) — Etherfuse covers the bridging cost and bundles it into the offramp f… - [Search customers](https://docs.etherfuse.com/api-reference/customers/search-customers.md): Retrieves a paginated list of customers. The request body is optional — omitting it returns the first page with defaults (pageSize 30, pageNumber 0, no filters). - [List customers](https://docs.etherfuse.com/api-reference/customers/list-customers.md): Returns the first page of customers with defaults (pageSize 30, pageNumber 0, no filters). Use the POST variant for pagination and date filtering. - [Get customer](https://docs.etherfuse.com/api-reference/customers/get-customer.md): Retrieves details for a specific customer accessible to your API key. - [List a customer's organizations](https://docs.etherfuse.com/api-reference/customers/list-a-customers-organizations.md): Lists the business organizations a customer belongs to, identified by their `customerId` (the JWT `sub`). This is the reverse of [List organization members](/api-reference/organizations/list-organization-members): that returns the members of one org, this returns the orgs one member is in. - [Register wallet](https://docs.etherfuse.com/api-reference/wallets/register-wallet.md): Registers a crypto wallet for the authenticated organization. If the wallet was previously soft-deleted, it is restored. - [Get wallet](https://docs.etherfuse.com/api-reference/wallets/get-wallet.md): Retrieves details for a specific crypto wallet accessible to your API key. - [Delete wallet](https://docs.etherfuse.com/api-reference/wallets/delete-wallet.md): Soft-deletes a crypto wallet and releases any claimed ownership associated with it. The wallet can be re-registered later via `POST /ramp/wallet`. - [List wallets](https://docs.etherfuse.com/api-reference/wallets/list-wallets.md): Returns the first page of crypto wallets with defaults (pageSize 30, pageNumber 0, no filters). Use the POST variant for pagination and date filtering. - [Search wallets](https://docs.etherfuse.com/api-reference/wallets/search-wallets.md): Retrieves a paginated list of crypto wallets. The request body is optional — omitting it returns the first page with defaults (pageSize 30, pageNumber 0, no filters). - [Register customer wallet](https://docs.etherfuse.com/api-reference/wallets/register-customer-wallet.md): Registers a crypto wallet for a customer that belongs to the caller's organization or a direct child organization. Mirrors `POST /ramp/wallet` but scoped to a specific customer within the caller's org hierarchy. - [List customer wallets](https://docs.etherfuse.com/api-reference/wallets/list-customer-wallets.md): Returns the first page of crypto wallets for a specific customer with defaults (pageSize 30, pageNumber 0, no filters). Use the POST variant for pagination and date filtering. - [Search customer wallets](https://docs.etherfuse.com/api-reference/wallets/search-customer-wallets.md): Retrieves crypto wallets for a specific customer. The request body is optional — omitting it returns the first page with defaults (pageSize 30, pageNumber 0, no filters). - [Get KYC status](https://docs.etherfuse.com/api-reference/kyc/get-kyc-status.md): Returns the current KYC verification status for a customer, resolved from the customer's account. The overall `status` matches the logic used for orders, so it stays consistent with whether the customer can transact, and `approved` is the only value that lets them. Submission details such as rejecti… - [Submit verification data](https://docs.etherfuse.com/api-reference/kyc/submit-verification-data.md): First call in the [KYC API](/guides/kyc-api) flow. Nothing else is accepted before it: `country` is what routes the customer to their country's requirements. - [Upload verification documents](https://docs.etherfuse.com/api-reference/kyc/upload-verification-documents.md): Upload the customer's documents as `multipart/form-data`. Send at least one of `id_front`, `id_back`, or `proof_of_address`. - [Submit a verification questionnaire](https://docs.etherfuse.com/api-reference/kyc/submit-a-verification-questionnaire.md): Submit the customer's answers to one questionnaire, named by `type`. - [Import a verified session](https://docs.etherfuse.com/api-reference/kyc/import-a-verified-session.md): Import a verification the customer already passed on the partner's own Sumsub level, handed over as a share token. Prerequisites, and what does and doesn't transfer: [KYC Sumsub Shared Token](/guides/kyc-sumsub-shared-token). - [List occupation categories](https://docs.etherfuse.com/api-reference/kyc/list-occupation-categories.md): The values [`POST /ramp/customer/{customer_id}/verification/questionnaire`](/api-reference/kyc/submit-a-verification-questionnaire) accepts for `industry`. Either the `code` or the `label` is submittable. - [Create webhook](https://docs.etherfuse.com/api-reference/webhooks/create-webhook.md): The response includes a one-time signing `secret` used to verify webhook deliveries; store it securely. - [Get webhook](https://docs.etherfuse.com/api-reference/webhooks/get-webhook.md) - [Delete webhook](https://docs.etherfuse.com/api-reference/webhooks/delete-webhook.md) - [List webhooks](https://docs.etherfuse.com/api-reference/webhooks/list-webhooks.md) - [Order updated](https://docs.etherfuse.com/api-reference/webhooks/order_updated.md): Fired when an onramp or offramp order changes status. - [Swap updated](https://docs.etherfuse.com/api-reference/webhooks/swap_updated.md): Fired when a swap changes status. - [Customer updated](https://docs.etherfuse.com/api-reference/webhooks/customer_updated.md): Fired when a customer's verification status changes. - [Bank account updated](https://docs.etherfuse.com/api-reference/webhooks/bank_account_updated.md): Fired when a bank account's verification status changes. - [Kyc updated](https://docs.etherfuse.com/api-reference/webhooks/kyc_updated.md): Fired whenever a customer's KYC status changes, and when a write you sent was accepted but could not be applied. - [Kyb updated](https://docs.etherfuse.com/api-reference/webhooks/kyb_updated.md): Fired when a business organization's KYB status changes. - [Verify API key](https://docs.etherfuse.com/api-reference/organizations/verify-api-key.md): Returns the organization ID associated with the API key. Useful for verifying credentials and connectivity. - [Get organization](https://docs.etherfuse.com/api-reference/organizations/get-organization.md): Returns the identity of the organization associated with the current API key. Use the response `id` as `customerId` on `POST /ramp/quote` when you transact as your own org. - [Create child org](https://docs.etherfuse.com/api-reference/organizations/create-child-org.md): Creates a new child organization under the caller's organization. The child org is created in an unapproved state; approval happens separately through the Etherfuse approval workflow. - [Add organization member](https://docs.etherfuse.com/api-reference/organizations/add-organization-member.md): Adds a member to a business organization, by `email` or `customerId`. - [List organization members](https://docs.etherfuse.com/api-reference/organizations/list-organization-members.md): Lists the active members and pending invites for a business organization. The org's own service account is never included. - [Remove organization member](https://docs.etherfuse.com/api-reference/organizations/remove-organization-member.md): Removes an active member from a business organization by their `customerId` (the JWT `sub`). To revoke a not-yet-accepted email invite, use [Revoke organization invite](/api-reference/organizations/revoke-organization-invite) instead. - [Revoke organization invite](https://docs.etherfuse.com/api-reference/organizations/revoke-organization-invite.md): Revokes a pending (not-yet-accepted) email invite for a business organization. To remove a member who has already joined, use [Remove organization member](/api-reference/organizations/remove-organization-member) instead. - [Get KYB status](https://docs.etherfuse.com/api-reference/organizations/get-kyb-status.md): Returns a business organization's KYB verification status so you can track your customer's progress without portal access. The response is the same shape the `kyb_updated` webhook delivers, so subscribe to that webhook to be told the moment it changes, and use this endpoint to read the current state… - [Rename organization](https://docs.etherfuse.com/api-reference/organizations/rename-organization.md): Renames the caller's own organization or a direct child organization. The caller's organization is resolved from the API key. - [Set partner fee](https://docs.etherfuse.com/api-reference/organizations/set-partner-fee.md): Sets the default partner fee (in basis points) for the caller's organization. The target organization is resolved from the API key — the fee always applies to the org that owns the key. The fee is capped at 500 bps (5.00%). - [Simulate Fiat Received](https://docs.etherfuse.com/sandbox-api/fiat-received.md): Simulate the receipt of fiat funds for an onramp order (Sandbox only) - [Generate onboarding URL](https://docs.etherfuse.com/api-reference/deprecated/generate-onboarding-url.md): Generates a presigned URL for customer onboarding. If the customer does not exist, it will be created. You generate a UUID for `customerId` and `bankAccountId`, and Etherfuse creates the customer and bank account records associated with your organization. - [Get onboarding bank accounts](https://docs.etherfuse.com/api-reference/deprecated/get-onboarding-bank-accounts.md): Resolves the customer from a valid presigned onboarding URL and returns their bank accounts. Public — no API key required. - [Submit KYC](https://docs.etherfuse.com/api-reference/deprecated/submit-kyc.md): **Deprecated.** New integrations use [Submit verification data](/api-reference/kyc/submit-verification-data), which writes onto the customer's verification profile the hosted flow actually reads. See [KYC API](/guides/kyc-api). - [Upload KYC docs](https://docs.etherfuse.com/api-reference/deprecated/upload-kyc-docs.md): **Deprecated.** New integrations use [Upload verification documents](/api-reference/kyc/upload-verification-documents), which takes real file parts instead of base64 JSON and applies them to the customer's verification profile. See [KYC API](/guides/kyc-api). - [Get KYB progress](https://docs.etherfuse.com/api-reference/deprecated/get-kyb-progress.md): **Deprecated: use [Get KYB status](/api-reference/organizations/get-kyb-status).** The per-requirement counts here describe Etherfuse's in-house onboarding model, which is being retired. `status` is the one field that carries over, and its values were renamed in this same change: `awaiting_documents… - [List exchange rates](https://docs.etherfuse.com/api-reference/lookup/list-exchange-rates.md): Returns current USD exchange rates for all supported currencies, each keyed by `usd_to_` with a per-provider `sources` breakdown. - [Get exchange rate](https://docs.etherfuse.com/api-reference/lookup/get-exchange-rate.md): Returns the current USD-to-specified-currency exchange rate, with a per-provider `sources` breakdown. - [List stablebonds](https://docs.etherfuse.com/api-reference/lookup/list-stablebonds.md): Returns all stablebonds with current prices, supplies, and multi-chain breakdown. Data is cached for ~5 minutes. - [Get stablebond](https://docs.etherfuse.com/api-reference/lookup/get-stablebond.md): Returns one stablebond with its current price, supply, and per-chain breakdown, from the same snapshot as `GET /lookup/stablebonds`. - [List token costs](https://docs.etherfuse.com/api-reference/lookup/list-token-costs.md): Returns current pricing for every Etherfuse token: stablebonds (CETES, TESOURO, USTRY, ...) and principal tokens (MEXe, ...). Each entry carries the token's cost in its denomination currency and in USD, plus a `sources` map giving the exchange rate and derived USD cost from each FX provider, so you… - [Get token cost](https://docs.etherfuse.com/api-reference/lookup/get-token-cost.md): Returns current pricing for one Etherfuse token, either a stablebond or a principal token. - [List stablebond costs](https://docs.etherfuse.com/api-reference/lookup/list-stablebond-costs.md): Returns current pricing data for all stablebonds, including the bond cost in USD, fiat, and per-provider exchange rate sources. Each bond entry includes a `sources` map showing the exchange rate and derived `bond_cost_in_usd` from each FX provider, enabling oracle safety checks. - [Get stablebond cost](https://docs.etherfuse.com/api-reference/lookup/get-stablebond-cost.md): Returns current pricing data for a single stablebond, including the bond cost in USD, fiat, and per-provider exchange rate sources. The `identifier` can be either a Solana mint address (e.g. `CETES7CKqqKQizuSN6iWQwmTeFRjbJR6Vw2XRKfEDR8f`) or a bond symbol (e.g. `CETES`). - [List country codes](https://docs.etherfuse.com/api-reference/lookup/list-country-codes.md): Returns supported countries with ISO 3166-1 alpha-2 codes, alpha-3 codes, and English names. Use these codes for `birthCountryIsoCode` and `countryIsoCode` when registering bank accounts. - [List restricted countries](https://docs.etherfuse.com/api-reference/lookup/list-restricted-countries.md): Returns the countries that are effectively restricted for KYC or KYB based on external consensus and internal overrides. Each entry shows whether KYC, KYB, or both are blocked. - [Deprecation policy](https://docs.etherfuse.com/changelog/deprecation-policy.md): How Etherfuse announces, deprecates, and retires API behavior, and how much notice you get. - [Deprecations](https://docs.etherfuse.com/changelog/deprecations.md): Endpoints and flows that are deprecated, their replacements, and sunset dates. ## OpenAPI Specs - [openapi-v2](/openapi-v2.json) - [openapi](/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.