Skip to content

Networks

NetworkChain IDStatusNotes
Base Sepolia84532✅ LivePublic test period in progress. Real EAS attestations on Base testnet.
Base mainnet8453⏳ PendingMainnet deploy is held until the public test period closes.

The OP-Stack EAS predeploys are at fixed addresses on every Base chain:

  • EAS: 0x4200000000000000000000000000000000000021
  • SchemaRegistry: 0x4200000000000000000000000000000000000020

Each Fidemark network ships three resolvers + four schemas bound to the existing EAS predeploy: Human + AI on FidemarkResolver, Multi-party on FidemarkMultiResolver, Verified-human (World ID) on FidemarkPoPResolver.

ComponentAddress
FidemarkResolver (Human + AI)0xc17c1013479278d91065C40abDe9Ae86C3C5581d
FidemarkMultiResolver0xB3c0D0eb17BcEeF4AFc0fD3A7024B87509051431
FidemarkPoPResolver0x25210Aa76A6e8EFeE070A2f849F652174d4Edd08
Worldcoin verifier (Base Sepolia)0x42FF98C4E85212a5D31358ACbFe76a621b50fC02
SchemaUID
Human0x036295c587e1bf82ab6f6ed881d1b5b2bc38eb69023ea2ed213cdf1a0d726a43
AI0xf137529321d45cf2b2dbac4eb0f9d1d0d8b61cd16bb4c4dc10047eff68cc0a4b
Multi-party0x701078ea03836f41ce18d698cda3ea6857947a76ed19810b5611032bb5af6189
Verified-human (PoP)0xad0644cdb97b0cd3731a21eef6e240429db367358b7498a770df02b3b9b6bc5f

To get test ETH: Coinbase Developer Platform faucet or Alchemy faucet.

Pass a network name to the SDK:

import { Fidemark, getNetwork } from "@fidemark/sdk";
const fidemark = new Fidemark({
network: getNetwork("base-sepolia"), // mainnet ("base") not yet live
signer,
});

getNetwork(name) returns a NetworkConfig with the resolver address, schema UIDs, and a default RPC URL. Pass a custom provider to the Fidemark constructor if you want to use your own RPC.

Adding new trust-layer methods on an existing network

Section titled “Adding new trust-layer methods on an existing network”

The resolver maintains an allowlist of accepted proofMethod values for the Human schema. New methods that don’t require new validation logic (e.g. an upcoming label that piggybacks on existing checks) can be added by the resolver owner without redeployment.

If a new layer requires different on-chain validation logic (multi-party signature recovery, World ID Groth16 verification, TDX quote verification), it ships as a new schema paired with a new resolver. Old schemas keep their guarantees forever.

For high-volume use, the SDK’s verifyByHash (which scans events) becomes prohibitive. Migrate to:

  • EAS GraphQL for read queries.
  • A self-hosted indexer (Goldsky, Subgraph, etc.) for custom queries.

The on-chain protocol stays the same; only the read path changes. See Fidemark.verifyByHash for indexer-aware usage.