https://api.sand.etherfuse.com and sends your key in the Authorization header, with no Bearer prefix (see Authentication).
1
Make your first call
Get your organization’s This guide acts for your own organization. To act for a customer, use the customer organization’s id instead. See Organizations in the route.List the organization’s payment accounts. A new organization has none yet:A
id. Payment account, quote and order routes take it as {organizationId}:401 with type ending in unauthorized means the key or the header is wrong. See Authentication.2
Subscribe to order updates
Register the URL we send order events to. Store the Webhook subscriptions do not take an organization id. One subscription covers your organization and every customer organization. Add a
secret from the response; we return it only once, and you need it to verify each delivery.paymentAccountUpdated subscription the same way to hear when an account becomes ready. See Webhooks.3
Register a bank account and a wallet
Register the bank account the money comes from:Then register the wallet the tokens go to:Each response holds the account
id and its rails. You can quote a direction once its status is ready. If a bank account returns 422 registration-info-required, add the fields listed in missing under registrationInfo and send it again. See Register payment accounts.4
Find the asset to buy
List the tokens your wallet can receive. Use a token’s The bank account’s
asset from the response in the quote.asset is its currency, MXN. See GET /supported_assets.5
Get a quote
Price the transfer between the two accounts. Quotes expire after 2 minutes.The response holds the
quoteId, destinationAmount, rateAfterFees, feeBps and the fee lines in fees[]. Both accounts must belong to the organization in the route. See POST /organization/{organizationId}/quote.6
Create the order
201 with the order. Its id equals the quoteId, and sending the same quoteId again returns the same order (see Idempotency). fundingInstructions.destination says where the source sends the funds once it is available: a CLABE for a bank source, a blockchain address for a wallet source. An orderUpdated delivery tells you when it arrives.7
Fund the order
How you fund the order depends on the source account.We detect the funds, then the order moves to
- Bank source (onramp)
- Wallet source (offramp or swap)
In sandbox no real money moves. Simulate the customer’s SPEI payment:See
POST /organization/{organizationId}/order/{id}/fiat_received.funded and completed. An onramp can move to claimable instead, when the wallet has to claim the tokens (for example a Stellar wallet with no trustline yet). Each change sends an orderUpdated delivery with the full order.Sandbox onramps are capped at 500 MXN per quote. See the Sandbox Reference.
Test other transfers
Onramp
Fiat to tokens. The customer pays MXN and receives tokens.
Offramp
Tokens to fiat. The customer sends tokens and receives MXN.
Swap
Token to token. The customer exchanges one asset for another.
Next steps
Onboard customers
Run KYC for your customers before they transact.
Monitor with webhooks
Get signed updates for orders, payment accounts and KYC instead of polling.
Understand the model
Payment accounts, rails, quotes, fees and order statuses.
Sandbox reference
Test KYC data, simulated deposits, and testnet tokens.