Data Reference

Supported Chains

12 active-vault chains with chain IDs, address formats, and finality models.

Philidor tracks vaults across 12 active networks (12 chains). Coverage is namespace-aware rather than EVM-only; see Chain identifiers below.

ChainChain IDNative CurrencyExplorerFinality Depth
Ethereum1ETHetherscan.io64 blocks (~13 min)
Base8453ETHbasescan.org0 (L2, finality via L1)
Arbitrum42161ETHarbiscan.io0 (L2, finality via L1)
Polygon137MATICpolygonscan.com128 blocks (~4 min)
Optimism10ETHoptimistic.etherscan.io0 (L2, finality via L1)
Avalanche43114AVAXsnowtrace.io1 block (sub-second)
Monad143MONmonadvision.com1 block (sub-second)
Plume98866PLUMEexplorer.plume.org0 (L2, finality via L1)
Stable988USDT0stablescan.xyz0 (inclusion-based)
Plasma9745XPLplasmascan.to1 block (sub-second)
Linea59144ETHlineascan.build0 (L2, finality via L1)
Solana1399811149SOLsolscan.iofinalized commitment

The 1399811149 integer is a Philidor-assigned synthetic id (Solana has no EIP-155 chain id). Integrators who want a standards-based key should use the caip2 identifier served by /v1/chains: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp.

Chain identifiers and address formats

Every chain carries three identifiers. GET /v1/chains serves them for every chain with active vaults:

  • id — the integer used in chain_id fields and path segments. For EVM chains this is the EIP-155 chain id; for non-EVM chains it is a Philidor-assigned synthetic integer (stable, but not a standard).
  • slug — the URL-safe name accepted by ?chain= filters and /v1/vault/{network}/{address} paths (ethereum, base, solana). Filters accept the integer id or the slug interchangeably.
  • caip2 — the CAIP-2 identifier (eip155:1, solana:…). The standards-based way to key on a chain across namespaces.

Address formats are per-namespace and validation is strict:

  • eip155 (EVM): 0x-prefixed hex, 40 hex characters (20 bytes) or 64 for bytes32-keyed rows. Case-insensitive on input; canonical form is lowercase.
  • solana: base58, 32–44 characters decoding to 32 bytes. Case-sensitive — two addresses differing only in letter case are different accounts, so Philidor never case-folds them and neither should you.

A base58 address on an EVM chain (or a hex address on Solana) is rejected with 400, never coerced.

Finality Depths

Philidor only reads finalized blocks to prevent data corruption from chain reorganizations:

  • Ethereum (64 blocks): 2 epochs post-Merge. Provides economic finality.
  • Polygon (128 blocks): Heimdall checkpoint-based finality.
  • Avalanche (1 block): Avalanche consensus provides sub-second finality.
  • Monad (1 block): High-throughput L1 with sub-second block finality.
  • Plasma (1 block): Tether-backed stablecoin L1 (PlasmaBFT), sub-second finality.
  • Stable (0 blocks): Immediate inclusion finality in the chain registry.
  • L2s (0 blocks): L2 sequencers provide ordering; finality is inherited from L1 batch posting (Base, Arbitrum, Optimism, Plume, Linea).
  • Solana (finalized): Commitment-based finality; published reads use finalized account state rather than an EVM-style block-depth rule.

See Data Integrity for how finality is enforced.

Using Chain Filters

Filter vaults by chain using the chain parameter:

curl "https://api.philidor.io/v1/vaults?chain=ethereum"
curl "https://api.philidor.io/v1/vaults?chain=ethereum,base"
curl "https://api.philidor.io/v1/vaults?chain=solana"

On this page

Raw