Skip to main content
This is the app-embed recipe. To connect Proofable in any chat or IDE, or to list on proofable.me, use Connect Proofable. Adding sign-in to an app? Use hosted sign-in.
Publish once. One listing owns the verifiers, price, and hosted sign-in. Your app adds the listing and confirms the result; it never recreates the verify logic. Visitors never need an API key.

Build it

1

Publish a listing

Sign in at proofable.meListings. Choose what to verify, set pricing, Publish. Copy your gateId.
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 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; passkey and OAuth included):
The visitor’s proof is theirs. If they return or visit another listing that needs the same Proofs, they can reuse it. You choose who pays. Use your Proofable credits for free access, or turn on visitor checkout and set a price. See Billing for card, USDC, and metered API options.

Optional: show proof status

Pass showChains only when on-chain status matters in your interface.

Not using React? Send users to Proofable for sign-in

Read the proof ID (qHash) from the callback URL or popup message, then store it. Details: Hosted sign-in.

Connect Proofable instead?

Connect Proofable is the one path for chat, IDEs, jobs, and listings. After Connect, ask: “Before I take a sensitive action, use Proofable. Reuse what I already have.”

Next

VerifyGate

Props, modes, and OAuth.

Hosted sign-in

The browser flow on Proofable.

Start

Connect Proofable. Hosted sign-in for apps.
Backend-created proofs after a one-time approval: Integrations.
Last modified on September 5, 2026