- Added Ethereum Mainnet token list (1 token: USDT) - Updated ChainID 138 token list (6 tokens: added cUSDT and cUSDC) - Added ALL Mainnet token list (9 tokens including AUSDT) - Discovered ALL Mainnet tokens via Transfer event scanning - Updated validation scripts for multi-chain support - Created comprehensive documentation and guides - Updated master documentation indexes - All token lists validated and ready for submission
6.5 KiB
ALL Mainnet Token List - Complete Submission Guide
Date: 2026-01-26
Network: ALL Mainnet (ChainID 651940)
Explorer: https://alltra.global/tokens
Status: Ready for token data extraction and submission
📋 Current Status
✅ Framework Created:
- Token list template file created
- Extraction scripts ready
- Validation script supports ChainID 651940
- Documentation complete
⚠️ Action Required: Extract actual token data from explorer
🔍 Step 1: Extract Token Data
Option A: Manual Extraction from Explorer
- Visit: https://alltra.global/tokens
- For each token listed:
- Click on token to view details
- Copy contract address
- Note token name, symbol, decimals
- Verify contract is verified
Option B: Use Extraction Script
If you have token addresses:
cd /home/intlc/projects/proxmox
node token-lists/scripts/extract-tokens-from-explorer.js <address1> <address2> ...
This will query the RPC and return token metadata in JSON format.
Option C: Query RPC Directly
RPC_URL="https://mainnet-rpc.alltra.global"
# For each token address
cast call <TOKEN_ADDRESS> "symbol()(string)" --rpc-url $RPC_URL
cast call <TOKEN_ADDRESS> "name()(string)" --rpc-url $RPC_URL
cast call <TOKEN_ADDRESS> "decimals()(uint8)" --rpc-url $RPC_URL
📝 Step 2: Update Token List File
Once you have token data, update:
File: token-lists/lists/all-mainnet.tokenlist.json
Remove placeholder entry and add actual tokens:
{
"name": "ALL Mainnet Token List",
"version": {
"major": 1,
"minor": 0,
"patch": 0
},
"timestamp": "2026-01-26T00:00:00.000Z",
"logoURI": "https://raw.githubusercontent.com/ethereum/ethereum.org/main/static/images/eth-diamond-black.png",
"keywords": [
"all",
"alltra",
"mainnet",
"stablecoin"
],
"tokens": [
{
"chainId": 651940,
"address": "0x...", // Actual address from explorer
"name": "Token Name", // Actual name
"symbol": "SYMBOL", // Actual symbol
"decimals": 18, // Actual decimals
"logoURI": "https://...", // Logo URL if available
"tags": ["defi"] // Appropriate tags
}
// Add more tokens here
],
"tags": {
"stablecoin": {
"name": "Stablecoin",
"description": "Stable value tokens pegged to fiat currencies"
},
"defi": {
"name": "DeFi",
"description": "Decentralized Finance tokens"
}
}
}
✅ Step 3: Validate Token List
Note: The Uniswap schema requires at least 1 token. The template file has an empty array and will fail validation until tokens are added.
Once you add at least one token:
cd /home/intlc/projects/proxmox
node token-lists/scripts/validate-token-list.js token-lists/lists/all-mainnet.tokenlist.json --chain-id=651940
Expected Output (after adding tokens):
✅ Token list is valid!
📋 Token List Info:
Name: ALL Mainnet Token List
Version: 1.0.0
Tokens: X
🔗 Step 4: Verify On-Chain (Optional)
If RPC is accessible:
node token-lists/scripts/verify-on-chain.js token-lists/lists/all-mainnet.tokenlist.json
Note: This requires RPC access. If RPC is not accessible, skip this step.
📤 Step 5: Prepare for Submission
5.1 Update Version and Timestamp
Ensure version and timestamp are current:
{
"version": {
"major": 1,
"minor": 0,
"patch": 0
},
"timestamp": "2026-01-26T00:00:00.000Z"
}
5.2 Sign Token List (Optional)
cd token-lists
./scripts/sign-list.sh sign lists/all-mainnet.tokenlist.json
5.3 Create Release
cd token-lists
./scripts/release.sh patch # or minor/major
🌐 Step 6: Host Token List
Option A: GitHub Pages
- Enable GitHub Pages in repository settings
- Token list accessible at:
https://{username}.github.io/{repo}/token-lists/lists/all-mainnet.tokenlist.json
Option B: GitHub Raw URL
https://raw.githubusercontent.com/{username}/{repo}/main/token-lists/lists/all-mainnet.tokenlist.json
Option C: Custom Domain
If you have a domain:
https://tokens.d-bis.org/lists/all-mainnet.tokenlist.json
CORS Configuration Required:
location /lists/all-mainnet.tokenlist.json {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, OPTIONS";
add_header Content-Type application/json;
}
📋 Step 7: Submit to Registries
Uniswap Token Lists
- Fork: https://github.com/Uniswap/token-lists
- Add your token list
- Submit Pull Request
- Follow their guidelines
MetaMask Token Lists
- Add token list URL in MetaMask Settings
- Or submit to MetaMask's registry
Chainlist
- Update chain configuration to reference token list URL
- Submit chain configuration update
✅ Validation Checklist
Before submission, verify:
- All addresses are EIP-55 checksummed
- All chain IDs are 651940
- All decimals are correct
- All symbols match on-chain values
- All names match on-chain values
- Logo URLs are accessible (if provided)
- Tags are appropriate and defined
- Version follows semantic versioning
- Timestamp is current
- JSON structure is valid
- Token list validates successfully
🛠️ Tools Available
-
Extraction Script:
token-lists/scripts/extract-tokens-from-explorer.js- Queries RPC for token metadata
- Outputs JSON format
-
Validation Script:
token-lists/scripts/validate-token-list.js- Validates against Uniswap schema
- Checks EIP-55 checksums
- Validates chain IDs
-
On-Chain Verification:
token-lists/scripts/verify-on-chain.js- Verifies tokens exist on-chain
- Checks decimals, symbol, name match
-
Query Script:
token-lists/scripts/query-all-mainnet-tokens.sh- Helper script for RPC queries
📚 Documentation
- Extraction Guide:
token-lists/ALL_MAINNET_TOKEN_EXTRACTION_GUIDE.md - Submission Notes:
token-lists/ALL_MAINNET_TOKEN_SUBMISSION_NOTES.md - Token List Template:
token-lists/lists/all-mainnet.tokenlist.json
🎯 Quick Start
- Get token addresses from https://alltra.global/tokens
- Extract metadata:
node token-lists/scripts/extract-tokens-from-explorer.js <address1> <address2> - Update token list file with extracted data
- Validate:
node token-lists/scripts/validate-token-list.js token-lists/lists/all-mainnet.tokenlist.json --chain-id=651940 - Submit to registries
Last Updated: 2026-01-26