Skip to main content
One listing holds the checks, the price, and hosted sign-in. Your app adds the listing and confirms the result. It never rebuilds the check, and visitors never need an API key.

Build it

1

Publish a listing

Sign in at proofable.me and create a listing. Choose what to verify, set a price or keep it free, and publish. Copy your gateId. Listed offers also appear on the marketplace.
2

Add VerifyGate

VerifyGate reuses a saved proof, or opens hosted sign-in on Proofable when a new one is needed. Wallet, passkey, and OAuth steps all happen on Proofable, not inside your app.
3

Confirm on your server

Pass the visitor’s account address from Proofable sign-in or the saved result:
The visitor’s proof is theirs. When they return, or reach another listing that needs the same checks, they reuse it. You choose who pays. Your credits cover free access, or turn on visitor checkout and set a price. Pricing covers card, USDC, and pay-per-call options.

Show proof status

Pass showChains only when onchain status matters in your interface.

Not using React

Send visitors to Proofable instead:
Read the proof ID (qHash) from the callback URL or popup message, then store it. Hosted verification

Next

VerifyGate

Props, strategies, and hosted OAuth.

Gate checkout

The full checkout contract.

Server integrations

Create proofs from your backend.

Gates

Everything a gate can hold and enforce.
Last modified on September 12, 2026