The 12 contract terms that decide what an on/off-ramp provider owes you: quote firmness, last look, refunds, settlement, fees, records, holds, and exit.
Negotiate 12 terms before signing with an on/off-ramp provider: quote firmness, quote window, last look, fee change notice, volume minimums, custody, refunds, settlement commitments, compliance holds, records, incidents, and exit. The demo shows how the API behaves. The contract decides what the provider owes you when a quote, payout, or provider goes wrong.
This is the stage after the RFP. You picked a provider; now the commercial and legal teams turn answers into obligations. The table below is the checklist. The sections after it cover the terms that cause the most trouble later.
Key takeaways
These twelve, in roughly the order they bite. The stablecoin API RFP template covers the questions you asked earlier; this table covers what to write down.
| # | Term | What to ask for | Red flag |
|---|---|---|---|
| 1 | Quote firmness | Accepted quotes execute at the quoted rate and fees | "Rates are indicative until settlement" |
| 2 | Quote window | Expiry returned with every quote, in the API | Window set only in a PDF appendix |
| 3 | Last look | Written disclosure of whether accepted requests can be rejected | Silence, or "at our discretion" |
| 4 | Fee changes | Notice period before per-transaction fees change | Changes effective immediately |
| 5 | Volume minimums | No minimum, or a minimum tied to a fee tier | Shortfall fee with no benefit |
| 6 | Custody and funding | Who holds funds at each step; pre-funding requirements | Unclear who holds funds between steps |
| 7 | Refunds | Destination, triggers, and timing per rail | "Refunds processed as available" |
| 8 | Settlement commitments | Per-rail windows and what counts as settled | One global number for every rail |
| 9 | Compliance holds | Response times for requests for information, and outcomes | No timeline, no notice |
| 10 | Records and data | API access to full history and an export on request | Records only through support tickets |
| 11 | Incidents | Notice and status updates when a rail or network degrades | No incident notice obligation |
| 12 | Exit | Return-of-funds procedure, notice period, data export | Exit fees, or funds frozen during notice |
Tie them to the API, not to a rate sheet. A good clause says the provider executes an accepted quote at the rate and fees it returned, before the expiry the response states.
On BlindPay, a payout quote locks the exchange rate and fee, expires 5 minutes after creation, and a quote can back only one payout (payout quotes docs). BlindPay's docs also tell integrators to read expires_at from each response rather than assume a fixed lifetime, since some rails can return a shorter window (cut-off times). That's the behavior the contract should describe in your terms. If a provider's quotes are short or long, the window is less important than the commitment that it is honored. Why a locked quote costs the provider money explains what the provider is pricing when it agrees.
Last look needs its own line. The FX Global Code defines it as a practice "whereby a Market Participant receiving a trade request has a final opportunity to accept or reject the request against its quoted price," and Principle 17 says participants using it "should be transparent regarding its use and provide appropriate disclosures to Clients" (FX Global Code). For payouts, a rejection after acceptance means a late salary. Ask for firm quotes, or at least a disclosed rejection rate.
Name the destination, the trigger, and the clock. Vague refund language is where cross-border contracts fail people.
Ask the provider to state, per rail:
BlindPay's published position is a useful benchmark. If a payout can't be delivered after the stablecoins are collected, BlindPay refunds them to the quote's refund wallet, or to the sending wallet when none is set. On Pix and other non-USD local rails the refund is automatic, while USD payouts and payouts whose review times out are refunded after an operator review.
Holds need a timeline too. BlindPay's compliance team reviews flagged payins and payouts, may send a request for information, and a transaction whose request isn't answered within 24 hours may be refunded to the sender (on-hold transactions). A contract should say how you'll be notified and how fast you must answer, so your ops team staffs for it.
Settlement windows belong in an annex per rail. Stablecoin API SLAs and settlement finality explains why one global number hides the corridor that matters to you.
A notice period on fee changes, and no penalty for slow months. Illustrative example, with invented numbers:
You pay 400 supplier invoices a month, averaging USD 5,000 each, so USD 2,000,000 of volume. A provider raises its per-transaction fee by 0.10% with immediate effect. That is USD 2,000 more per month, and you can't reprice your own customers fast enough to pass it on. A 60-day notice clause turns the same change into a planned price update.
Now add a USD 1,000,000 monthly minimum with a shortfall fee of 0.20%. In a slow month of USD 600,000, you pay 0.20% on the missing USD 400,000: USD 800 for volume you never sent.
What to ask for:
Write the return-of-funds and data clauses now, while you still have room to negotiate. What happens if a stablecoin payment provider fails walks through the bad case.
Four exit terms:
The pricing behind all twelve terms is the same thing every ramp sells: a spread, fees, and a commitment to a price. How on/off-ramp providers make money shows where each term touches the provider's economics, which is where your negotiating room is.
Paste the 12-row table into your redline, mark each term as agreed, open, or missing, and send the open ones to the provider before the next call. Pair it with the questions in the provider due diligence list.
Seven places blockchain payments beat bank rails: contractor payroll, remittances, B2B suppliers, marketplaces, 24/7 treasury, bill pay, and PSP payouts.
Push means the payer sends an ACH transfer. Pull means you debit a connected account. How each funds a USD to USDC on-ramp, the fees, and the return risk.
AP2, ACP, and x402 each verify that an AI agent had permission to spend. Here is what every protocol covers, who backs it, and the reconciliation gap none of them close.