
Everything you need
to verify slips end to end
12 core features that help your shop take payments with confidence — from slip verification and duplicate protection to reports and a developer API.
Everything SlipBolt does, on one screen
Pick any tile to jump to the part of the page that explains it.
0.74s average reply
The answer lands before the customer has put the phone down — and nobody has to check anything by hand.
The bot answers in chat
Customers send the slip exactly as they always have; the bot replies in the same thread with the verdict.
Webhook + REST API
The result reaches your own system the moment it is verified, with an idempotency key so a retry never books twice.






Every Thai bank
Thai bank slips and PromptPay go through the same pipe — no separate path to maintain.
Many shops, many channels
Per-shop totals and per-shop team access, switched from one login.
Reads slips in every format
from every bank, in a split second
SlipBolt reads the QR code + payload per the EMVCo / Bank of Thailand standard, covering PromptPay from 12+ Thai banks, then verifies against the bank central switch with automatic failover to a backup route.
- Full PromptPay coverage across 12+ banks
- Strategy pattern: verification routes are swappable, with no change on the shop side
- Circuit breaker guards against provider outages
- P95 latency < 800ms
The same slip works only once
blocked on every slip, with no day limit
Every successfully verified slip has its transaction reference stored in MariaDB plus a 24-hour Redis cache. No matter how many times the same slip is resubmitted, it gets the same answer, uses no extra quota, and recycled slips are caught instantly.
- Idempotency key = transRef + shopId
- 24h Redis cache · MariaDB unique constraint
- No day limit — the same slip cannot be reused on the same shop while the record exists
- A slip already used to pay for SlipBolt cannot be reused on another shop of the same owner
→ status: DUPLICATE · saved 1 quota
Replies as beautiful cards
not boring text
Verification results come back as an easy-to-read LINE Flex Message with your shop's logo and a "View in Dashboard" button that opens LIFF — customers see the summary right in chat without switching apps.
- 5 ready-made templates (light/dark/branded)
- Add your own logo + brand colors
- Button linking to the LIFF dashboard
- Custom JSON templates on Business
See every slip in one place
analyze from every angle
A dashboard redesigned with PrimeVue v4 + Tailwind v4 — fast, beautiful, easy to use. See today's/this month's KPIs, 7-day charts, and the full slip table with fine-grained filters. Every table exports to CSV — opens straight in Excel or Google Sheets.
- KPI cards: passed · fake · quota · total
- 7/30/90-day charts + per-bank trends
- DataTable virtual scroll · sort · filter
- CSV export on every table (opens in Excel)
Store only what's necessary
deleted within 60 seconds
Customer slip images are deleted within 60 seconds after verification. Only the essential text data is kept for the audit log. Every action leaves a trail, and PDPA export/delete requests are honored at any time.
- Image files deleted ≤ 60 seconds (cron + TTL)
- TLS 1.3 on every endpoint
- Audit log covers every event
- Data export / account deletion in 1 click
Connect your back office
REST API + Webhook
For shops that already run a POS / CRM / order management system: send slips for verification via the REST API, or receive a webhook whenever a new slip arrives from LINE — every response is JSON per the OpenAPI 3.1 standard.
- REST API · OpenAPI 3.1 spec · Starter plan and up
- Webhooks push events to your CRM
- SDKs: Node.js · PHP · Python (coming soon)
- Rate limit: 120 req/min per API key · plus a 240 req/min cap on /verify
// verify a slip image via SlipBolt API
const url = 'https://api.slip-bolt.com/api/v1/verify';
const res = await fetch(url, {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_live_••••',
'Content-Type': 'application/octet-stream',
},
body: image,
});
const { data } = await res.json();
// data.verified → true | false
Come in from anywhere
answered in one place
SlipBolt accepts slips from multiple channels — several LINE OAs, the REST API, email forwarding, or webhooks from other systems. Every slip lands in the same dashboard.
- LINE OAs by plan (Pro up to 10 · Business unlimited)
- REST API + Webhook
- Email parser (forward slips from your banking app)
- All channels unified in 1 dashboard
