Skip to main content
The Partner API is semantic: specify what the end user pays and receives, the amount mode, and the final recipient. AgentBank owns routing and any intermediate transfers. Follow the Quickstart for the full integration sequence. Do not send intent IDs, quote IDs, route agreement IDs, hop lists, callback URLs, registered-recipient IDs, or recipients for internal hops.

Choose the payment shape

For an on-ramp, put the crypto address in recipient_fields.address. Fiat-to-fiat supports this two-hop shape only. Do not create a separate merchant payment for the intermediate transfer or request identical source and destination assets. Discover live instruments through List fiat payment capabilities, not a static currency list alone. Before a fiat payout, use Parse QR recipient or Verify bank recipient, as applicable, and carry the returned canonical recipient_fields into payment creation.

Estimate before commitment

Estimate payment owns the quote request and response examples, including preferred_rails. Send the end user and the supported on_ramp or off_ramp direction with exactly one of amount_in or amount_out. An estimate filters by end-user readiness but is non-binding. It does not reserve a route or authorize funds to move. Request it near checkout, then create the payment when the customer commits.

Create one commercial order

Create payment owns the complete request and response contract. Supply the merchant end user, your request correlation ID, durable merchant_payment_reference, source and destination assets, amount mode, and final recipient. Choose exact_source when the payer fixes how much to spend; put that amount in source. Choose exact_destination when the customer fixes how much must arrive; put that amount in destination. Amounts are strings. For a QR recipient, country is normally derived from qr_content; an optional country constraint must match. A direct bank recipient requires country. Never add a client-selected internal rail. Recipient validation happens again when the payment is created, without using a saved recipient book. Use one payment reference per economic order and reuse the same body and reference after an uncertain request. See Payment idempotency.

Follow the returned payment

The server-generated payment_instruction is the funding authority; next_action tells the customer whether to fund or wait. Preserve the issued amount, asset, destination, chain, memo, reference, calldata, and expiry. Funding and tracking explains how to present the instruction and reconcile webhooks with current payment state. Use Get payment for the full current view and List payments for merchant history and its supported filters. Portal JWT holders can also read and list payments, but cannot create or cancel them.

Cancellation and active-payment limits

Cancel payment applies before funding where the current settlement state permits it. Do not report success until the returned or subsequently read payment is terminal with status: "cancelled". Each end user may have only one non-terminal B2B payment, regardless of direction or hop count. Complete, cancel, or let it reach a terminal state before creating another. Internal fiat-to-fiat hops are not separate merchant orders.