Skip to main content
POST
CLI

Authorizations

Authorization
string
header
required

API Key in Bearer format (e.g., Bearer sk_test_...)

Headers

X-API-Key
string

API key

Idempotency-Key
string

Optional idempotency key. When supplied, a retry with the same key replays the original response (24h TTL) instead of being rejected as a duplicate.

Body

application/json
customerId
string
required

Customer ID

Example:

"cus_abc123"

sweepTargetAccountId
string
required

Target account for sweep. Must be a bank account (for crypto→fiat) or a wallet — EXTERNAL_WALLET, INFINITE_WALLET, or VIRTUAL_WALLET — (for crypto→crypto) that belongs to the same customer.

Example:

"eba_xyz789"

chainType
enum<string>
required

Chain type for the wallet address

Available options:
EVM,
TRON,
BITCOIN,
SOLANA
Example:

"EVM"

correspondentBankName
string

Correspondent/intermediary bank name

Maximum string length: 200
Example:

"Bank of America"

correspondentBankSwiftCode
string

Correspondent/intermediary bank SWIFT/BIC code (8 or 11 characters)

Example:

"IRVTUS3NXXX"

correspondentAccountNumber
string

Correspondent/intermediary account number

Maximum string length: 64
Example:

"9876543210"

sourceRail
enum<string>

Source rail - chain where deposits are received

Available options:
ACH,
ACH_SAME_DAY,
WIRE,
FED_NOW,
RTP,
EREBOR,
EREBOR_RAIL,
BALANCE,
SWIFT,
SEPA,
SEPA_INSTANT,
TIPS,
FASTER_PAYMENTS,
BACS,
CHAPS,
ELIXIR,
NICS,
EFT,
INTERAC,
NPP,
BECS,
UPI,
IMPS,
IMPS_WITH_FIRC,
NEFT,
RTGS,
BI_FAST,
ARTAJASA,
PIX,
TED,
TEF,
SPEI,
COELSA,
SINPE,
CIPS,
CFXPS,
CHATS,
ZENGIN,
KFTC,
FAST_SG,
MEPS,
DUITNOW,
PROMPTPAY,
INSTAPAY,
PESONET,
NAPAS,
BEFTN,
SLIPS,
ZAHAV,
GHIPSS,
NIBSS,
PESALINK,
RTC_ZA,
TZS_RTGS,
EGP_ACH,
JOD_ACH,
NPSS,
MADA,
QPS,
DOP_ACH,
GTQ_ACH,
HNL_ACH,
PEN_ACH,
JMD_ACH,
USD_ACH_SV,
USD_ACH_EC,
CLP_TEF,
PSE,
COP_ACH,
BOB_RTGS,
PYG_ACH,
CERTIS,
DKK_TIPS,
SENT,
NKS,
BANKGIROT,
HKD_FPS,
IBFT,
TRY_FAST,
ETHEREUM,
BASE,
POLYGON,
SOLANA,
TRON,
BITCOIN,
ARBITRUM
Example:

"BASE"

sourceCurrency
string

Source currency accepted for deposits

Example:

"USDC"

destinationRail
enum<string>

Destination rail - payment network or chain for sweep

Available options:
ACH,
ACH_SAME_DAY,
WIRE,
FED_NOW,
RTP,
EREBOR,
EREBOR_RAIL,
BALANCE,
SWIFT,
SEPA,
SEPA_INSTANT,
TIPS,
FASTER_PAYMENTS,
BACS,
CHAPS,
ELIXIR,
NICS,
EFT,
INTERAC,
NPP,
BECS,
UPI,
IMPS,
IMPS_WITH_FIRC,
NEFT,
RTGS,
BI_FAST,
ARTAJASA,
PIX,
TED,
TEF,
SPEI,
COELSA,
SINPE,
CIPS,
CFXPS,
CHATS,
ZENGIN,
KFTC,
FAST_SG,
MEPS,
DUITNOW,
PROMPTPAY,
INSTAPAY,
PESONET,
NAPAS,
BEFTN,
SLIPS,
ZAHAV,
GHIPSS,
NIBSS,
PESALINK,
RTC_ZA,
TZS_RTGS,
EGP_ACH,
JOD_ACH,
NPSS,
MADA,
QPS,
DOP_ACH,
GTQ_ACH,
HNL_ACH,
PEN_ACH,
JMD_ACH,
USD_ACH_SV,
USD_ACH_EC,
CLP_TEF,
PSE,
COP_ACH,
BOB_RTGS,
PYG_ACH,
CERTIS,
DKK_TIPS,
SENT,
NKS,
BANKGIROT,
HKD_FPS,
IBFT,
TRY_FAST,
ETHEREUM,
BASE,
POLYGON,
SOLANA,
TRON,
BITCOIN,
ARBITRUM
Example:

