Authenticate using a Wise API token (generated in your Wise account settings); pass it as 'Bearer {token}' in the Authorization header on all requests.
Fetch your profile ID: GET /v1/profiles — use the 'business' type profile ID for commercial use; store this as it is required for most subsequent calls.
List your multi-currency account balances: GET /v4/profiles/{profileId}/balances?types=STANDARD — each balance object shows 'currency' and 'amount.value'.
To send a transfer, first create a quote: POST /v3/profiles/{profileId}/quotes with 'sourceCurrency', 'targetCurrency', 'sourceAmount' or 'targetAmount', and 'targetAccount' (recipient account ID); the quote locks an exchange rate for a window.
Create the transfer: POST /v1/transfers with 'targetAccount' (recipient ID), 'quoteUuid' from the quote, 'customerTransactionId' (your idempotency UUID), and 'details.reference'.
Fund the transfer: POST /v3/profiles/{profileId}/transfers/{transferId}/payments with 'type: BALANCE' to deduct from your Wise balance, or follow the bank transfer instructions returned for manual funding; monitor status via GET /v1/transfers/{transferId}.
Known gotchas
Quotes have a short expiry (typically 30–60 minutes) — if you create a quote but the customer takes too long to confirm, the quote expires and the exchange rate is no longer locked; you must create a new quote before creating the transfer.
The Wise API has separate sandbox (api.sandbox.transferwise.tech) and production (api.wise.com) base URLs with separate tokens; sandbox balances are fake and sandbox transfers do not move real money.
Strong Customer Authentication (SCA) may be required for transfers above certain thresholds in regulated markets — the API returns a 422 with 'type: INSUFFICIENT_FUNDS' or a specific SCA challenge response; Wise's SCA flow requires a one-time password sent to the account owner's device.
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