Query AceDataCloud Platform $ACE Token Holdings and Discounts
Return the $ACE token quantity held by the on-chain wallet bound to the current account and the global discount rate enjoyed as a result. The $ACE token is the utility token of the AceDataCloud platform, and different tiers of holdings allow for different discounts on all recharge orders:
| $ACE Holdings | Discount Rate |
|---|---|
| < 100 | 1.00 |
| 100 – 999 | 0.95 |
| 1,000 – 9,999 | 0.90 |
| 10,000+ | 0.80 |
The discount rates and specific tiers may be adjusted at any time, please refer to the
discount_ratereturned by this interface, and do not hard-code the tier table on the client side.
ℹ️ This interface belongs to the AceDataCloud Platform Management API, with the unified prefix
https://platform.acedata.cloud/api/v1/.
¶ Interface Overview
| Item | Content |
|---|---|
| Method | GET |
| URL | https://platform.acedata.cloud/api/v1/coin/ |
| Auth | ✅ Requires account token |
¶ Authentication Instructions (How to Obtain Account Token)
Request Header:
Authorization: Bearer platform-v1-92eb****629c
How to obtain: Log in to the AceDataCloud Platform → Account Token Console → Click the "Create" button. For details, see Manage AceDataCloud Platform Account Tokens.
¶ Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
address |
string | No | — | Wallet address. If not provided, the currently bound wallet of the account will be used. |
chain |
string | No | solana |
Chain: solana / ethereum / base / polygon |
¶ Request Example
¶ cURL
curl 'https://platform.acedata.cloud/api/v1/coin/' \
-H 'accept: application/json' \
-H 'authorization: Bearer platform-v1-92eb****629c'
¶ Python
import requests
resp = requests.get(
"https://platform.acedata.cloud/api/v1/coin/",
headers={"authorization": "Bearer platform-v1-92eb****629c"},
timeout=10,
)
data = resp.json()
print(f"Holdings: {data['balance']} $ACE")
print(f"Discount Rate: {data['discount_rate']}")
print(f"Discount Tier: {data.get('tier', 'N/A')}")
print(f"Amount needed for next tier: {data.get('next_tier_at', 0) - data['balance']} $ACE")
¶ Node.js
const r = await fetch('https://platform.acedata.cloud/api/v1/coin/', {
headers: { authorization: 'Bearer platform-v1-92eb****629c' },
})
console.log(await r.json())
¶ Response Example (HTTP 200)
{
"address": "9Aa5...PUMP",
"chain": "solana",
"balance": 1250.5,
"tier": "Silver",
"discount_rate": 0.90,
"next_tier": "Gold",
"next_tier_at": 10000,
"all_tiers": [
{ "name": "None", "min": 0, "discount_rate": 1.00 },
{ "name": "Bronze", "min": 100, "discount_rate": 0.95 },
{ "name": "Silver", "min": 1000, "discount_rate": 0.90 },
{ "name": "Gold", "min": 10000, "discount_rate": 0.80 }
],
"queried_at": "2026-04-26T08:30:00Z"
}
¶ Response Field Descriptions
| Field | Type | Description |
|---|---|---|
address |
string | Wallet address |
chain |
string | Chain code |
balance |
number | Current $ACE holdings |
tier |
string | Current tier name (None / Bronze / Silver / Gold) |
discount_rate |
number | Discount rate corresponding to the current tier (1.0 = no discount, 0.80 = 20% off) |
next_tier |
string | null |
next_tier_at |
number | null |
all_tiers |
array | All tier definitions |
queried_at |
string | Time of on-chain data query |
¶ Error Handling
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_address |
address is not a valid wallet address |
| 400 | unsupported_chain |
chain value is not in the supported list |
| 401 | not_authenticated |
Missing account token |
| 503 | chain_unavailable |
On-chain node temporarily unavailable, exponential backoff recommended |
¶ Practical Tips
- Holdings data has a 1-3 minute delay—it is refreshed periodically from the on-chain RPC node, not in real-time. Please wait if you have just purchased.
- Discounts are applied automatically: When calling Create AceDataCloud Platform Recharge Order, the server will automatically apply discounts based on current holdings, no need to manually pass
discount_rate. - Multiple wallets: This interface retrieves the currently bound wallet of the account. When multiple wallets are bound, it automatically calculates based on the maximum holdings.
- How to bind a wallet: Log in to the AceDataCloud Platform → Personal Center → Wallet Binding.
¶ Related Interfaces
- Create AceDataCloud Platform Recharge Order — Discounts are automatically applied when creating an order
- Get AceDataCloud Platform Order Details — View the
discount_amountof a specific order - Get AceDataCloud Platform Global Configuration
