Configuration
anchorregistry resolves its configuration through a four-level priority chain. Higher levels override lower ones.
Priority chain (highest → lowest)
Explicit call to
configure()— always winsEnvironment variables —
ANCHOR_REGISTRY_ADDRESS,BASE_RPC_URL,NETWORKNetwork preset — built-in defaults for
"base"and"sepolia"Package defaults — falls back to Sepolia testnet if nothing is set
Environment variables
Variable |
Description |
|---|---|
|
Network preset to use: |
|
Full JSON-RPC endpoint URL (overrides preset RPC) |
|
Contract address (overrides preset address) |
Example .env file:
NETWORK=sepolia
BASE_RPC_URL=https://sepolia.infura.io/v3/YOUR_KEY
configure() function
from anchorregistry import configure
configure(
network="base", # "base" or "sepolia"
rpc_url="https://...", # override RPC endpoint
contract_address="0x...",# override contract address
)
All parameters are optional. Pass only what you need to override.
Network presets
Network |
Contract Address |
Deploy Block |
Chain ID |
|---|---|---|---|
Base mainnet |
TBD — mainnet deploy |
TBD |
8453 |
Sepolia testnet |
|
10575629 |
11155111 |
Switching networks within a process
configure() is idempotent — call it again to switch networks:
from anchorregistry import configure, get_by_arid
# Query Sepolia
configure(network="sepolia")
record = get_by_arid("AR-2026-x1llnO1")
# Switch to mainnet
configure(network="base")
record = get_by_arid("AR-2026-x1llnO1")
Using a custom RPC endpoint
Any EVM-compatible JSON-RPC endpoint works — Infura, Alchemy, QuickNode, or your own node:
configure(
network="sepolia",
rpc_url="https://sepolia.infura.io/v3/YOUR_PROJECT_ID",
)
No AnchorRegistry account or API key is required at any point.