Deposit & Withdrawal
Get all deposit assets¶
request:
curl 'https://www.asterdex.com/bapi/futures/v1/public/future/aster/deposit/assets?chainIds=56&networks=EVM&accountType=spot'
params:
| param | type | required | description |
|---|---|---|---|
| chainIds | string | true | Chain ID, multiple IDs separated by commas |
| networks | string | false | Network type, e.g., EVM, SOLANA, multiple networks separated by commas |
| accountType | string | true | Account type, e.g., spot, perp |
response:
{
"code": "000000",
"message": null,
"messageDetail": null,
"data": [
{
"name": "ASTER",
"displayName": "ASTER",
"contractAddress": "0x000ae314e2a2172a039b26378814c252734f556a",
"decimals": 18,
"network": "EVM",
"chainId": 56,
"depositType": "normal",
"rank": 10,
"isNative": false,
"admin": null,
"bank": null,
"tokenVaultAuthority": null,
"tokenVault": null,
"tokenMint": null,
"associatedTokenProgram": null,
"tokenProgram": null,
"systemProgram": null,
"ixSysvar": null,
"priceFeed": null,
"priceFeedProgram": null,
"solVault": null
}
],
"success": true
}
Get all withdraw assets¶
request:
curl 'https://www.asterdex.com/bapi/futures/v1/public/future/aster/withdraw/assets?chainIds=56&networks=EVM&accountType=spot'
params:
| param | type | required | description |
|---|---|---|---|
| chainIds | string | true | Chain ID, multiple IDs separated by commas |
| networks | string | false | Network type, e.g., EVM, SOLANA, multiple networks separated by commas |
| accountType | string | true | Account type, e.g., spot, perp |
response:
{
"code": "000000",
"message": null,
"messageDetail": null,
"data": [
{
"name": "ASTER",
"displayName": "ASTER",
"contractAddress": "0x000ae314e2a2172a039b26378814c252734f556a",
"decimals": 18,
"network": "EVM",
"chainId": 56,
"withdrawType": "autoWithdraw",
"rank": 10,
"isNative": false,
"isProfit": true,
"admin": null,
"bank": null,
"tokenVaultAuthority": null,
"tokenVault": null,
"tokenMint": null,
"associatedTokenProgram": null,
"tokenProgram": null,
"systemProgram": null,
"ixSysvar": null,
"priceFeed": null,
"priceFeedProgram": null,
"solVault": null
}
],
"success": true
}
Estimate withdraw fee¶
request:
curl 'https://www.asterdex.com/bapi/futures/v1/public/future/aster/estimate-withdraw-fee?chainId=56&network=EVM¤cy=ASTER&accountType=spot'
params:
| param | type | required | description |
|---|---|---|---|
| chainId | int | true | Chain ID |
| network | string | true | Network type, e.g., EVM, SOL |
| currency | string | true | Currency name, e.g., ASTER |
| accountType | string | true | Account type, e.g., spot, perp |
response:
{
"code": "000000",
"message": null,
"messageDetail": null,
"data": {
"gasPrice": null,
"gasLimit": 200000,
"nativePrice": null,
"tokenPrice": 1.12357820,
"gasCost": 0.0891,
"gasUsdValue": 0.1
},
"success": true
}
- gasCost: Estimated withdrawal fee in token units
Withdraw signature¶
- when you withdraw, you should supply a EIP712 signature. You can get the signature by signing the following message with your wallet.
EIP712 Domain
{
"name": "Aster",
"version": "1",
"chainId": 56,
"verifyingContract": "0x0000000000000000000000000000000000000000"
}
| field | desc |
|---|---|
| name | fix string 'Aster' |
| version | fix string '1' |
| chainId | the chainId of withdraw chain |
| verifyingContract | fix address: zero address |
EIP712 Types
{
"Action": [
{"name": "type", "type": "string"},
{"name": "destination", "type": "address"},
{"name": "destination Chain", "type": "string"},
{"name": "token", "type": "string"},
{"name": "amount", "type": "string"},
{"name": "fee", "type": "string"},
{"name": "nonce", "type": "uint256"},
{"name": "aster chain", "type": "string"}
]
}
| field | desc |
|---|---|
| type | fix string 'Withdraw' |
| destination | the receipt address, should be user's register address |
| destination Chain | the chain name of receipt address, you can see the defination of chainName below |
| token | the name of the currency user withdraw, e.g. ASTER, you can get the name from withdraw/asset API |
| amount | the amount user withdraw in token unit, eg. '1.23' |
| fee | the fee user will pay in token unit, eg. '0.01' (you can get the fee from withdraw/estimate-withdraw-fee API) |
| nonce | a unique number, use the current timestamp in milliseconds and multiply '1000' |
| aster chain | fix string 'Mainnet' |
chainName definition
| chainId | chainName |
|---|---|
| 56 | BSC |
| 42161 | Arbitrum |
| 1 | ETH |
Withdraw¶
request:
curl -X POST "https://www.asterdex.com/bapi/futures/v1/private/future/aster/user-withdraw" -H "accept: */*" -H "x-gray-env: normal" -H "x-trace-id: fa2a5961b4a346e083f2bb0bffe39e2f" -H "Content-Type: application/json" \
-d "{ \"accountType\": \"spot\", \"amount\": \"10.2\", \"chainId\": 97, \"currency\": \"USDT\", \"fee\": \"0.01\", \"nonce\": \"1761029928213000\", \"receiver\": \"0x4C5EdB66CC7626a1C92d5178c3E5c45409BcE6D7\", \"userSignature\": \"0xc0299efe235ec194d070163b1f92ebf5d01bd820c1c08fa9730929c7a36172a9001b99203b2f9997aa7d41b7658348704e0515f4c40e76f1892f7a5b0af31daa1c\"}"
params:
| param | type | required | description |
|---|---|---|---|
| accountType | string | true | Account type, e.g., spot, perp |
| amount | string | true | Withdraw amount in token unit |
| chainId | int | true | Chain ID |
| currency | string | true | Currency name, e.g., ASTER |
| fee | string | true | Withdraw fee in token unit |
| nonce | string | true | Unique number, should be the save in signature |
| receiver | string | true | Withdraw receipt address, should be the save in signature |
| userSignature | string | true | EIP712 signature |
response:
{
"code": "200",
"message": "success",
"messageDetail": null,
"data": {
"withdrawId": "1234567",
"hash": "0x9a40f0119b670fb6b155744b51981f91c4c4c8a20c333441a63853fe7d055c90"
},
"success": true
}
| field | desc |
|---|---|
| withdrawId | the withdraw request id, a unique id |
| hash | the digest of user's signature |
Withdraw by API [evm] [futures]¶
request:
curl --location --request POST 'https://fapi.asterdex.com/fapi/aster/user-withdraw?chainId=56&asset=USDT&amount=31&fee=0.3&receiver=0x000ae314e2a2172a039b26378814c252734f556a&nonce=1761210000000000&userSignature=0xde4ca529eef20db136eed1daf1d072083431d5279e6d6e219600cf57161c5e6d1232af3c8a8ef37ba8b5963f439ef9cc2b475fe18dcc3732dda9fb93c94a3abd1c&recvWindow=60000×tamp=1761230958410&signature=f5fd60da19be213d58914dd6f46bc400ada610fb916998dfc01dd346bfdad512' \
--header 'Content-Type: application/json' \
--header 'X-MBX-APIKEY: Your API KEY'
params:
| param | type | required | description |
|---|---|---|---|
| amount | string | true | Withdraw amount in token unit |
| chainId | int | true | Chain ID |
| asset | string | true | Currency name, e.g., ASTER |
| fee | string | true | Withdraw fee in token unit |
| nonce | string | true | Unique number, should be the save in signature |
| receiver | string | true | Withdraw receipt address, should be the save in signature |
| userSignature | string | true | EIP712 signature |
| timestamp | int | true | Current timestamp in milliseconds |
| recvWindow | int | false | The number of milliseconds after timestamp the request is valid for |
| signature | string | true | HMAC SHA256 signature of the request |
response:
{
"withdrawId": "1234567",
"hash": "0x9a40f0119b670fb6b155744b51981f91c4c4c8a20c333441a63853fe7d055c90"
}
| field | desc |
|---|---|
| withdrawId | the withdraw request id, a unique id |
| hash | the digest of user's signature |
Withdraw by API [evm] [spot]¶
request:
curl --location --request POST 'https://sapi.asterdex.com/api/v1/aster/user-withdraw?chainId=56&asset=ASTER&amount=1&fee=0.095&receiver=0x000ae314e2a2172a039b26378814c252734f556a&nonce=1761222960000000&userSignature=0x39051cc68de0fefb8e823259d3f7014fc787a8008b65d2a89d70defc48c3f91b35a4a819718c22ffcaeb143c8e1735621a0768d7c69e45ad8fbcf9bd315988423b&recvWindow=60000×tamp=1761230958410&signature=f5fd60da19be213d58914dd6f46bc400ada610fb916998dfc01dd346bfdad51' \
--header 'Content-Type: application/json' \
--header 'X-MBX-APIKEY: Your API KEY'
params:
| param | type | required | description |
|---|---|---|---|
| amount | string | true | Withdraw amount in token unit |
| chainId | int | true | Chain ID |
| asset | string | true | Currency name, e.g., ASTER |
| fee | string | true | Withdraw fee in token unit |
| nonce | string | true | Unique number, should be the save in signature |
| receiver | string | true | Withdraw receipt address, should be the save in signature |
| userSignature | string | true | EIP712 signature |
| timestamp | int | true | Current timestamp in milliseconds |
| recvWindow | int | false | The number of milliseconds after timestamp the request is valid for |
| signature | string | true | HMAC SHA256 signature of the request |
response:
{
"withdrawId": "1234567",
"hash": "0x9a40f0119b670fb6b155744b51981f91c4c4c8a20c333441a63853fe7d055c90"
}
| field | desc |
|---|---|
| withdrawId | the withdraw request id, a unique id |
| hash | the digest of user's signature |
Withdraw by API [solana] [futures]¶
request:
curl --location --request POST 'https://fapi.asterdex.com/fapi/aster/user-solana-withdraw?chainId=101&asset=USDT&amount=3&fee=0.6&receiver=4wTV1YmiEkRvAtNtsSGPtUrqRYQMe5SKy2uB4Jjaxnjf&recvWindow=60000×tamp=1762440135477&signature=a773a7e83c2fe4581eb2dc0500000faa3138173ba6262316c0d83b3498dea319' \
--header 'Content-Type: application/json' \
--header 'X-MBX-APIKEY: Your API KEY'
params:
| param | type | required | description |
|---|---|---|---|
| amount | string | true | Withdraw amount in token unit |
| chainId | int | true | fix value 101 |
| asset | string | true | Currency name, e.g., USDT |
| fee | string | true | Withdraw fee in token unit |
| receiver | string | true | Withdraw receipt address, should be the save in signature |
| timestamp | int | true | Current timestamp in milliseconds |
| recvWindow | int | false | The number of milliseconds after timestamp the request is valid for |
| signature | string | true | HMAC SHA256 signature of the request |
response:
{
"withdrawId": "1234567",
"hash": "0x9a40f0119b670fb6b155744b51981f91c4c4c8a20c333441a63853fe7d055c90"
}
Withdraw by API [solana] [spot]¶
request:
curl --location --request POST 'https://sapi.asterdex.com/api/v1/aster/user-solana-withdraw?chainId=101&asset=USDT&amount=0.97&fee=0.5&receiver=BzsJhmtg2UtQWNw6764DkK5Y4GPjc1XMzRqAGqSziymK&recvWindow=60000×tamp=1764663883270&signature=d2fbaef40388208b47e0326fafc50798206f5b198762110ce1bf8879b5d9da22' \
--header 'Content-Type: application/json' \
--header 'X-MBX-APIKEY: Your API KEY'
params:
| param | type | required | description |
|---|---|---|---|
| amount | string | true | Withdraw amount in token unit |
| chainId | int | true | fix value 101 |
| asset | string | true | Currency name, e.g., USDT |
| fee | string | true | Withdraw fee in token unit |
| receiver | string | true | Withdraw receipt address, should be the save in signature |
| timestamp | int | true | Current timestamp in milliseconds |
| recvWindow | int | false | The number of milliseconds after timestamp the request is valid for |
| signature | string | true | HMAC SHA256 signature of the request |
response:
{
"withdrawId": "1234567",
"hash": "0x9a40f0119b670fb6b155744b51981f91c4c4c8a20c333441a63853fe7d055c90"
}