Private product previewRegister. Verify. Transfer. Preserve.
Vestavero
Base · LiveRead-only by designRegister an ObjectContact
Verify

Reference · API v1

Developer documentation

Stable envelopes, explicit integrity results, read-scoped keys, bounded queries, and privacy-safe public records.

Quick start

Versioned JSON over HTTPS

Send GET requests to /api/v1. Every response contains a request ID, API version, and timestamp. Public verification may be called without a key; configured commercial access uses X-API-Key.

Authentication

API keys are cryptographically generated, displayed once, stored only as SHA-256 digests, and limited to approved read scopes. Invalid, suspended, revoked, and expired keys fail closed. Authenticated CORS never uses a wildcard.

Active endpoints

GET/api/v1/health

Service, database, chain, contract, and read-only policy status

GET/api/v1/passports/{passportId}

Approved public passport projection

GET/api/v1/passports/{passportId}/verify

Live record-integrity result

GET/api/v1/passports/{passportId}/status

Authoritative lifecycle and transfer state

GET/api/v1/passports/{passportId}/provenance

Approved public provenance

GET/api/v1/passports/{passportId}/transfers

Privacy-safe transfer history

GET/api/v1/issuers/{issuerId}

Public issuer profile

GET/api/v1/issuers/{issuerId}/passports

Paginated issuer passports

GET/api/v1/search

Bounded public search

Verification terminology

Record Verified is used only when approved database commitments and the configured live contract agree. It never means “Authentic” by blockchain presence alone. Precise states cover mismatches, lost, stolen, disputed, retired, burned, chain unavailable, and contract not configured.

Provenance

Only approved public event identifiers, descriptions, actors, timestamps, hashes, transaction references, and evidence-availability booleans are returned. Private evidence and investigation notes are excluded.

Issuers

The issuer model is multi-issuer. CRCA remains a demonstration issuer used in this preview environment; an issuer’s public profile and paginated passport list are separate resources.

Errors

Errors use stable codes inside the standard envelope. See the OpenAPI specification for every code and HTTP response.

Rate limits

Responses include limit, remaining, reset, and plan headers. Blocked requests also include Retry-After. Developer, Starter, Professional, and Enterprise are configuration tiers only; billing is disabled.

Security

The public API is read-only. It has no contract writer, signer, broadcaster, deployer, or active webhook delivery path. The sole mutating surface on the deployment is the Square card-charge endpoint, which activates only when payments are enabled and stores no card data. Base Sepolia remains read-only.

Privacy

No customer identity, private contact data, purchase price, private valuation, secure-tag secret, NFC secret, private evidence, authentication material, wallet credential, or internal role assignment belongs in a public response.

Changelog

OpenAPI v1.1.0 adds transfers, issuer passport listings, bounded search, API-key and rate-limit documentation, and the verification widget. Write specifications are reserved for future versions and remain disabled in the current API.