Skip to Content
XebraDocs
APITransfers

Build a transfer

Checks the sender, the recipient and the sender's balance, prices the transfer, and returns the unsigned transactions in signing order. Nothing is signed or sent.

Requests go to mainnet

Building a transfer never sends it. Nothing moves until a wallet signs the steps and someone submits them.
POST
/v1/transfers

Checks the sender, the recipient and the sender's balance, prices the transfer, and returns the unsigned transactions in signing order. Nothing is signed or sent.

Request Body

application/json
  1. body
from*ChainId

A chain, as the API names it.

Value in"stellar""solana""sui""avalanche""optimism""arbitrum""base""polygon""unichain""codex""sonic""worldchain""monad""sei""xdc""hyperevm""ink""arc"
to*ChainId

A chain, as the API names it.

Value in"stellar""solana""sui""avalanche""optimism""arbitrum""base""polygon""unichain""codex""sonic""worldchain""monad""sei""xdc""hyperevm""ink""arc"
amount*Amount

USDC, as a decimal string with at most 6 places.

Match^\d{1,12}(\.\d{1,6})?$
sender*string

The address that signs and pays.

Length1 <= length <= 128
recipient*string

Who receives, on the destination.

Length1 <= length <= 128
speed?Speed

Standard waits for finality; Fast is attested sooner for Circle's fee.

Value in"standard""fast"
maxTotalFee?AmountOut

Refuse if fees have risen above this, typically the total you showed.

Match^\d{1,12}(\.\d{1,6})?$

Response Body

The quote and the steps to sign.

application/json
  1. response
quote*
steps*array<>
Items1 <= items
Example Request
curl -X POST 'https://api.xebra.exchange/v1/transfers' \  -H 'Content-Type: application/json' \  -d '{  "from": "stellar",  "to": "stellar",  "amount": "string",  "sender": "string",  "recipient": "string"}'
Example Response
{  "quote": {    "from": "stellar",    "to": "stellar",    "speed": "standard",    "amount": "string",    "recipientGets": "string",    "fees": {      "xebra": "string",      "circle": "string",      "delivery": "string",      "total": "string"    },    "minimum": "string",    "maximum": "string",    "circleStatus": "ok",    "expiresAt": "2019-08-24T14:15:22Z"  },  "steps": [    {      "id": "approve",      "chain": "stellar",      "description": "string",      "tx": {        "kind": "stellar",        "xdr": "string",        "networkPassphrase": "string"      },      "expiresAt": "2019-08-24T14:15:22Z"    }  ]}