Developer Guides
Configuration
Configuration is environment-driven. Never put signing keys in model context or client bundles.
Shared network
| Variable | Example | Purpose |
|---|---|---|
ARB_RPC_URL | https://arb1.arbitrum.io/rpc | Arbitrum JSON-RPC |
ETH_RPC_URL | L1 RPC | Root anchoring / finality checks |
CHAIN_ID | 42161 | EIP-712 domain |
SCORE_REGISTRY | 0x… | On-chain score publication |
POLICY_ENGINE | 0x… | Agency gatekeeper |
ORDER_NFT | 0x… | SPOOL order NFT |
Oracle
| Variable | Purpose |
|---|---|
KAFKA_BROKERS | Streaming backbone |
ORACLE_SIGNER_KEY | Attestation signer (HSM/MPC in prod) |
FRESHNESS_WINDOW_SEC | Max age consumers should accept |
MODEL_PATH | Calibrated score model artifact |
L1_ANCHOR_INTERVAL | How often to post Merkle roots |
Agency
| Variable | Purpose |
|---|---|
AGENT_ADDRESS | On-chain agent identity |
SIM_FORK_URL | RPC used for vm.createFork simulations |
ESCALATION_MULTISIG | High-impact destination |
MAX_VALUE_WEI | Per-call value ceiling (also enforced on-chain) |
SEQUENCER_STALL_SEC | Default 30s before degraded mode |
Secrets
Keep attestation and execution keys in HSM/MPC. The model receives observations and outputs proposals only — never private keys, seed phrases, or API credentials in prompts.