curl -X POST "{{base_url}}/account/crypto/transfer" \
-H "x-api-key: YOUR_CONSUMER_KEY" \
-H "Content-Type: application/json" \
-d '{"network":"BASE","asset":"USDC","amount":25,"address":"0x..."}'
{
"code": 200,
"message": "BASE USDC transfer initiated successfully.",
"data": {
"reference": "7c1e2a40-6b3d-4f1a-9c2e-1a0b8d4e6f21",
"amount": 25,
"asset": "USDC",
"asset_type": "stablecoin",
"network": "BASE",
"address": "0x...",
"transaction_hash": "0x..."
}
}
Account
Crypto transfer
Send crypto from the partner wallet to an external address.
POST
/
account
/
crypto
/
transfer
curl -X POST "{{base_url}}/account/crypto/transfer" \
-H "x-api-key: YOUR_CONSUMER_KEY" \
-H "Content-Type: application/json" \
-d '{"network":"BASE","asset":"USDC","amount":25,"address":"0x..."}'
{
"code": 200,
"message": "BASE USDC transfer initiated successfully.",
"data": {
"reference": "7c1e2a40-6b3d-4f1a-9c2e-1a0b8d4e6f21",
"amount": 25,
"asset": "USDC",
"asset_type": "stablecoin",
"network": "BASE",
"address": "0x...",
"transaction_hash": "0x..."
}
}
Sends
amount of asset from the partner wallet for that network to address. The wallet must already exist on the partner portal — ERC-20 for EVM chains, or a Solana / Stellar wallet for those chains.
Supported networks and assets match Crypto balance.
string
required
Destination address on
network.number
required
Amount to send. Must be greater than
0.string
required
Token symbol, such as
USDC or SOL. Must be supported on network.string
required
Chain to send on. Case-insensitive. Same aliases as Crypto balance.
string
Optional Stellar memo, up to 28 characters. Sent only when
network resolves to STELLAR. Ignored on other chains.string
Pretium withdrawal reference (UUID).
number
Amount submitted.
string
Normalized asset symbol.
string
native or stablecoin.string
Normalized chain name.
string
Destination address.
string
On-chain transaction hash when the signer returns one.
Errors
| Status | Message | When |
|---|---|---|
400 | Validation message | Missing fields, amount not greater than 0, or memo longer than 28 characters |
400 | Unauthorized | API key does not match a partner |
400 | Unsupported network. Allowed networks: ... | Unknown chain |
400 | Unsupported asset {ASSET} on {CHAIN}. Allowed: ... | Asset is not on that chain |
400 | No {wallet} wallet found. Create one on the partner portal first. | No ERC-20, Solana, or Stellar wallet for the chain |
400 | Failed to initiate {ASSET} transfer on {CHAIN} | Signer rejected the transfer. A chain error detail is appended when one is returned |
curl -X POST "{{base_url}}/account/crypto/transfer" \
-H "x-api-key: YOUR_CONSUMER_KEY" \
-H "Content-Type: application/json" \
-d '{"network":"BASE","asset":"USDC","amount":25,"address":"0x..."}'
{
"code": 200,
"message": "BASE USDC transfer initiated successfully.",
"data": {
"reference": "7c1e2a40-6b3d-4f1a-9c2e-1a0b8d4e6f21",
"amount": 25,
"asset": "USDC",
"asset_type": "stablecoin",
"network": "BASE",
"address": "0x...",
"transaction_hash": "0x..."
}
}
