CRINKL
Loading verified spend signals...
v1.0.0-rc.1
Crinkl Protocol

Real-world spending, verified without identity

A receipt goes in. A portable, self-verifying proof comes out — no account, no login, no identity tied to the purchase. Anyone can verify it. No one can trace it to a person.

Install Crinkl →
spend tokens minted
spend tokens (14d)
active metros
brands
categories
Every proof is self-contained. Verify it yourself — no API key, no trust assumption.
BTC Settlement
BTC/USD
sats/receipt
sats claimed
1:1reserve coverage
LN payouts
Cumulative Verified GMV

Live Attestation Feed

Spend by Category (14d)

Top Verified Brands

How It Works

01
Capture
A photo of any receipt — paper or digital. Store, date, total extracted. No identity tied to the purchase.
02
Verify
The protocol produces a standalone proof that this purchase happened. The proof works without Crinkl's servers. Anyone can verify it independently.
03
Settle
Rewards are committed on-chain and withdrawable as Bitcoin via Lightning. Ownership is proven at withdrawal — not at scan time.
Every receipt becomes a fact that exists independently of whoever submitted it.
How Verification Works

Each spend token is a self-contained artifact

It carries its own evidence, its own signature, and its own hash-chain history. Download one. Verify it offline. It doesn't phone home.

The Artifact Stack

Primitive Token
Spend Token
A self-contained proof that a real purchase happened. Carries the store, date, amount, metro area, and a full event history. Works without Crinkl. Works without the internet. Verify it yourself.
Asset Token
Reward Commitment
A batch of rewards anchored to Solana as a single Merkle root. Any individual reward is provable from the root alone. No database query. No API call. Just math.
Information Token
Verified GMV
A daily snapshot of all verified commerce, signed and published. The economic record that machines can read, verify, and cite — without asking permission.
Information Token
Verified Spend Distribution
A signed distribution snapshot of verified spend by category, brand, and metro. The market-shape record that machines can read, verify, and cite — without asking permission.

Verification Integrity

1
Two Independent Reads
Automated OCR extracts the data. GPT Vision independently reviews the original image. They must agree.
2
Canonical Normalization
Store names resolved to a shared taxonomy. Dates corrected. Metro areas assigned. Messy receipt data becomes structured economic fact.
3
Append-Only History
Every event in a spend's lifecycle is hash-linked to the one before it. You can't edit the past without breaking the chain.
4
Standalone Signature
The final token is signed once and never depends on a running server. It's a file. It's portable. It's yours.
5
Open Verification
Paste any token into the public endpoint. It checks the signature, the hash chain, and the event count. No login. No API key.

Settlement Flow

01
Scan
Receipt captured — OCR extracts store, date, total from photo
02
Verify
Two independent systems read the receipt. If they agree, a standalone proof is produced. If they disagree, it goes to deeper review — never rejection.
03
Reward
BTC sats calculated at daily reserve rate ($0.10/receipt at current BTC price)
04
Commit
Rewards anchored to Solana as a Merkle root. Each individual reward is provable from the root alone — no database, no API, just the proof.
05
Claim
Lightning Network payout — user withdraws BTC to any Lightning wallet. Instant settlement.

On-Chain Settlement

BTC / USD
Sats / Receipt
Coverage Ratio
1:1
BTC Claimed
Lightning Claims
Wallets With Balance

Recent Lightning Claims

LN
Lightning withdrawal
Feb 14 · Settlement
11,560 sats
$8.11
LN
Lightning withdrawal
Feb 13 · Settlement
8,000 sats
$5.61
LN
Lightning withdrawal
Feb 13 · Settlement
16,466 sats
$11.55
LN
Lightning withdrawal
Feb 11 · Settlement
14,502 sats
$10.17
LN
Lightning withdrawal
Feb 11 · Settlement
52,152 sats
$36.58
totaling via Lightning Network. Rewards exist as commitments before anyone claims them. Ownership is proven at withdrawal — not at scan time.
The proofs don't need us. That's the point.
Open Data

Open Data

Verified economic activity, published as self-verifying data. No API key. No trust assumption. Identity detached from the data.

Every response is a signed artifact — not a promise from a server, but a proof you can verify independently. No API key. No account. Schema.org structured data on every page. Built for AI agents, developers, and anyone who'd rather verify than trust.

