Wallet API
Transfer assets between spot and perp wallets, submit withdrawals, and query deposit/withdraw history.
Base URL: https://api.bond.xyz — All wallet endpoints require authentication.
Transfer USDC: Spot to Perp
POST
/sapi/v1/asset/transferQuoteFromSpotToPerp
Transfer USDC from spot balance to perp wallet. Weight: 900.
amount
DECIMAL
YES
Amount to transfer
recvWindow
DECIMAL
NO
Max 60000
timestamp
LONG
YES
Current timestamp in ms
{ "s": "70.00", // spot USDC balance after transfer "p": "150.00" // perp USDC balance after transfer }
Transfer USDC: Perp to Spot
POST
/sapi/v1/asset/transferQuoteFromPerpToSpot
Transfer USDC from perp wallet to spot balance. Weight: 900.
amount
DECIMAL
YES
Amount to transfer
recvWindow
DECIMAL
NO
Max 60000
timestamp
LONG
YES
Current timestamp in ms
{ "s": "100.00", // spot USDC balance after transfer "p": "120.00" // perp USDC balance after transfer }
Submit Withdrawal
POST
/sapi/v1/capital/withdraw/apply
Submit a withdraw request. Weight: 900. Security: USER_DATA.
coin
STRING
YES
Coin name (e.g., BTC)
withdrawOrderId
STRING
NO
Client-side ID for withdrawal; can be used to query history
amount
DECIMAL
YES
Amount to withdraw
recvWindow
DECIMAL
NO
Max 60000
timestamp
LONG
YES
Current timestamp in ms
{ "id": "7213fea8e94b4a5593d507237e5a555b" }
Deposit History
GET
/sapi/v1/capital/deposit/hisrec
Fetch deposit history. Weight: 1. Security: USER_DATA. Default time range: last 90 days. Max range: 90 days.
coin
STRING
NO
Coin name (e.g., BTC)
startTime
LONG
NO
Default: 90 days from current timestamp
endTime
LONG
NO
Default: present timestamp
limit
INT
NO
Default 1000; max 1000
recvWindow
DECIMAL
NO
Max 60000
timestamp
LONG
YES
Current timestamp in ms
[ { "amount": "0.001", "coin": "BTC", "address": "0x1234...5678", "timestamp": 1661493146000 }, { "amount": "100.00", "coin": "USDC", "address": "0x1234...5678", "timestamp": 1661493146000 } ]
Withdraw History
GET
/sapi/v1/capital/withdraw/history
Fetch withdraw history. Weight: 1. Security: USER_DATA. Default time range: last 90 days. Max range: 90 days.
coin
STRING
NO
Coin name (e.g., BTC)
startTime
LONG
NO
Default: 90 days from current timestamp
endTime
LONG
NO
Default: present timestamp
limit
INT
NO
Default 1000; max 1000
recvWindow
DECIMAL
NO
Max 60000
timestamp
LONG
YES
Current timestamp in ms
[ { "amount": "0.001", "coin": "BTC", "address": "0x1234...5678", "timestamp": 1661493146000 }, { "amount": "100.00", "coin": "USDC", "address": "0x1234...5678", "timestamp": 1661493146000 } ]