Create a quote via POST to the quotes endpoint specifying the source currency, target currency, and either the source amount or target amount; the response includes a quoteId and a rate that is temporarily locked
Create or retrieve a recipient account by posting to the accounts endpoint with the recipient's bank details (IBAN for SEPA, routing+account for USD, IFSC+account for INR, etc.); the recipient accountId is required for transfer creation
Create the transfer by posting to the transfers endpoint with the quoteId, targetAccount (recipient accountId), and a unique customerTransactionId for idempotency; the transfer is created in a pending state
Fund the transfer by calling the fund-transfer endpoint (or follow the transfer's requiredAction if your Wise account requires explicit funding confirmation); unfunded transfers expire after a period defined in the quote
Poll the transfer status or use webhooks to track progression through processing → outgoing_payment_sent → funds_converted → outgoing_payment_sent → bounced_back (if failed); use the transfer ID as the reconciliation key
Known gotchas
The quote rate lock has an expiry time included in the quote response; if you do not fund the transfer before the quote expires, you must create a new quote at the then-current rate
The customerTransactionId field is your idempotency key; Wise returns the existing transfer if you resubmit with the same ID — use a deterministic ID (e.g., hash of your internal payment ID) to safely retry on network errors
Wise may place transfers in needs_review status for compliance screening; these require manual action and cannot be programmatically resolved — build alerting for this status
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp