Assets & Accounts
The core requirements of wallet and asset management are reliably and cohesively handling held asset and balance management, asset transfer history retrieval, and asset change detection. Nodit provides a single API with normalized chain-specific data structures along with event-driven notifications, enabling multi-chain asset queries and change detection without a separate ETL pipeline.
Use Cases
Digital Asset Custody
Aggregate multi-chain asset balances per customer in real time and synchronize with the custody ledger. Native tokens, ERC-20, and NFTs are all retrievable through a single unified API, eliminating the need for separate query logic per asset type.
Institutional Portfolio Management
Retrieve the full asset list held by a specific account with a single API call, then combine with token price data to calculate portfolio value. The same API spec applies across EVM-compatible networks, enabling management of multi-chain portfolios through a single integrated interface.
Address-Based Asset Verification
Retrieve balances and holdings for specific wallet addresses to support business processes such as onboarding, KYC supplementary data, and counterparty eligibility verification. Web3 Data API and direct node calls (eth_getBalance) can be used selectively depending on the situation.
Multi-Chain Asset Dashboard
Monitor asset positions distributed across multiple chains through a single unified interface. The same API spec supports EVM-compatible networks, enabling expansion without chain-specific integration work.
Asset Change Notification Automation
Use Webhook, Flexible Webhook, and Stream to detect deposits, balance threshold drops, and specific token movements in an event-driven manner. Asset queries and event detection can be connected as a single operational flow rather than being treated as separate concerns.
Key Capabilities
On-chain asset data integrates via two approaches: Pull and Push. Use them independently or in combination depending on service requirements.
Pull Query on Demand
Each chain has different data models and behaviors for native tokens, ERC-20, and NFTs, requiring separate chain-specific parsing logic. Nodit normalizes chain-specific structures to deliver all three types through a single interface, enabling construction of a unified balance view without individual implementations per type.
Asset value cannot be calculated from holdings lists alone. Combine contract address-based price queries with balance data to calculate asset value in a single pipeline — without needing to separately integrate an external price API.
Optimized APIs exist for querying only specific asset types, aggregating all assets at once, or performing high-frequency single balance checks. Select and combine Node API and Data API based on purpose and call frequency.
Push Receive Immediately on Change
Periodically polling the API to detect balance changes accumulates unnecessary requests and introduces detection delays. Receive deposits, balance changes, and NFT movements for designated addresses as events occur via Webhook and reflect them in internal systems immediately.
When only specific conditions require a response — a particular token, amounts above a threshold, or events from a specific contract — filtering logic becomes complex if handled post-delivery. Use Flexible Webhook's CEL expressions to pre-filter before delivery and forward only matching events to internal systems.
When continuous block-level asset change reception is needed for a specific account, Webhook's one-shot delivery model is insufficient. Maintain a connection via WebSocket-based Stream and subscribe to real-time events to build a pipeline suitable for risk monitoring or real-time dashboards.
Implementation Guide
API Use Cases
| Scenario | API to Use | Reason |
|---|---|---|
| Single or high-frequency balance check | eth_getBalance | Real-time value based on latest block; minimal overhead |
| Unified asset query for an account | getAssetsByAccount | Single normalized response covering native tokens, ERC-20, and NFTs |
| ERC-20 holdings list | getTokensOwnedByAccount | Normalized token balance list per contract |
| NFT holdings list | getNFTsOwnedByAccount | NFT holdings list including metadata |
| Portfolio value calculation | getTokenPricesByContracts | Combine with balance data to calculate asset value |
| Detect all asset activity for a designated address | Webhook — ADDRESS_ACTIVITY | Receive native token, ERC-20, and NFT transfers and deposits via a single subscription |
| Detect ERC-20 or NFT movements from specific contracts | Webhook — TOKEN_TRANSFER | Movement alerts for ERC-20, ERC-721, and ERC-1155 filtered by contract address |
| Balance threshold drop alert | Webhook — BELOW_THRESHOLD_BALANCE | Immediate notification when account balance falls below configured value |
| Receive ERC-20 transfers with condition filtering | Flexible Webhook — erc20.transfer | Pre-filter by specific token and amount criteria using CEL expressions |
| Receive NFT transfers with condition filtering | Flexible Webhook — erc721.transfer / erc1155.transfer | Pre-filter by specific contract and token ID |
| Real-time continuous streaming | Stream | Maintain WebSocket connection; receive block-level events |
API-Based Integration Example
- Create a project and issue an API Key in the Nodit console.
- Select the API to use based on the asset type to query from the developer documentation.
- If needed, retrieve prices via
getTokenPricesByContractsto calculate portfolio value. - Integrate query results with internal systems such as custody ledgers and portfolio dashboards.
Integration Example Using Webhook and Stream
- Create a Webhook in the Nodit console or confirm the Stream endpoint and configure the connection.
- Specify the target addresses and event types (deposits, balance changes, specific token movements) to monitor.
- For condition-based filtering, use Flexible Webhook's CEL expressions. Pre-filtering before delivery reduces internal processing load.
- After receiving events, integrate with internal ledgers, notification systems, and risk engines.
For services like custody or portfolio dashboards that require both initial queries and ongoing change detection, combine Pull to fetch current balances with Push to receive subsequent changes.
Related Guides
- Web3 Data API — Full list of account asset query APIs and supported networks
- Elastic Node — Direct JSON-RPC calls and endpoint configuration
- Webhook — Balance threshold and asset movement event notifications
- Stream — Real-time asset change streaming