Built on Algorand  ·  Powered by x402

Prove you were first. On-chain. Forever.

Captre lets agents and humans create a permanent, independently verifiable first-claim record for any content hash — anchored on Algorand, settled via x402 micropayment in under 8 seconds.

$0.01
Cost per attestation
<8s
Target latency
Permanent record
x402
Payment protocol
01
Immutable first claim
Once a content hash is claimed it can never be re-claimed — even after revocation. The record is permanent.
02
Agent-native API
Pay via x402, receive a receipt. No browser wallets, no manual steps — designed for programmatic callers.
03
Independent verification
Anyone can verify without the original payment context — free GET /verify reads directly from chain.
04
Fully on-chain
Data lives in Algorand Box Storage. No off-chain database, no trust required. Read it from any Algorand node.
How it works

Three steps.
Done.

Payment settles first via the x402 facilitator, then Captre writes two boxes atomically — the attestation record and the UUID index.

01
POST /attest with your content hash
Send content_hash plus optional metadata. The x402 middleware intercepts and issues a 402 payment challenge.
02
Pay $0.01 USDC via x402
Your x402 client signs and submits the Algorand USDC payment. The GoPlausible facilitator verifies settlement.
03
Receive your on-chain receipt
Captre writes two boxes to the contract and returns attestation_id, author, and tx_id.
Interactive demo

Try it live

Simulate the full attestation flow end-to-end — attest, verify, look up by ID, and revoke. The free endpoints hit the real API; paid endpoints are safely mocked.

Simulated — /attest requires a real x402 payment ($0.01 USDC on Algorand). This demo calls a mock that behaves identically to the real endpoint, letting you see exactly what request and response look like without spending funds.
Simulating x402 payment + box write…
// Waiting for input…
Live — calls the real GET /verify endpoint on your running server. Free, no payment required.
Querying on-chain box storage…
// Waiting for input…
Live — calls the real GET /attestation/{id} endpoint. Accepts a UUID attestation_id or a raw content_hash. Free, no payment required.
Resolving id_index on chain…
// Waiting for input…
Simulated — /revoke requires an x402 payment and only the original author can revoke. This demo mocks the payment and uses the attestation_id from your last simulated attest. In production the payer address must exactly match the stored author.
Simulating x402 payment + revoke box update…
// Waiting for input…
Full simulation — runs the complete lifecycle automatically: Agent A attests a hash → Agent B looks up the proof → Agent B verifies it → Agent A revokes. Watch the log to see each step with realistic timing.
Running…
// Press "Run full flow" to start the simulation.
Quick start

Try it with curl

Verify by content hash — Free
curl "https://captre.onrender.com/verify\
  ?content_hash=sha256:YOUR_HASH"
Retrieve by UUID — Free
curl "https://captre.onrender.com/attestation\
  /YOUR_ATTESTATION_ID"
Full API Reference →
Honest positioning — Captre proves first on-chain claim to a content hash by a specific Algorand account. It does not prove original creation or authorship of the underlying content. Once a hash is claimed the record is permanent — revocation does not reopen it to new claimants.