# ALL Mainnet Token Manual Extraction Instructions

**Date**: 2026-01-26  
**Network**: ALL Mainnet (ChainID 651940)  
**Explorer**: https://alltra.global/tokens

---

## 🎯 Quick Start

Since automated discovery requires token addresses, follow these steps to manually extract tokens:

### Step 1: Visit Explorer

Go to: **https://alltra.global/tokens**

### Step 2: Extract Token Information

For each token listed:

1. **Click on the token** to view details
2. **Copy the contract address** (should be 0x-prefixed, 40 hex characters)
3. **Note the token name** (e.g., "Tether USD", "USD Coin")
4. **Note the token symbol** (e.g., "USDT", "USDC", "AUSDT")
5. **Check decimals** (usually visible on token page, or check contract)

### Step 3: Use Extraction Script

Once you have token addresses:

```bash
cd /home/intlc/projects/proxmox

# Extract metadata for tokens
node token-lists/scripts/extract-tokens-from-explorer.js <address1> <address2> <address3>
```

**Example**:
```bash
# If you find AUSDT at 0x1234... and USDC at 0x5678...
node token-lists/scripts/extract-tokens-from-explorer.js 0x1234... 0x5678...
```

This will output JSON that you can copy into the token list file.

### Step 4: Update Token List

1. Open `token-lists/lists/all-mainnet.tokenlist.json`
2. Replace the empty `tokens` array with the extracted tokens
3. Ensure all addresses are checksummed
4. Add appropriate tags

### Step 5: Validate

```bash
node token-lists/scripts/validate-token-list.js token-lists/lists/all-mainnet.tokenlist.json --chain-id=651940
```

---

## 📋 Token Information Template

For each token, you need:

```json
{
  "chainId": 651940,
  "address": "0x...", // From explorer (checksummed)
  "name": "...", // From explorer
  "symbol": "...", // From explorer
  "decimals": 6, // From explorer or contract (6 for stablecoins, 18 for most tokens)
  "logoURI": "https://...", // Optional but recommended
  "tags": ["stablecoin", "defi"] // Appropriate tags
}
```

---

## 🔧 Alternative: Query RPC Directly

If you have token addresses but want to verify:

```bash
RPC_URL="https://mainnet-rpc.alltra.global"

# For each token address
cast call <ADDRESS> "symbol()(string)" --rpc-url $RPC_URL
cast call <ADDRESS> "name()(string)" --rpc-url $RPC_URL
cast call <ADDRESS> "decimals()(uint8)" --rpc-url $RPC_URL
```

---

## ✅ Checklist

- [ ] Visited https://alltra.global/tokens
- [ ] Found token addresses
- [ ] Extracted token metadata (name, symbol, decimals)
- [ ] Used extraction script to verify
- [ ] Updated `all-mainnet.tokenlist.json`
- [ ] Validated token list
- [ ] All addresses checksummed
- [ ] All chain IDs are 651940

---

## 🚀 Once Tokens Are Added

After adding tokens to the list:

1. **Validate**: `node token-lists/scripts/validate-token-list.js token-lists/lists/all-mainnet.tokenlist.json --chain-id=651940`
2. **Verify on-chain** (optional): Use verify-on-chain.js if RPC accessible
3. **Submit**: Follow submission guide in `ALL_MAINNET_COMPLETE_SUBMISSION.md`

---

**Last Updated**: 2026-01-26
