Create a Route

Beta
<Callout intent="warning"> The endpoints exposed here are currently in **Beta**! As we continue to build our initial offering, these endpoints may implement breaking changes. Be sure to check back for our change log regularly as a precaution. </Callout> Create a persistent source → destination route. The response includes reusable settlement instructions — a wire memo for fiat sources, or one mint or redeem address per supported chain for blockchain sources — that the caller uses to initiate transfers. A single set of instructions is valid indefinitely; every inbound transfer matching them triggers a separate settlement to the route's destination. The route topology is determined by `from.currency`, `to.currency`, and the destination `to.chain`. `to.accountId` references a registered account from `GET /v0/accounts`. <Callout intent="warning"> **Fiat routes need the bank account on file first.** Add the bank account you'll *send from* (mint from `usd`) or *receive into* (redeem to `usd`) before you transact. If a wire arrives from — or a payout is owed to — a bank account Agora hasn't added and verified, settlement is held and processing is delayed until it's on file. </Callout> ### Supported topologies | `from.currency` | `to.currency` (+ `to.chain`) | Behavior | |---|---|---| | `usd` | `ausd` on a chain | Mint: wire USD with the memo, receive AUSD at the destination | | `ausd` | `usd` (bank account) | Redeem: send AUSD to the redeem address, receive a USD payout | | `stablecoin` (wildcard) | `ausd` on a chain | Mint with stablecoins: send any in-scope stablecoin to the mint address, receive AUSD at the destination. See the `stablecoin` section below for the in-scope asset list. | | `ausd` | `usdc` on a chain | Redeem to tokens: send AUSD to the redeem address, receive `usdc`. | ### What `stablecoin` means `stablecoin` is a wildcard source currency standing in for any stablecoin Agora currently accepts — **today, only `usdc`**. The mint address a mint-from-stablecoin route returns is currency-agnostic, settling AUSD regardless of which in-scope stablecoin is sent. If you have questions about which currencies can be accepted, reach out to the [operations team](mailto:support@agora.finance).

Authentication

AuthorizationBearer

Session JWT from POST /v0/auth/token, sent as Authorization: Bearer <sessionJwt>.

Request

This endpoint expects an object.
fromobjectRequired
toobjectRequired
namestringOptional<=200 characters

Response

OK
idstringformat: "uuid"

Deterministic route UUID — same canonical inputs always derive the same id.

createdAtdatetime
fromobject
toobject
instructionslist of objects

Next-step instructions. Mint-fiat: one wire instruction with memo + beneficiary. On-chain directions: one deposit address per supported chain, alphabetical by chain.

namestring or null

User-set label, or null when unset.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error