"ACH"

destinationCurrency
string

Destination currency to convert to

Example:

"USD"

destinationAchReference
string

Reference message for ACH transactions (max 10 characters)

Maximum string length: 10
Example:

"PAY123"

destinationWireMessage
string

Message for wire transfers (max 140 characters)

Maximum string length: 140
Example:

"Payment for services"

destinationSepaReference
string

Reference for SEPA transactions (6-140 characters)

Required string length: 6 - 140
Example:

"Invoice-2024-001"

destinationSpeiReference
string

Reference for SPEI transactions (max 40 characters)

Maximum string length: 40
Example:

"Payment123"

developerFeeFixed
string

Fixed fee in minor units of source currency

Example:

"100000"

developerFeePercent
number

Variable fee as decimal percentage (0.01 = 1%)

Example:

0.01

refundAccountId
string

Customer wallet account ID (inw_xxx or ewa_xxx) for refunds on failed transfers or when fees exceed deposit. Must have a wallet address; validated at request time. Falls back to org config if not set.

Example:

"inw_abc123"

externalReference
string

Client-provided external reference

Example:

"550e8400-e29b-41d4-a716-446655440000"

metadata
object

Additional metadata

Example:
documentIds
string[]

Standing supporting agreement document ID. Required when the destination is a third-party SWIFT bank account. The agreement is collected once and applied to each transfer created by this route.

Maximum array length: 1

Response

Fixed route created successfully

id
string
required

Fixed route ID (same as source account ID)

Example:

"vba_abc123"

customerId
string
required
Example:

"cus_abc123"

type
enum<string>
required
Available options:
FIAT_TO_CRYPTO,
CRYPTO_TO_FIAT,
CRYPTO_TO_CRYPTO,
FIAT_TO_FIAT,
FIAT_TO_CRYPTO_TO_FIAT
Example:

"FIAT_TO_CRYPTO"

status
string
required
Example:

"ACTIVE"

enabled
boolean
required

Whether the fixed route is enabled. When false, deposits land but do not auto-sweep.

Example:

true

sourceAccount
object
required
sweepTargetAccountId
string
required

ID of the account funds are swept to

Example:

"ewa_abc123"

sharesBalanceAccountCoordinates
boolean
required

Whether this route's deposit coordinates are shared with a USD balance account. When true, the route and a balance account are mutually exclusive for the customer — one must be closed/disabled before the other can be created or re-enabled. Only bank pay-in routes on the balance-account provider qualify (ACH, WIRE, or SWIFT); crypto routes and payout routes are always false.

Example:

false

createdAt
string<date-time>
required
updatedAt
string<date-time>
required
depositMatching
enum<string>

How incoming payments are matched to this deposit account. DEDICATED issues a unique account number and the sender does not include a payment reference. REFERENCE uses a shared account number and the sender must include sourceAccount.depositInstructions.reference on the payment (wire memo or ACH addenda). Omit to keep the default for the requested rails. USD ACH, wire, and SWIFT bank pay-ins only.

Available options:
DEDICATED,
REFERENCE
metadata
object

Custom metadata for the fixed route account, including nickname

destinationCurrency
string
Example:

"USDC"

destinationRail
string
Example:

"BASE"

sweepTargetAccount
object

Sweep target account details (only when expand=sweepTargetAccount)

developerFeeFixed
string

Fixed fee in minor units of source currency

Example:

"100000"

developerFeePercent
number

Variable fee as decimal percentage (0.01 = 1%)

Example:

0.01

refundAccountId
string

Customer wallet account ID (inw_xxx or ewa_xxx) for refunds on failed transfers or when fees exceed deposit

Example:

"inw_abc123"

correspondentBank
object | null

Correspondent/intermediary bank details (when applicable)

allowedSenderBanks
object[] | null

Allowed sender banks for deposits into this route. When set, deposits from sender banks not on this list are held for review instead of being processed automatically.

documentIds
string[] | null

Standing supporting agreement document ID applied to transfers created by this route.

Maximum array length: 1
minimumAmount
object

Minimum deposit amount for this route. Deposits below this floor are held instead of swept. This is a preview based on the stored route configuration; the validate endpoint returns the authoritative floor at submission time.