Skip to content

Latest commit

 

History

History
18 lines (14 loc) · 1.56 KB

API.md

File metadata and controls

18 lines (14 loc) · 1.56 KB

OneScan API

Types are in src/lib/types.ts. All routes are public and read-only except starting a check.

Route Purpose Returns
POST /api/check body { repo, address, commit? } Start a check. repo accepts owner/name or a github.com URL 201 { id }; 400 { error } on bad input; 413 { error } over 4 KB; 429 { error } when rate limited or the queue is full
GET /api/check/[id] Poll a check Job; when state is matched, the UI goes to /proof/<address>
GET /api/proof/[address] A proof, re-checked live ProofView or 404
GET /api/proofs Matched proofs, newest first Proof[] without match.source and match.abi
GET /api/address/[address] 5… or 0x… AddressView, or 400
GET /badge/[address] README badge SVG: "OneScan: code matches" / "exact match" / "not checked" / "code changed"
GET /api/pulse Live status for the site: latest block, queue length, proof counts, coverage of the chain census, six latest proofs Pulse
GET /api/preflight/[address] Quick read before a check: VM kind, code size, solc version, existing proof Preflight, 400, or 503 when the chain cannot be read

Pages: / landing page, /check the workspace with the check form, /check/[id] live stages, /proof/[address], /proofs, /address/[address] with the wallet tools.

Identical input while a check is queued or running returns the existing job id. A stored proof for the same address is replaced only by a newer match. A failed check never overwrites a proof.