API reference
HTTP endpoints for the directory, lookups and verification jobs.
All endpoints return JSON and are rate-limited per client. Errors have the shape { "error": string, "details"?: unknown }.
GET /api/contracts | Search. Query: q, chainId, status (or positive), category, origin, platform, deployer, sort, page, pageSize. |
GET /api/contracts/:chainId/:address | One contract with relationships, submissions and evidence. ?refresh=1 re-checks the explorer. |
POST /api/verify/lookup | { chainId, address }. Checks bytecode and asks the explorer. Adds the contract to the directory. |
POST /api/verify/submit | { chainId, address, compilerVersion, contractName, format, source, optimizationEnabled?, optimizationRuns?, evmVersion?, constructorArguments?, libraries?, licenseType? } |
GET /api/verify/requests/:id | Polls the explorer job and returns the reconciled state. |
GET /api/activity | ?source=bugcrawl|onchain&limit= |
GET /api/trail/:chainId/:address | Recent transactions and counterparties. |
GET /api/stats, /api/networks, /api/health | Summary counts, configured networks, service health. |
curl -s -X POST localhost:3000/api/verify/lookup \
-H 'content-type: application/json' \
-d '{"chainId":46630,"address":"0x…"}'