Classify an address: ERC-20 / ERC-721 / ERC-1155 / contract / EOA
API · /ercdetector-api
ERC Detector API
Tell what kind of contract an address actually is — live, by asking the chain itself. It probes the contract over the public JSON-RPC (eth_call, no key): an ERC-165 interface sweep (ERC-721, ERC-1155 and their metadata/enumerable/royalty extensions) plus an ERC-20 function probe (name, symbol, decimals, totalSupply), and classifies the address as an ERC-20 token, an NFT (ERC-721), a multi-token (ERC-1155), a plain contract or an externally-owned account. A dedicated endpoint returns a token's live on-chain ERC-20 metadata — working for ANY token, including brand-new ones no token list has yet indexed. The "what is this address" primitive every wallet, explorer, scanner and security tool needs, across Ethereum, Base, Arbitrum, Optimism, BNB, Polygon and more. Reads straight from the chain; live, short cache only.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 128 ms
- Server probes · 24h
- Subscribers
- 4,627
- active
- Total calls
- 20
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 5,800 calls / month
- 3 requests / second
- Hard cap (429 above quota, no overage)
- 5,800 calls/month
- 3 req/sec
- Type detection + ERC-20 read
- No credit card
Starter
€9.90 /month
- 125,000 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 125k calls/month
- 8 req/sec
- ERC-165 interface sweep
- Email support
Pro
€36.50 /month
- 760,000 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 760k calls/month
- 20 req/sec
- Multi-chain (8+ chains)
- Priority support
Business
€108.00 /month
- 4,900,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 4.9M calls/month
- 50 req/sec
- Commercial use
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
EIP Registry API
A live, queryable index of every Ethereum Improvement Proposal (EIP) and ERC token standard, read keyless straight from the canonical ethereum/EIPs and ethereum/ERCs repositories. Look up any proposal by number for its title, status (Draft, Review, Last Call, Final, Living, Stagnant or Withdrawn), type and category, authors, creation date, what it requires and its abstract; pull several proposals at once; or list the whole catalog of 1,500+ EIPs and ERCs. The reference layer for wallets, block explorers, documentation sites and developer tooling that need to resolve "what is EIP-1559" or "is ERC-4626 final yet" programmatically instead of scraping a website. Always current — read live from the source repos, lightly cached.
api.oanor.com/eipregistry-api
Token List API
A live ERC-20 token metadata directory aggregated from the curated, on-chain token lists that wallets and dApps actually trust — Uniswap Labs Default, CoinGecko, 1inch, Aave and the Optimism Superchain list — read keyless from their public endpoints. Resolve any token contract address on any chain to its canonical name, symbol, decimals and logo; list a curated set in full (paged, filterable by chain); search across every list by symbol or name; and discover a token's bridged addresses on other chains. The metadata layer every wallet, swap UI and portfolio tracker needs before it can safely display or transact a token. Live, short cache only — nothing stored.
api.oanor.com/tokenlist-api
ERC-20 Token Info API
Live ERC-20 token metadata, read straight off the blockchain. Give it any token contract address and it returns the token's name, symbol, decimals and total supply — both as the raw on-chain integer and as a human-formatted number — by calling the ERC-20 contract directly via the chain's public JSON-RPC node (eth_call), confirming first that the address is really a contract. The USD Coin contract resolves to "USD Coin", symbol USDC, 6 decimals; Wrapped BTC on Polygon to "(PoS) Wrapped BTC", symbol WBTC, 8 decimals. The balance endpoint reads any wallet's holding of any token — pass the token contract and an owner address and it returns the balance raw and formatted with the token's own decimals and symbol. It works across seven EVM chains — Ethereum, Polygon, BNB Smart Chain, Arbitrum, Optimism, Base and Avalanche — with friendly aliases (eth, matic, bnb, arb, op, avax). This is the token-metadata and token-balance layer every wallet, DEX, portfolio tracker, block explorer and DeFi dashboard needs: turn a bare 0x… contract into a named, decimalled token, and resolve any holder's balance, in one call. Read live from the chain, no key on the data source, nothing cached. Distinct from native-coin balance and market-price APIs — this is on-chain ERC-20 contract data read directly from the blockchain. 4 endpoints across 7 chains.
api.oanor.com/tokeninfo-api
zkSync Era On-Chain API
Live zkSync Era on-chain data as an API, built on the open Blockscout explorer. zkSync Era (chain id 324) is a leading Ethereum zk-rollup Layer-2 by Matter Labs; its native currency is ETH and fees are a fraction of mainnet. Pull network stats (total blocks and transactions, ETH price, live gas), a gas oracle with slow, average and fast prices in gwei, the most recent blocks and full block detail by height or hash. Look up any address for its balance and contract status, any transaction by hash for its value, fee, status, sender and receiver, and any ERC-20 token by contract for its name, symbol, decimals, holders and USD rate. A universal search resolves addresses, tokens, blocks and transactions in one call. Real on-chain data, no key needed upstream. Ideal for zkSync wallets, block explorers, gas trackers, DeFi dashboards and on-chain analytics.
api.oanor.com/zksync-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for ERC Detector API?
What's the rate limit for ERC Detector API?
How much does ERC Detector API cost?
Can I cancel my subscription anytime?
Is ERC Detector API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/ercdetector-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/ercdetector-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/ercdetector-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/ercdetector-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.