Public API

Cumulative Verified GMV bash
$ curl https://api.crinkl.xyz/api/public/gmv/cumulative # Returns signed CUMULATIVE_GMV token { "object": "gmv_cumulative", "verifiedGMV": { "currency": "USD", "totalCents": "", "spendCount": }, "computedAt": "" }
Real-time Spend Signals bash
$ curl https://api.crinkl.xyz/api/public/spend/signals/recent?limit=10 # Returns verified spend signals with store, CBSA metro, and amount { "signals": [ { "storeName": "Walmart", "cbsaCode": "19740", "totalCents": 4283 }, ... ], "stats": { "trailing14d": { "totalCents": "5298207", "spendCount": 761 } } }
Merchant Summary bash
$ curl https://api.crinkl.xyz/api/public/spend/merchants/summary # Returns category breakdown + top brands (14d window) { "categories": [{ "categoryName": "Grocery", "totalCents": 2247833 }, ...], "topBrands": [{ "brandName": "Walmart", "spendCount": 92 }, ...] }
For Brands
Define promotion eligibility by what was purchased — not who purchased it.
"Spent $50+ on groceries in Denver this month" is a verifiable protocol fact. The person behind it stays private. Brands get precision. Users get privacy. The protocol enforces both.
  • Spend ≥ $10 at Shell in the last 30 days
  • Exclude recent buyers (no wasted budget)
  • Reward repeat grocery purchases above $50
  • Target by category, metro, or spend tier
For AI Agents
Every data point carries its own proof of authenticity.
An AI agent doesn't need to trust the source — it verifies the signature and knows the data is real. Spend signals, category distributions, metro-level segmentation. All machine-readable, all self-verifying, all open.
  • MCP server live — 12 tools at mcp.crinkl.xyz/mcp
  • Real-time spend signals with CBSA metro codes
  • Cumulative GMV with signed token proof
  • No API key. No rate limit. Signed responses.
Zero-Knowledge Proofs (Planned)
Prove You Qualify. Reveal Nothing Else.
A user proves they meet a brand's criteria — "bought coffee 3x this week" — without revealing which stores, what else they bought, or how much they spent. The brand gets a verified yes/no. The user's purchase history stays private. The protocol architecture supports this separation — zero-knowledge proofs over spend tokens are a planned extension of the verification layer.

MCP Server — Live

Any MCP-compatible AI agent can query Crinkl data. Endpoint: https://mcp.crinkl.xyz/mcp — Stateless Streamable HTTP. No API key. 12 tools. All read-only.
get-cumulative-gmv
All-time verified GMV total. Signed token with USD total, spend count, and computation timestamp.
params: { startDate?, asOfDate? }
get-daily-gmv
Signed GMV summary for a specific UTC date. Independently verifiable with issuer's Ed25519 public key.
params: { date: "YYYY-MM-DD" }
get-trailing-gmv
Rolling N-day GMV trend. Daily verified figures for trend analysis of commerce volume.
params: { days?: number }
get-spend-signals
Recent verified spend activity. Store category, CBSA metro area, amount. No PII.
params: { limit?: number }
get-merchant-summary
Category distribution and top brands across all verified spends.
params: {}
get-spend-distribution
Category × CBSA geographic breakdown of verified spends over trailing window.
params: { days?: number }
get-settlement-summary
BTC price, sats/receipt, Lightning payouts, total sats claimed, wallets with balance.
params: {}
get-gmv-inclusion-proof
Merkle proof that a spend is in a daily GMV total. Verify without trusting the server.
params: { spendId: string }
verify-reward-commitment
Verify reward commitment token integrity. Checks Merkle tree, batch signature, reward amounts.
params: { token: object }
verify-issued-gmv
Full end-to-end proof verification. Spend token + GMV token + inclusion proof + reward commitment.
params: { spendToken, gmvToken, gmvInclusionProof, rewardCommitmentToken }
get-recent-issued-proofs
Recent proof bundles. Everything needed to independently verify a receipt's journey from scan to settlement.
params: { limit?: number }
get-issuer-keys
Ed25519 public key for independent signature verification of any attestation token.
params: {}
The proofs don't need us. That's the point.