This page summarizes the schedule for API integrations. The full schedule, with a table for every market, is in the support center: Transaction fees.
Within one currency
Trades that stay in one currency have flat fees. Each market has a currency, its stablebond and its principal token:
US dollar assets are all in US dollars, so no FX fee applies between them. Buying USTRY is free, and selling it back to USDC, USDT or USAe costs 5 bps.
Across currencies
A trade between currencies, such as MXN to USDC, pays the FX fee of the market it trades in. Your tier comes from your combined 30-day volume across all markets, in USD, and the fee gets lower as you scale:
For example, converting 1,000,000 MXN to USDC with under $5M of 30-day volume uses Mexico FX at 20 bps, so the fee is 2,000 MXN.
We apply your current tier automatically. The FX fee also covers price movement during the conversion, so we do not add a separate slippage charge. A cross-currency trade pays only the FX fee, not the 5 bps stablebond fee as well.
Between markets
When a trade moves between two markets, the higher of the two markets’ FX fees applies. CETES to GILTS uses Mexico FX, and CETES to TESOURO uses Brazil FX.Eurozone and UK
EUROB (Eurozone) and GILTS (UK) are bought and sold against USDC, USDT or another market’s assets. There are no euro or sterling bank transfers.Fees on a quote
Quotes list the fee from the schedule above astransactionFee. A quote can also carry a partner fee, a wallet setup fee and a bridge fee.
POST /organization/{organizationId}/quote returns these fee fields:
destinationAmount is already net of every fee. rateAfterFees is destinationAmount / sourceAmount, and rateBeforeFees is the rate before our fee.
On an onramp into a stablebond, we price the bond at the end of the order’s funding window, not at the time of the quote. A stablebond gains value every day, so the customer receives slightly fewer bond tokens than today’s price would give. In exchange, the amount stays the same however late in the window the customer pays.
feeAmount is rounded down to the source asset’s decimals, for example two decimals for MXN.
Each line in fees has a type, an amount (decimal string), the asset it is charged in, and bps (always null on a quote):
We include a line only when its amount is greater than zero. A line’s
asset can differ from the quote’s source and destination assets. On an MXN to USDC onramp, for example, we convert through an intermediate token, and the transactionFee and partnerFee lines are charged in that token. Compare lines with each other only when they share an asset, and use feeAmount for the total in the source asset.
The order you create from the quote returns the same fees lines. See Get order.
Partner fees
You can add a partner fee of up to 500 bps (5.00%) on top of the platform fee.- Set your default with
PATCH /me. - Override it on one quote with
partnerFeeBpsOverridein the quote request. We cap values above 500 at 500. - We use the per-quote override first, then your organization’s default (
partnerFeeDefaultBps), then 0. - Read your current default with
GET /me(partnerFeeDefaultBps).
feeBps and feeAmount, and it has its own partnerFee line in fees. Read your amount from that line. Do not add your partner fee on top of feeBps, and do not deduct it again from destinationAmount: both already include it.
Payouts
We record the partner fee on each order and pay the accumulated fees monthly.- Schedule: paid about 2 weeks after the end of each calendar month.
- Currency: paid out in the underlying currency currently in use (subject to change).
- Reporting: the running total and a per-fee breakdown are in your dashboard under Reports, and in your partner statements.
Want market-specific pricing? Book a call with our team.