Skip to content

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/contractsSearch. Query: q, chainId, status (or positive), category, origin, platform, deployer, sort, page, pageSize.
GET /api/contracts/:chainId/:addressOne 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/:idPolls the explorer job and returns the reconciled state.
GET /api/activity?source=bugcrawl|onchain&limit=
GET /api/trail/:chainId/:addressRecent transactions and counterparties.
GET /api/stats, /api/networks, /api/healthSummary counts, configured networks, service health.
curl -s -X POST localhost:3000/api/verify/lookup \
  -H 'content-type: application/json' \
  -d '{"chainId":46630,"address":"0x…"}'