# Handshake runtime mode: "real" (Base mainnet, real USDC) or "dryrun" (no network, simulated CAP) MODE=dryrun # HTTP server PORT=8787 # Public base URL where report/verify routes are reachable (no trailing slash) PUBLIC_BASE_URL=http://localhost:8787 # CROO CAP SDK (from agent.croo.network Dashboard; required in real mode) CROO_API_URL=https://api.croo.network CROO_WS_URL=wss://api.croo.network/ws CROO_SDK_KEY=croo_sk_replace_me # OPTIONAL — Handshake self-configures from CROO_SDK_KEY alone (the WebSocket # only delivers this agent's own negotiations). Set these only to run multiple # tiers on one agent, or to pin the agent id shown in reports. #HANDSHAKE_AGENT_ID= #BASIC_SERVICE_ID= #DEEP_SERVICE_ID= # C4 latency check: p95 of target's paid->completed time must stay under this (ms) #LATENCY_P95_THRESHOLD_MS=60000 # Base chain RPC for settlement verification (C3) BASE_RPC_URL=https://mainnet.base.org # Attestation signing key — generate with: npm run keygen ED25519_PRIVATE_KEY_HEX=replace_me # SQLite database file DB_PATH=./data/handshake.db