01 · Vision
Overview
Paper receipts fade, get lost, and lock purchase history inside merchants' silos. The Digital Receipt Network flips that model:
- Every company can send a receipt — from a corner shop to a global chain, delivering a structured digital receipt should be as easy as one API call.
- Every customer owns their receipts — purchase records belong to the person who paid, not the merchant and not us. Export, share, or delete — always.
- Receipts live forever — a receipt is a durable, structured document: proof of purchase, warranty anchor, tax record.
- Privacy first — the Snaptab app is offline-first with no account required; everything that touches the network is explicit and opt-in, and data is never sold.
The Snaptab mobile app (iOS & Android) is the first client on the network. The app is one client; the platform is the product.
02 · Share pipeline
How it works today Live today
Sharing is already running in production. The pipeline is deliberately minimal:
- User shares a bill in the app. Sharing is opt-in per bill and requires a free account. Nothing is ever uploaded automatically.
- A minimal receipt payload is published to Firestore under an unguessable 128-bit random token: title, amount, currency, category, date, location label and note. Never photos, GPS coordinates, or raw OCR text.
- Anyone with the link or QR code opens
https://snaptab.glitchfy.com/r/{token}in any browser — no app, no account, no login to view. - The owner can revoke instantly. Deleting the share removes the document and the link stops resolving.
Public receipt payload — the entire shared document
{
"title": "Team dinner",
"merchant": "Seaside Grill",
"amount": 5782.00,
"currency": "LKR",
"category": "Dining",
"billDate": 1753747200000,
"location": "Colombo",
"note": "Split four ways",
"createdAt": "2026-07-29T09:41:00Z",
"revoked": false
}
That is the complete surface area of a share. Fields you leave empty are simply absent, and revoked: true makes the viewer treat the receipt as gone.
03 · Public viewer
Receipt viewer Live today
Every share resolves to a standalone viewer at /r/{token}. It is a single dependency-free HTML page:
- Printable — a dedicated print stylesheet renders a clean paper receipt.
- Downloadable — one tap exports the receipt as JSON, so recipients keep a structured copy.
- Dark-mode aware — follows the viewer's system preference.
- No tracking — no analytics, no cookies, no third-party scripts. The only network request is the receipt fetch itself.
Revoked, expired, or mistyped links get a friendly not-found state — never an error dump.
04 · Intelligence
AI & OCR Live today · on-device
On-device, by default
- OCR — receipt scanning runs on-device with ML Kit text recognition. Images and extracted text never leave the phone.
- Insight chat — a real language model (Qwen 2.5 1.5B) runs fully offline on the device, grounded in the user's actual bills.
Optional self-hosted cloud OCR Opt-in
For harder receipts, Snaptab can call a self-hosted OCR model: baidu/Unlimited-OCR served through a vLLM OpenAI-compatible endpoint. It is strictly opt-in, and because it is self-hosted, receipt images never touch a third-party OCR SaaS. Smoke-test a deployment with:
curl — vLLM OpenAI-compatible endpoint
curl {endpoint}/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "baidu/Unlimited-OCR",
"messages": [{
"role": "user",
"content": [
{ "type": "image_url",
"image_url": { "url": "data:image/jpeg;base64,<RECEIPT_IMAGE>" } },
{ "type": "text", "text": "Free OCR." }
]
}]
}'
05 · Platform API
Platform API v1 Coming soon · Phase 2
The REST API that lets any business issue receipts on the network. This is a preview of the planned v1 surface — names may shift before launch, and the base URL will be announced with Phase 2.
- POST /v1/receipts create a receipt (and optionally deliver it)
- GET /v1/receipts/{id} retrieve a receipt
- POST /v1/receipt-links mint a share link / QR for a receipt
- POST /v1/refunds attach a full or partial refund
- POST /v1/customers register a customer identifier for delivery
- POST /v1/webhooks subscribe to events
- POST /v1/verify verify a receipt's signature hash
The receipt object
Designed to outlive the purchase: line items carry warranty and serial numbers, totals carry tax lines, and every receipt can be signed and verified.
Planned receipt object
{
"id": "rcpt_9f2c1e7a4b",
"merchant": {
"id": "mer_seaside_grill",
"name": "Seaside Grill",
"tax_id": "LK-99887766",
"location": "12 Marine Drive, Colombo"
},
"customer": {
"email": "ayesha@example.com",
"phone": null,
"snaptab_id": "usr_k3n9…"
},
"items": [
{
"sku": "GRL-042",
"name": "Grilled prawns",
"qty": 2,
"unit_price": 2450.00,
"warranty": null,
"serial": null
},
{
"sku": "APP-011",
"name": "Bluetooth speaker",
"qty": 1,
"unit_price": 8900.00,
"warranty": { "months": 24, "expires_at": "2028-07-29" },
"serial": "SPK-77219-A"
}
],
"totals": {
"subtotal": 13800.00,
"tax_lines": [
{ "name": "VAT 18%", "amount": 2484.00 }
],
"total": 16284.00,
"currency": "LKR"
},
"payments": [
{ "method": "card", "brand": "visa", "last4": "4242", "amount": 16284.00 }
],
"refunds": [],
"issued_at": "2026-07-29T13:05:12Z",
"signature": "sha256:7c1e0b…"
}
The 15-minute integration
One authenticated call creates the receipt and delivers it to the customer's Snaptab inbox (falling back to a share link when they're not on the network yet):
curl — create & deliver a receipt (planned)
curl https://api.snaptab.glitchfy.com/v1/receipts \
-H "Authorization: Bearer sk_live_…" \
-H "Idempotency-Key: order-10245" \
-H "Content-Type: application/json" \
-d '{
"customer": { "email": "ayesha@example.com" },
"items": [
{ "name": "Bluetooth speaker", "qty": 1, "unit_price": 8900.00,
"warranty": { "months": 24 }, "serial": "SPK-77219-A" }
],
"totals": { "subtotal": 8900.00,
"tax_lines": [{ "name": "VAT 18%", "amount": 1602.00 }],
"total": 10502.00, "currency": "LKR" },
"payments": [{ "method": "card", "last4": "4242", "amount": 10502.00 }],
"deliver": true
}'
06 · Events
Webhooks Coming soon
Subscribe once with POST /v1/webhooks and receive signed events as receipts move through their lifecycle:
- receipt.created
- receipt.delivered
- receipt.viewed
- receipt.refunded
- receipt.revoked
- link.created
- link.revoked
- customer.created
Deliveries will be HMAC-signed so your servers can verify each event's origin (see Security & privacy).
07 · AI agents
MCP server Coming soon · Phase 5
MCP — the Model Context Protocol — is an open standard that lets AI assistants such as Claude connect to external tools and data sources. An official Snaptab MCP server will let AI agents use the receipt network as a first-class tool: your assistant will be able to file an expense, check a warranty, or pull last quarter's receipts on your behalf — with your permission, against your own data.
Planned capabilities:
- generate_receipt
- retrieve_receipt
- verify_receipt
- search_receipts
- export_receipts
- generate_pdf
08 · Ecosystem
SDKs & plugins Coming soon
Planned SDKs
- Node / TypeScript
- Python
- Java / Kotlin
- Swift
- .NET
- PHP
- Go
- Ruby
- Flutter
- React Native
Planned commerce plugins
Drop-in receipt delivery for the platforms merchants already use:
- Shopify
- WooCommerce
- Magento
- Stripe
- Square
- Toast
- Lightspeed
- …and more
Want an SDK or plugin prioritised? Tell us what you'd build.
09 · Trust
Security & privacy
Live today In production
- Token-capability links — a share is reachable only by its unguessable 128-bit token. Documents are get-only by exact ID; there is no list or enumeration path.
- Owner-only writes — security rules allow only the authenticated owner to create, update, or delete their shares. Public access is read-only.
- Instant revocation — deleting a share removes the document; the link dies immediately.
- Minimal payloads — only the fields shown in the share pipeline are ever published. Photos, GPS coordinates and raw OCR text never leave the device.
- No data selling, ever — no ads, no tracking, no analytics on shared receipts.
- GDPR / CCPA-ready posture — offline-first by default, explicit opt-in for any cloud storage, user-initiated deletion of shares and accounts, and a documented data-deletion path.
Planned With the API
- Receipt signatures — issuer-signed hashes with
POST /v1/verify, so any party can prove a receipt is genuine and unaltered. - OAuth2 for merchant applications, scoped API keys for servers.
- HMAC-signed webhooks and idempotency keys on all mutating endpoints.
10 · Where this goes
Roadmap
-
1
FoundationLive
Offline-first app, on-device OCR + AI, share links & QR codes, public receipt viewer, instant revocation.
-
2
Developer platformNext
Platform API v1, API keys, webhooks, sandbox environment, first SDKs.
-
3
Merchant platformPlanned
Commerce & POS plugins, merchant dashboard, receipt delivery at checkout.
-
4
Global networkPlanned
A customer-owned receipt inbox across every merchant, cross-border currencies, warranties and returns built on receipts.
-
5
Open standardPlanned
The receipt schema and verification published as an open specification, plus the official Snaptab MCP server for AI agents.
11 · Get involved
Contact & early access
Building a store, a POS, an accounting tool, or an AI agent that should speak receipts? We're onboarding early merchants and developers now — early partners get direct input on the v1 API.