# Supported Chains

Valiron operates across 41 EVM blockchain networks plus Solana.

## EVM Chains

The ERC-8004 contracts are deployed at the same addresses on every EVM chain. Identity and reputation data is provided by the [8004 team](https://erc8004.org).

### Contract Addresses (all EVM chains)

| Contract | Address |
|----------|---------|
| Identity Registry | `0x8004A169FB4a3325136EB29fA0ceB6D2e539a432` |
| Reputation Registry | `0x8004BAa17C55a88189AE136b182e5fdA19dE9b63` |

### Supported EVM Networks

| Chain ID | Name | SDK Value |
|----------|------|-----------|
| — | Ethereum | `ethereum` |
| — | Monad | `monad` |
| — | Arbitrum | `arbitrum` |
| — | Base | `base` |
| — | Avalanche | `avalanche` |
| — | Celo | `celo` |
| — | Polygon | `polygon` |
| — | Linea | `linea` |
| — | Abstract | `abstract` |
| — | BSC (Binance Smart Chain) | `bsc` |
| — | Gnosis | `gnosis` |
| — | Goat | `goat` |
| — | Mantle | `mantle` |
| — | MegaETH | `megaeth` |
| — | Metis | `metis` |
| — | Optimism | `optimism` |
| — | Scroll | `scroll` |
| — | SKALE Base | `skale_base` |
| — | Soneium | `soneium` |
| — | Taiko | `taiko` |
| — | X Layer | `xlayer` |
| — | Base Sepolia | `base_sepolia` |
| — | Ethereum Sepolia | `ethereum_sepolia` |
| — | Abstract Testnet | `abstract_testnet` |
| — | Arbitrum Sepolia | `arbitrum_sepolia` |
| — | Avalanche Testnet | `avalanche_testnet` |
| — | BSC Testnet | `bsc_testnet` |
| — | Celo Testnet | `celo_testnet` |
| — | Linea Sepolia | `linea_sepolia` |
| — | Mantle Testnet | `mantle_testnet` |
| — | MegaETH Testnet | `megaeth_testnet` |
| — | Metis Sepolia | `metis_sepolia` |
| — | Optimism Sepolia | `optimism_sepolia` |
| — | Polygon Amoy | `polygon_amoy` |
| — | Scroll Sepolia | `scroll_sepolia` |
| — | SKALE Base Sepolia | `skale_base_sepolia` |
| — | Soneium Minato | `soneium_minato` |
| — | Taiko Hoodi | `taiko_hoodi` |
| — | X Layer Testnet | `xlayer_testnet` |
| — | Hedera Testnet | `hedera_testnet` |
| — | Arc Testnet | `arc_testnet` |

## Solana

Solana support is powered by [QuantuLabs 8004-solana](https://8004.qnt.sh/) — a separate registry from the EVM 8004 contracts.

| Network | SDK Value | Registry Provider |
|---------|-----------|-------------------|
| Solana Mainnet | `solana` | QuantuLabs 8004-solana |

### Program IDs (Solana)

| Program | Address |
|---------|---------|
| Identity Registry | `8oo4dC4JvBLwy5tGgiH3WwK4B9PWxL9Z4XjA2jzkQMbQ` |
| Reputation Registry (ATOM) | `AToMw53aiPQ8j7iHVb4fGt6nzUNxUhcPc3tbPBZuzVVb` |

### Key Differences

- **Agent IDs** are base-58 Metaplex Core asset pubkeys (not numeric token IDs)
- **Wallets** are base-58 Solana public keys (not `0x`-prefixed)
- **Reputation** may include ATOM engine metrics: `trustTier`, `qualityScore`, `confidence`, `riskScore`, `uniqueCallers`
- **Identity** is resolved via `loadAgent()` on the QuantuLabs SDK
- **Wallet → Agent resolution** uses `getAgentsByOwner()` (no subgraph)

### Configuration

| Environment Variable | Default | Description |
|---------------------|---------|-------------|
| `SOLANA_CLUSTER` | `mainnet-beta` | Solana cluster (`mainnet-beta` or `devnet`) |
| `SOLANA_RPC_URL` | Public RPC | Custom Solana RPC endpoint for production use |

## Specifying a Chain

### SDK

```typescript
// At initialization (default for all calls)
const valiron = new ValironSDK({ chain: "monad" });

// Per-call override
const route = await valiron.checkAgent("25459", { chain: "arbitrum" });
```

### HTTP API

```bash
# Query parameter
curl https://valiron-edge-proxy.onrender.com/operator/agent/25459?chain=monad
```

## Querying Supported Chains

```bash
curl https://valiron-edge-proxy.onrender.com/operator/health
```

Returns:
```json
{
  "status": "ok",
  "supportedChains": ["ethereum", "monad", "arbitrum", ...],
  "defaultChain": "ethereum"
}
```
