Skip to main content
POST
/
v1
/
transfers
Create a transfer
curl --request POST \
  --url https://api.ledger.so/v1/transfers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "customerId": "<string>",
  "amount": "<string>",
  "destinationCurrency": "<string>",
  "destinationPaymentRail": "<string>",
  "destinationAddress": "<string>",
  "sourceCurrency": "usdc",
  "clientReferenceId": "<string>"
}
'
{
  "ok": true,
  "data": {
    "id": "<string>",
    "customerId": "<string>",
    "type": "<string>",
    "status": "<string>",
    "amount": "<string>",
    "currency": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "sourceCurrency": "<string>",
    "destinationCurrency": "<string>",
    "destinationAddress": "<string>",
    "finalAmount": "<string>",
    "destinationTxHash": "<string>",
    "gasFee": "<string>",
    "exchangeFee": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Pass your API key as a Bearer token: Authorization: Bearer ld_live_...

Body

application/json
customerId
string
required

The customer ID initiating the transfer

amount
string
required

Transfer amount as a decimal string

destinationCurrency
string
required

Destination currency code

destinationPaymentRail
string
required

Payment rail for the destination (e.g. "ach", "wire", "polygon")

destinationAddress
string
required

Destination address (counterparty ID, wallet address, etc.)

sourceCurrency
string
default:usdc

Source currency (defaults to "usdc")

clientReferenceId
string

Your own reference ID for idempotency or tracking

Response

Transfer created

ok
enum<boolean>
required
Available options:
true
data
object
required