Endpoint
Body
string
required
The
walletRef of the user paying.string
required
The
walletRef of the user being paid. It has to be a different address from from.string
required
The network to send on. Both addresses need to work on it. Transfers stay on one network. To gather balances from several networks into one, use settlement.
string
required
USDC or USDT.number
required
A positive amount of the coin, with up to 6 decimal places. The smallest transfer is 0.1 on most networks, 0.5 on Avalanche, and 20 on Ethereum.
string
Any text unique to this transfer. If you send the same key with the same request again, you get the original transfer back instead of a second one. Sending it with a different
from, to, chain, token, or amount is refused with 409. Transfers and withdrawals share keys, so a key you’ve used for a withdrawal can’t be used for a transfer.Example
Response (202)
202 means we’ve accepted the transfer and it goes out shortly. Check get a transfer or wait for wallet.transfer.completed. If you send an idempotency_key you’ve used before, you get 200 with the original transfer.
string
required
queued, sending, completed, failed, or under_review. failed means nothing moved, and the money is still at the from address. under_review is rare: we couldn’t confirm what happened, so we’re checking. Don’t treat it as paid or failed yet.string
The blockchain transaction ID, once the transfer completes.
null until then, and when failed.The receiving address doesn’t get a
wallet.deposit.received for a transfer. Credit the person receiving it when you get wallet.transfer.completed, so the same money is never counted twice.Errors
Listing your transfers
wallets:read. Newest first.
number
default:"20"
How many to return at once, up to 100.
number
default:"0"
How many to skip. Use it to get the next page.
Getting one transfer
wallets:read. Returns { "transfer": { ... } } with the same fields as above, or 404 if the id isn’t yours.
