Account
Read your own watchlist, notifications, referrals, OPC, VIP status, rewards, and live trading data using your API key.
The Account endpoints return data belonging to the API key holder — watchlist groups, notifications, referral status, OPC configuration, VIP/credit balance, and dPro points and fees. All endpoints are read-only (GET); there is no user or address parameter — identity comes exclusively from the API key.
Your API key reads your own account data. Keep it secret. A leaked key exposes your watchlist, referral earnings, and more. Rotate immediately at the developer portal if compromised.
Cost
All Account endpoints are cheap reads costing 1 credit per call.
See Conventions for credit mechanics, rate-limit headers, and the paginated response envelope.
Account & profile
GET /account
Summary of the authenticated key — wallet address, VIP tier, rate limit, credit balance, and key prefix. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"walletAddress": "0xabcdef1234567890abcdef1234567890abcdef12",
"tier": "PRO",
"rpm": 120,
"credits": {
"balance": "850",
"resetAnchorAt": "2026-07-01T00:00:00.000Z"
},
"keyPrefix": "dp_a1b2c3"
}
}GET /account/vip
Current VIP subscription — tier, status, renewal settings, and period boundaries. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"tier": "PRO",
"status": "active",
"pendingTier": null,
"autoRenew": true,
"currentPeriodEnd": "2026-07-31T00:00:00.000Z",
"cancelledAt": null,
"requiresPayment": false
}
}GET /account/vip/entitlements
Feature entitlements for the current VIP tier — fee discounts, API rate limits, and feature flags. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"tier": "PRO",
"feeDiscount": "0.20",
"apiRateLimit": { "rpm": 120 },
"features": {
"advancedCharts": true,
"alertsEnabled": true
}
}
}GET /account/credits
Credit balance and next reset anchor. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"balance": "850",
"resetAnchorAt": "2026-07-01T00:00:00.000Z"
}
}GET /account/credits/transactions
Paginated credit ledger — API call charges and top-ups. Credits: 1
| Param | Required | Default | Notes |
|---|---|---|---|
page | no | 1 | |
limit | no | 20 |
total is null (unknown); use hasMore for forward paging.
{
"code": "0",
"msg": "success",
"data": {
"items": [
{
"id": "10042",
"type": "charge",
"amount": "-1",
"balanceAfter": "849",
"referenceType": "api_call",
"referenceId": "req_xyzabc",
"notes": null,
"createdAt": "2026-06-29T14:22:10.000Z"
}
],
"page": 1,
"limit": 20,
"total": null,
"hasMore": true
}
}Watchlist & notifications
GET /account/watchlist
All watchlist groups for the authenticated user with entry counts. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"items": [
{ "id": "1", "name": "My Perps", "entryCount": 5 },
{ "id": "2", "name": "DeFi", "entryCount": 12 }
],
"page": 1,
"limit": 2,
"total": 2,
"hasMore": false
}
}GET /account/watchlist/{groupId}
Paginated entries within a watchlist group. Returns 404 if the group does not belong to the authenticated user. Credits: 1
| Param | Required | Default | Notes |
|---|---|---|---|
page | no | 1 | |
limit | no | 20 |
{
"code": "0",
"msg": "success",
"data": {
"items": [
{ "coin": "BTC", "addedAt": "2026-05-10T08:00:00.000Z" },
{ "coin": "ETH", "addedAt": "2026-05-11T09:30:00.000Z" }
],
"page": 1,
"limit": 20,
"total": 2,
"hasMore": false
}
}GET /account/notifications
Paginated notification list for the authenticated user. Credits: 1
| Param | Required | Default | Notes |
|---|---|---|---|
isRead | no | — | true or false — filter by read status |
type | no | — | Notification type filter |
coin | no | — | Coin/symbol filter |
order | no | desc | asc · desc |
page | no | 1 | |
limit | no | 20 |
The response extends the standard envelope with unreadCount alongside the pagination fields.
{
"code": "0",
"msg": "success",
"data": {
"items": [
{
"id": "5001",
"type": "price_alert",
"coin": "BTC",
"message": "BTC crossed $65,000",
"isRead": false,
"createdAt": "2026-06-29T12:00:00.000Z"
}
],
"page": 1,
"limit": 20,
"total": 7,
"hasMore": false,
"unreadCount": 3
}
}GET /account/notifications/unread
Quick unread indicator — cheaper than fetching the full list. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"unread": true,
"count": 3
}
}Referrals & rewards
GET /account/referrals
Referral status — ref code, referrer binding, trading volumes, builder rewards, and current tier level. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"refCode": "DPRO-XYZ7",
"referrerAddress": "0x1111111111111111111111111111111111111111",
"isBound": true,
"refereesTotalVolume": "1500000.00",
"selfTradingVolume": "320000.00",
"builderRewards": "480.50",
"claimable": "120.25",
"currentLevel": "SILVER"
}
}GET /account/referrals/referees
All referred users with per-referee volume and reward breakdown, plus aggregate context fields. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"items": [
{
"userAddress": "0x2222222222222222222222222222222222222222",
"boundAt": "2026-05-01T10:00:00.000Z",
"totalTradeVolume": "50000.00",
"totalBuilderFee": "50.00",
"builderReward": "25.00"
}
],
"page": 1,
"limit": 30,
"total": 30,
"hasMore": false,
"refereesTotalVolume": "1500000.00",
"totalBuilderReward": "480.50",
"referralRebateRate": "0.50",
"currentLevel": "SILVER"
}
}GET /account/referrals/claims
Merkle-claim rounds for referral rewards (super_referral). Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"rounds": [
{
"roundId": 3,
"amount": "120.25",
"merkleRoot": "0xaabbcc...",
"publishedAt": "2026-06-15T00:00:00.000Z",
"claimed": false
}
],
"account": "0xabcdef...",
"distributor": "0xdistributor..."
}
}GET /account/referrals/claims/status
Whether the authenticated user has unclaimed referral rewards in any published round. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"hasPendingClaim": true,
"totalClaimable": "120.25",
"nextRoundId": 3
}
}GET /account/referrals/claims/all
Claim-all payload for all unclaimed super_referral rounds — use this to build the on-chain claim transaction. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"roundIds": [3, 4],
"amounts": ["120.25", "35.00"],
"proofs": [["0xproof1a...", "0xproof1b..."], ["0xproof2a..."]],
"account": "0xabcdef...",
"distributor": "0xdistributor..."
}
}GET /account/points
dPro points overview — balance, total earned, rank, and per-volume-bucket breakdown. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"walletAddress": "0xabcdef1234567890abcdef1234567890abcdef12",
"balance": "2345.67",
"rawBalance": 234567,
"totalEarned": "5000.00",
"rank": 42,
"buckets": [
{ "bucket": "perp", "rawPoints": 180000, "points": "1800.00", "volumeUsd": "900000.00" },
{ "bucket": "spot", "rawPoints": 54567, "points": "545.67", "volumeUsd": "272835.00" }
]
}
}GET /account/points/transactions
Paginated dPro points ledger. Credits: 1
| Param | Required | Default | Notes |
|---|---|---|---|
bucket | no | — | Filter by volume bucket (e.g. perp, spot) |
page | no | 1 | |
limit | no | 20 |
{
"code": "0",
"msg": "success",
"data": {
"items": [
{
"id": "7001",
"volumeBucket": "perp",
"role": "taker",
"sourceType": "trade",
"volumeUsd": "1000.00",
"vipTierSnap": "PRO",
"vipMultiplierSnap": "1.5",
"rawPoints": "1500",
"points": "15.00",
"balanceAfter": "2345.67",
"eventAt": "2026-06-29T10:00:00.000Z",
"eventTimeSource": "fill",
"tradeTxHash": "0xhash..."
}
],
"page": 1,
"limit": 20,
"total": 150,
"hasMore": true
}
}GET /account/fees
Paginated dPro builder fee records for the authenticated wallet. Credits: 1
| Param | Required | Default | Notes |
|---|---|---|---|
startTime | no | — | ISO-8601 or Unix-ms; up to 31 days before endTime |
endTime | no | — | ISO-8601 or Unix-ms; range must not exceed 31 days |
page | no | 1 | |
limit | no | 100 | max 500 |
{
"code": "0",
"msg": "success",
"data": {
"items": [
{
"txHash": "0xabc123...",
"dproFee": "0.500000",
"vipDiscountRate": "0.20",
"dproFeeDiscounted": "0.400000",
"tradeTime": "2026-06-29T11:30:00.000Z"
}
],
"page": 1,
"limit": 100,
"total": 843,
"hasMore": true
}
}OPC
On-chain Protocol Configuration (OPC) data for the API key holder. GET /account/opc returns null if the user has not created an OPC.
GET /account/opc
The caller's OPC configuration, or null if not found. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"id": "42",
"ownerAddress": "0xabcdef1234567890abcdef1234567890abcdef12",
"name": "My OPC",
"subdomain": "myopc",
"logoUrl": "https://cdn.example.com/logo.png",
"styleConfig": { "primaryColor": "#3b82f6" },
"frontendFeeTenthsBps": 25,
"isActive": true,
"billingAnchorAt": "2026-06-01T00:00:00.000Z"
}
}GET /account/opc/revenue
Paginated OPC revenue entries. Requires an active OPC (returns an error if none exists). Credits: 1
| Param | Required | Default | Notes |
|---|---|---|---|
page | no | 1 | |
limit | no | 20 |
{
"code": "0",
"msg": "success",
"data": {
"items": [
{
"id": "501",
"amount": "12.50",
"tokenSymbol": "USDC",
"periodStart": "2026-06-01T00:00:00.000Z",
"periodEnd": "2026-06-30T23:59:59.000Z",
"createdAt": "2026-07-01T00:05:00.000Z"
}
],
"page": 1,
"limit": 20,
"total": 6,
"hasMore": false
}
}GET /account/opc/revenue/summary
Aggregate OPC revenue totals. Requires an active OPC. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"totalRevenue": "75.00",
"totalClaimed": "50.00",
"pendingClaimable": "25.00",
"tokenSymbol": "USDC"
}
}GET /account/opc/claimable
Current claimable OPC revenue balance. Requires an active OPC. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"claimable": "25.00",
"tokenSymbol": "USDC"
}
}GET /account/opc/claims
OPC revenue Merkle-claim rounds with distributor context. Requires an active OPC. Credits: 1
No query parameters.
{
"code": "0",
"msg": "success",
"data": {
"items": [
{
"roundId": 2,
"amount": "25.00",
"merkleRoot": "0xccddee...",
"publishedAt": "2026-06-20T00:00:00.000Z",
"claimed": false
}
],
"page": 1,
"limit": 1,
"total": 1,
"hasMore": false,
"account": "0xabcdef...",
"distributor": "0xdistributor..."
}
}