Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 9 additions & 8 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ OpenScan Metadata is a community-driven metadata repository for the OpenScan blo

```
explorer-metadata/
├── data/ # JSON metadata files
│ ├── tokens/{chainId}/ # Token metadata per chain
│ ├── addresses/{chainId}/ # Verified addresses per chain
│ ├── events/{chainId}/ # Event signatures per chain
│ ├── networks.json # All networks
│ ├── apps/{id}.json # App metadata
│ ├── orgs/{id}.json # Organization metadata
│ └── donations.json # Donations list
├── data/ # JSON metadata files
│ ├── tokens/{networkType}/{id}/ # Token metadata per chain
│ ├── addresses/{networkType}/{id}/ # Verified addresses per chain
│ ├── events/{networkType}/{id}/ # Event signatures per chain
│ ├── rpcs/{networkType}/ # RPC endpoint metadata
│ ├── networks.json # All networks
│ ├── apps/{id}.json # App metadata
│ ├── orgs/{id}.json # Organization metadata
│ └── donations.json # Donations list
├── profiles/ # Markdown profile pages
│ ├── tokens/{chainId}/ # Token profiles
│ ├── apps/ # App profiles
Expand Down
76 changes: 46 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,29 @@ This repository contains verified metadata for tokens, networks, apps, organizat
```
explorer-metadata/
├── data/
│ ├── tokens/{chainId}/{address}.json # Token metadata
│ ├── addresses/{chainId}/{address}.json # Verified addresses per chain
│ ├── events/{chainId}/common.json # Common events (ERC20, etc.)
│ ├── events/{chainId}/{address}.json # Address-specific events
│ ├── networks.json # All networks
│ ├── apps/{id}.json # App metadata
│ ├── orgs/{id}.json # Organization metadata
│ └── donations.json # Donations list
│ ├── tokens/{networkType}/{id}/{address}.json # Token metadata
│ ├── addresses/{networkType}/{id}/{addr}.json # Verified addresses per chain
│ ├── events/{networkType}/{id}/common.json # Common events (ERC20, etc.)
│ ├── events/{networkType}/{id}/{addr}.json # Address-specific events
│ ├── rpcs/{networkType}/{id}.json # RPC endpoint metadata
│ ├── networks.json # All networks
│ ├── apps/{id}.json # App metadata
│ ├── orgs/{id}.json # Organization metadata
│ └── donations.json # Donations list
├── profiles/
│ ├── tokens/{chainId}/{address}.md # Token profiles
│ ├── apps/{id}.md # App profiles
│ └── organizations/{id}.md # Organization profiles
│ ├── tokens/{chainId}/{address}.md # Token profiles
│ ├── apps/{id}.md # App profiles
│ └── organizations/{id}.md # Organization profiles
├── assets/
│ ├── tokens/{chainId}/{address}.png # Token logos (128x128)
│ ├── networks/{chainId}.svg # Network logos
│ ├── apps/{id}.svg # App logos
│ └── organizations/{id}.svg # Organization logos
└── schemas/ # JSON Schema definitions
│ ├── tokens/{chainId}/{address}.png # Token logos (128x128)
│ ├── networks/{chainId}.svg # Network logos
│ ├── apps/{id}.svg # App logos
│ └── organizations/{id}.svg # Organization logos
└── schemas/ # JSON Schema definitions
```

**Network types:** Data directories are organized by network type (`evm/`, `btc/`). EVM networks use chain IDs as identifiers (e.g., `evm/1/`), while Bitcoin networks use slugs (e.g., `btc/mainnet/`).

## Adding Metadata

### Quick Start: Add a Token
Expand Down Expand Up @@ -255,7 +258,7 @@ Networks are identified using [CAIP-2](https://github.com/ChainAgnostic/CAIPs/bl

### Event

Events are stored per chain with common events in `data/events/{chainId}/common.json` and address-specific events in `data/events/{chainId}/{address}.json`.
Events are stored per chain with common events in `data/events/{networkType}/{id}/common.json` and address-specific events in `data/events/{networkType}/{id}/{address}.json`.

#### Common Events (common.json)

Expand Down Expand Up @@ -293,7 +296,7 @@ Custom events for specific contracts (e.g., Uniswap V2 Router):

### Address

Verified addresses for apps and organizations are stored per chain in `data/addresses/{chainId}/{address}.json`.
Verified addresses for apps and organizations are stored per chain in `data/addresses/{networkType}/{id}/{address}.json`.

```json
{
Expand Down Expand Up @@ -413,15 +416,19 @@ The built metadata is available in the `dist/` folder on the `main` branch.

```
dist/
├── tokens/{chainId}/
├── tokens/{networkType}/{id}/
│ ├── all.json # List of all tokens (basic info)
│ └── {address}.json # Individual token details
├── addresses/{chainId}/
├── addresses/{networkType}/{id}/
│ ├── all.json # List of all addresses (basic info)
│ └── {address}.json # Individual address details
├── events/{chainId}/
├── events/{networkType}/{id}/
│ ├── common.json # Common events (ERC20, etc.)
│ └── {address}.json # Address-specific events
├── rpcs/
│ ├── all.json # Summary of all RPC endpoints
│ ├── evm/{chainId}.json # RPC endpoints per EVM chain
│ └── btc/{slug}.json # RPC endpoints per Bitcoin network
├── networks.json # All networks
├── apps.json # All apps
├── organizations.json # All organizations
Expand Down Expand Up @@ -451,23 +458,32 @@ curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/supporters.json
# Get donations list
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/donations.json

# Tokens - list all tokens on a network (basic info)
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/tokens/1/all.json
# Tokens - list all tokens on an EVM network (basic info)
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/tokens/evm/1/all.json

# Tokens - get specific token details
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/tokens/1/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.json
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/tokens/evm/1/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.json

# Addresses - list all addresses on a network
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/addresses/1/all.json
# Addresses - list all addresses on an EVM network
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/addresses/evm/1/all.json

# Addresses - get specific address details
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/addresses/1/0x7a250d5630b4cf539739df2c5dacb4c659f2488d.json
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/addresses/evm/1/0x7a250d5630b4cf539739df2c5dacb4c659f2488d.json

# Events - get common events for a network
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/events/1/common.json
# Events - get common events for an EVM network
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/events/evm/1/common.json

# Events - get address-specific events
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/events/1/0x7a250d5630b4cf539739df2c5dacb4c659f2488d.json
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/events/evm/1/0x7a250d5630b4cf539739df2c5dacb4c659f2488d.json

# RPCs - get all RPC endpoint summaries
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/rpcs/all.json

# RPCs - get endpoints for a specific EVM chain
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/rpcs/evm/1.json

# RPCs - get endpoints for Bitcoin mainnet
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/rpcs/btc/mainnet.json

# Get a token profile
curl https://cdn.jsdelivr.net/npm/@openscan/metadata/dist/profiles/tokens/1/0x....md
Expand Down
File renamed without changes.
78 changes: 22 additions & 56 deletions data/networks.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,6 @@
},
"logo": "assets/networks/1.svg",
"profile": "profiles/networks/1.md",
"rpc": {
"public": [
"https://eth.llamarpc.com",
"https://rpc.ankr.com/eth",
"https://ethereum.publicnode.com"
]
},
"links": [
{
"name": "Website",
Expand Down Expand Up @@ -53,13 +46,6 @@
"color": "#0052FF",
"isTestnet": false,
"logo": "assets/networks/8453.svg",
"rpc": {
"public": [
"https://mainnet.base.org",
"https://base.publicnode.com",
"https://rpc.ankr.com/base"
]
},
"links": [
{
"name": "Website",
Expand Down Expand Up @@ -89,13 +75,6 @@
"color": "#28A0F0",
"isTestnet": false,
"logo": "assets/networks/42161.svg",
"rpc": {
"public": [
"https://arb1.arbitrum.io/rpc",
"https://rpc.ankr.com/arbitrum",
"https://arbitrum.publicnode.com"
]
},
"links": [
{
"name": "Website",
Expand Down Expand Up @@ -130,13 +109,6 @@
"color": "#FF0420",
"isTestnet": false,
"logo": "assets/networks/10.svg",
"rpc": {
"public": [
"https://mainnet.optimism.io",
"https://optimism.publicnode.com",
"https://rpc.ankr.com/optimism"
]
},
"links": [
{
"name": "Website",
Expand Down Expand Up @@ -166,13 +138,6 @@
"color": "#F0B90B",
"isTestnet": false,
"logo": "assets/networks/56.svg",
"rpc": {
"public": [
"https://bsc-dataseed.binance.org",
"https://bsc.publicnode.com",
"https://rpc.ankr.com/bsc"
]
},
"links": [
{
"name": "Website",
Expand Down Expand Up @@ -202,13 +167,6 @@
"color": "#8247E5",
"isTestnet": false,
"logo": "assets/networks/137.svg",
"rpc": {
"public": [
"https://polygon-rpc.com",
"https://polygon-bor.publicnode.com",
"https://rpc.ankr.com/polygon"
]
},
"links": [
{
"name": "Website",
Expand Down Expand Up @@ -238,13 +196,6 @@
"color": "#CFB5F0",
"isTestnet": true,
"logo": "assets/networks/11155111.svg",
"rpc": {
"public": [
"https://rpc.sepolia.org",
"https://ethereum-sepolia.publicnode.com",
"https://rpc.ankr.com/eth_sepolia"
]
},
"links": [
{
"name": "Faucet",
Expand All @@ -269,13 +220,6 @@
"color": "#F0B90B",
"isTestnet": true,
"logo": "assets/networks/97.svg",
"rpc": {
"public": [
"https://data-seed-prebsc-1-s1.binance.org:8545",
"https://bsc-testnet.publicnode.com",
"https://rpc.ankr.com/bsc_testnet_chapel"
]
},
"links": [
{
"name": "Faucet",
Expand Down Expand Up @@ -316,6 +260,28 @@
"description": "Bitcoin Core repository"
}
]
},
{
"type": "bitcoin",
"networkId": "bip122:00000000da84f2bafbbc53dee25a72ae",
"name": "Bitcoin Testnet4",
"shortName": "Testnet4",
"description": "Bitcoin testnet for developers (testnet4)",
"currency": "tBTC",
"color": "#F7931A",
"isTestnet": true,
"links": [
{
"name": "Website",
"url": "https://bitcoin.org/en/",
"description": "Official Bitcoin website"
},
{
"name": "GitHub",
"url": "https://github.com/bitcoin/bitcoin",
"description": "Bitcoin Core repository"
}
]
}
]
}
34 changes: 34 additions & 0 deletions data/rpcs/btc/mainnet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"networkId": "bip122:000000000019d6689c085ae165831e93",
"updatedAt": "2026-02-12",
"endpoints": [
{
"url": "https://mempool.space/api",
"tracking": "none",
"isOpenSource": true,
"provider": "Mempool.space",
"isPublic": true
},
{
"url": "https://blockstream.info/api",
"tracking": "limited",
"isOpenSource": true,
"provider": "Blockstream",
"isPublic": true
},
{
"url": "https://blockchain.info",
"tracking": "yes",
"isOpenSource": false,
"provider": "Blockchain.com",
"isPublic": true
},
{
"url": "https://btc.drpc.org",
"tracking": "none",
"isOpenSource": false,
"provider": "dRPC",
"isPublic": true
}
]
}
13 changes: 13 additions & 0 deletions data/rpcs/btc/testnet4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"networkId": "bip122:00000000da84f2bafbbc53dee25a72ae",
"updatedAt": "2026-02-13",
"endpoints": [
{
"url": "https://mempool.space/testnet4/api",
"tracking": "none",
"isOpenSource": true,
"provider": "Mempool.space",
"isPublic": true
}
]
}
Loading