Map the /v1/user/* Pro API onto GoldRush, including what does not port.
DeBank Cloud's Pro API is a wallet-centric REST surface at pro-openapi.debank.com, authenticated with an AccessKey header, organised as /v1/user/* with paired single-chain and all-chain variants. Token balances, NFTs, history, and approvals map cleanly onto GoldRush. DeBank's protocol-position endpoints — the complex_protocol_list family that is the core of its product — do not. This guide is explicit about that.
Reviewed 2026-09-11. Endpoint paths read from docs.cloud.debank.com, goldrush.dev. Verify against DeBank Cloud docs before relying on a row.
These are the cross-cutting differences. Miss one and every call fails the same way, so fix them first.
| DeBank Cloud | GoldRush | |
|---|---|---|
| Base URL | https://pro-openapi.debank.com | https://api.covalenthq.com |
| Auth | AccessKey: <your_accesskey> | Authorization: Bearer <GOLDRUSH_API_KEY> |
| Chain addressing | chain_id query param (eth, bsc, matic) with paired all_* endpoints for cross-chain reads. | Chain slug in the path (eth-mainnet, bsc-mainnet, matic-mainnet), or /v1/allchains/* for cross-chain. |
| Response envelope | Bare JSON array or object per endpoint, no common wrapper. | { data: { items: [...] }, error, error_message, error_code } on every endpoint. |
| Pagination | start_time / page_count cursors on history endpoints. | Page number in the path: .../transactions_v3/page/{page}/. Page 0 is the OLDEST page. |
Every DeBank Cloud endpoint we could source, with its GoldRush equivalent. Rows marked No equivalent are gaps we are not going to paper over — read those first.
| Use case | DeBank Cloud | GoldRush | Parity |
|---|---|---|---|
| Token balances on one chain | GET /v1/user/token_list | GET /v1/{chainName}/address/{walletAddress}/balances_v2/ | Direct equivalent |
| Token balances across chains | GET /v1/user/all_token_list | GET /v1/allchains/address/{walletAddress}/balances/ | Direct equivalent |
| Single token balance Filter the items array client-side; there is no single-token variant. | GET /v1/user/token | GET /v1/{chainName}/address/{walletAddress}/balances_v2/ | Needs work |
| Native balance on a chain | GET /v1/user/chain_balance | GET /v1/{chainName}/address/{walletAddress}/balances_native/ | Direct equivalent |
| Chains a wallet has used | GET /v1/user/used_chain_list | GET /v1/address/{walletAddress}/activity/ | Direct equivalent |
| Total net worth across chains Sum quote across items. DeBank returns the total pre-computed and includes protocol positions in it, so the two numbers will not match for a DeFi-heavy wallet. | GET /v1/user/total_balance | GET /v1/allchains/address/{walletAddress}/balances/ | Needs work |
| Protocol positions, one chain No equivalent. This is DeBank's core strength and GoldRush does not replace it. | GET /v1/user/complex_protocol_list | — | No equivalent |
| Protocol positions, all chains | GET /v1/user/all_complex_protocol_list | — | No equivalent |
| Simplified protocol balances LP and receipt token values show up in balances_v2 as tokens, but without the protocol attribution. | GET /v1/user/simple_protocol_list, /v1/user/all_simple_protocol_list | — | No equivalent |
| Positions in one protocol | GET /v1/user/protocol | — | No equivalent |
| Transaction history, one chain | GET /v1/user/history_list | GET /v1/{chainName}/address/{walletAddress}/transactions_v3/page/{page}/ | Direct equivalent |
| Transaction history, all chains | GET /v1/user/all_history_list | GET /v1/allchains/transactions/ | Direct equivalent |
| NFTs on one chain | GET /v1/user/nft_list | GET /v1/{chainName}/address/{walletAddress}/balances_nft/ | Direct equivalent |
| NFTs across chains Call per chain; there is no allchains NFT endpoint. | GET /v1/user/all_nft_list | GET /v1/{chainName}/address/{walletAddress}/balances_nft/ | Needs work |
| Token approvals | GET /v1/user/token_authorized_list | GET /v1/{chainName}/approvals/{walletAddress}/ | Direct equivalent |
| NFT approvals Approvals covers token allowances; NFT operator approvals are not broken out separately. | GET /v1/user/nft_authorized_list | GET /v1/{chainName}/approvals/{walletAddress}/ | Needs work |
| Net worth curve Per-chain, and 30-day granularity rather than DeBank's 24-hour curve. | GET /v1/user/total_net_curve, /v1/user/chain_net_curve | GET /v1/{chainName}/address/{walletAddress}/portfolio_v2/ | Needs work |
| Historical balances by date | Not available | GET /v1/{chainName}/address/{walletAddress}/historical_balances/ | GoldRush advantage |
| Bitcoin balances | Not available | GET /v1/btc-mainnet/address/{walletAddress}/balances_v2/ | GoldRush advantage |
| Contract log events | Not available | GET /v1/{chainName}/events/address/{contractAddress}/ | GoldRush advantage |
| Token holders | Not available | GET /v1/{chainName}/tokens/{tokenAddress}/token_holders_v2/ | GoldRush advantage |
Copy-pasteable. Left is what you have on DeBank Cloud; right is the GoldRush replacement.
Replace AccessKey: <key> with Authorization: Bearer <GOLDRUSH_API_KEY>.
DeBank's chain_id=eth becomes eth-mainnet in the GoldRush path. Build the map from GET /v1/chains/ rather than hardcoding it.
DeBank pairs every endpoint with an all_* variant. In GoldRush the cross-chain reads live under /v1/allchains/*, and there are fewer of them — NFTs, for instance, are per-chain only.
DeBank returns bare arrays. GoldRush wraps everything in { data: { items }, error, error_message }, so add the unwrap and the error check.
Grep for complex_protocol_list, simple_protocol_list, and /v1/user/protocol. Each one is a feature that does not port. Decide per call site whether to drop it, rebuild it, or keep DeBank alongside.
Compare DeBank total_balance against the summed GoldRush quote for several real wallets. Expect a gap on DeFi-heavy addresses and decide how to present it before launch.
If any of these is load-bearing for your product, do not migrate that surface. Running both providers is a legitimate answer.
The complex_protocol_list and simple_protocol_list families have no GoldRush equivalent. If your product shows positions attributed per protocol (Aave supplied, Lido staked, Uniswap LP), GoldRush will not reproduce it and you should not migrate that surface.
DeBank folds protocol positions into total_balance. Summing GoldRush token quotes gives a lower number for DeFi-heavy wallets. This is a real behavioural change, not a rounding difference — check it against a known wallet before shipping.
GoldRush has no one-shot realized/unrealized PnL endpoint. You can compute it from transactions_v3 plus historical pricing, but that is your code to write, not a field to read. If PnL is the product, budget for it.
GoldRush is request/response. There is no subscription endpoint that pushes transactions to a callback URL, so any real-time path becomes polling on your side.
Live chain list at /v1/chains/ and per-chain sync state at /v1/chains/status/. Bitcoin is first-class with its own balances, historical balances, and HD-wallet endpoints — most wallet APIs are EVM-only or EVM+Solana.
Raw and decoded log events by contract or topic, token holder lists at a block height, and pool-level pricing. Wallet-portfolio APIs generally stop at the wallet boundary and cannot answer contract-level questions.
An autonomous agent can pay per request from an onchain wallet without registering an account or holding a key. If you are building agents rather than a dashboard, this removes the credential provisioning step entirely.
GoldRush serves JSON-RPC across 30+ EVM chains, so a decoded-data provider and a node provider can collapse into one vendor and one bill.
Free API key with 25,000 credits and no card, or skip signup entirely and pay per request with x402.