Skip to content

Add SEP: Contract Verification Registry API#1944

Open
fnando wants to merge 4 commits into
masterfrom
contract-verification-registry
Open

Add SEP: Contract Verification Registry API#1944
fnando wants to merge 4 commits into
masterfrom
contract-verification-registry

Conversation

@fnando
Copy link
Copy Markdown
Member

@fnando fnando commented Jun 5, 2026

Adds a new Draft ecosystem proposal, Contract Verification Registry API, defining a read-only HTTP API for querying whether a smart contract's wasm has been reproduced from its source.

What it covers

  • A status endpoint that looks a contract up by wasm hash and returns the verifications one or more verifiers have recorded for it.
  • Reuses the SEP-58 vocabulary verbatim (bldimg, bldopt, source_repo, source_rev, tarball_url, tarball_sha256) — this SEP is a transport for SEP-58 results and adds no vocabulary of its own.
  • JSON Schemas for the status object and error responses (status-object-1.0, error-1.0).
  • Worked examples covering verified, unverified, pending, out-of-band, multi-verifier, and error cases.

Why

This standardizes the API surface for the Contract Source Verification Service RFP. With a common interface, any verification service can implement the API and any client can consume verification results interchangeably, regardless of which service produced them.

Status: Draft — SEP number to be assigned.

👉🏻 Discussion thread 👈🏻

Copilot AI review requested due to automatic review settings June 5, 2026 21:17
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new Draft SEP (“Contract Verification Registry API”) that standardizes a read-only HTTP endpoint for querying whether a contract wasm has been reproduced from source, along with JSON Schemas and extracted example fixtures to validate implementations.

Changes:

  • Adds a new Draft SEP specifying GET /wasms/:wasm_hash.json, response semantics (200 vs 202), and a status-object format that reuses SEP-58 vocabulary.
  • Adds JSON Schemas (draft 2020-12) for the status object and the optional 400 error body.
  • Adds extracted JSON example files (status + error) and a README explaining how to validate them.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
ecosystem/sep-contract-verification-registry.md Defines the proposed HTTP API, response objects, error shape, and rationale/security notes.
contents/sep-contract-verification-registry/status-object-1.0.schema.json JSON Schema for the 200/202 status object.
contents/sep-contract-verification-registry/error-1.0.schema.json JSON Schema for the optional 400 error body.
contents/sep-contract-verification-registry/README.md Documentation for schema/example layout and validation commands.
contents/sep-contract-verification-registry/examples/status/202-pending.json Example fixture for an enqueued/in-progress (202) response body.
contents/sep-contract-verification-registry/examples/status/200-verified.json Example fixture for a verified (200) response body.
contents/sep-contract-verification-registry/examples/status/200-unverified.json Example fixture for a settled unverified (200) response body.
contents/sep-contract-verification-registry/examples/status/200-two-verifiers.json Example fixture for multi-verifier disagreement (200).
contents/sep-contract-verification-registry/examples/status/200-out-of-band.json Example fixture for out_of_band verification (200).
contents/sep-contract-verification-registry/examples/error/400-other.json Example fixture for the generic 400_other error body.
contents/sep-contract-verification-registry/examples/error/400-invalid-wasm-hash.json Example fixture for 400_invalid_wasm_hash error body.

Comment thread ecosystem/sep-contract-verification-registry.md Outdated
Comment thread ecosystem/sep-contract-verification-registry.md Outdated
Comment thread ecosystem/sep-contract-verification-registry.md Outdated
Comment thread ecosystem/sep-contract-verification-registry.md Outdated
Comment thread ecosystem/sep-contract-verification-registry.md
Comment thread ecosystem/sep-contract-verification-registry.md
Comment thread contents/sep-contract-verification-registry/error-1.0.schema.json
@stellar stellar locked and limited conversation to collaborators Jun 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants