token-portfolio

Builds ERC-20 wallet portfolios with multicall balances and CoinGecko pricing in .NET.

2.3k|744|Updated Nov 23, 2015
One-click install
npx skills add https://github.com/Nethereum/Nethereum --skill token-portfolio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: token-portfolio
Source: https://github.com/Nethereum/Nethereum/tree/main/plugins/nethereum-skills/skills/token-portfolio
Command: npx skills add https://github.com/Nethereum/Nethereum --skill token-portfolio

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Querying token balances across thousands of ERC-20 tokens normally requires chain indexers or many individual RPC calls. This Skill builds a complete wallet portfolio using batched multicall balance checks against any standard RPC endpoint, with optional CoinGecko pricing and multi-account scanning.

Core Features & Use Cases

  • Multicall Balance Discovery: Check thousands of known tokens per chain in batched balanceOf calls via a single eth_call, with no third-party indexer dependency.
  • CoinGecko Pricing: Attach USD prices and portfolio values to balances, including native tokens, with batch price requests across multiple chains.
  • Multi-Account Scanning: Scan multiple wallets across chains like Ethereum, Polygon, Arbitrum, and Base with parallel execution and progress reporting.
  • Use Case: Build a wallet dashboard that shows a user's token holdings with live USD values across Ethereum, Polygon, and Arbitrum by scanning their addresses and refreshing prices on demand.

Quick Start

Use the token-portfolio skill to fetch all ERC-20 token balances with USD prices for wallet address 0xYourAddress on Ethereum mainnet.

Frequently Asked Questions about token-portfolio

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get all ERC-20 token balances for a wallet in C#?

Use Nethereum.TokenServices Erc20TokenService and call GetAllBalancesAsync with a Web3 instance, wallet address, and chain ID. It checks an embedded list of known tokens via batched multicall balanceOf reads in a single eth_call, so no indexer is needed.

How to get token prices from CoinGecko in .NET?

Use GetBalancesWithPricesAsync or the BatchPriceService with CoinGeckoPriceProvider from Nethereum.TokenServices. Pass token contract addresses, chain IDs, and a target currency like "usd" to retrieve prices, including native token prices.

Does Nethereum token balance scanning require an indexer?

No, the default TokenListDiscoveryStrategy checks known tokens via multicall against any standard RPC endpoint. An optional EventLogDiscoveryStrategy scans Transfer events for thorough discovery, but it is slower.

Which chains does Nethereum.TokenServices support?

Built-in token lists cover Ethereum, Optimism, BNB Chain, Gnosis, Polygon, zkSync Era, Base, Arbitrum, Celo, Avalanche, and Linea. Any EVM chain with a standard RPC endpoint works for balance queries.

Can I scan multiple wallets across multiple chains at once?

Yes, use IMultiAccountTokenService.ScanAsync with a list of accounts, chain IDs, and a Web3 factory. It supports parallel chain scanning via MultiAccountScanOptions and reports progress through a callback.