check_circle CheckAPI
Built for Ukrainian banks 🇺🇦

Bank Receipt Verification in 1 Second

Your operator checks every receipt by eye: amount, card, bank. Our API does it in 1 second — automatically matches the amount and recipient card against expected values, and filters out rejection screens and incomplete payments.

bolt 10,000+ verifications per week · 96% auto-confirmed · median response 1 sec
upload_file

Drop a receipt photo or click to upload

Manual Receipt Checking Doesn't Scale

smart_toy

Operator Time

Each receipt takes a minute of human attention. At scale, that's hours every day

screenshot

Errors at Scale

Wrong amount, wrong card, an incomplete payment screen instead of a receipt — a tired eye misses these

person_off

Obvious Fakes

Screenshots with wrong amounts or cards and rejection screens are filtered out automatically

How It Works

1

Send Photo

POST /verify with a receipt photo, expected amount, and last 4 digits of the recipient's card.

2

Model Verifies

A proprietary ML model trained on 16,000+ real Ukrainian bank receipts matches the amount and recipient card, filters out rejection screens.

3

Get Verdict

verified: true/false with an explanation — typically in 1 second.

curl -X POST https://check.sarmkadan.com/api/v1/verify \
  -H "X-API-Key: chk_your_key" \
  -F "image=@receipt.jpg" \
  -F "expectedAmount=2450" \
  -F "expectedCardLast4=7731"

{
  "verified": true,
  "detectedAmount": 2450.0,
  "detectedCardLast4": "7731",
  "reason": "confirmed",
  "durationMs": 940
}

Supported banks: PrivatBank · monobank · OTP Bank · A-Bank · Raiffeisen — other banks added on request.

10,000+
verifications per week
96%
auto-confirmed
1 sec
median response time
0
receipts in third-party clouds — processed only on our servers

Pricing

Half the price of Western recognition services — and this is verification, not just recognition.

Start

$30

1,000 verifications · $0.03 per check

Get Key
Popular

Business

$200

10,000 verifications · $0.02 per check

Get Key

Custom

from $500

A separate product for your use case: your banks, your verification rules, turnkey integration with your system.

Discuss

Payment in USDT or by invoice. No monthly fees or minimums.

Official SDKs

Integrate in minutes — ready-made libraries for your language

What Clients Say

Average rating 4.6 out of 5 — based on reviews from real users

★★★★★

Set up in one day. We run a currency exchange — our operator used to manually check every receipt. Now 90% of the flow is handled automatically. Only the edge cases need human eyes.

AK

Alex K.

Currency exchange, Kyiv

★★★★

Fast and straightforward to integrate. Occasionally unsure about dark photos — but honestly reports "not found" instead of guessing. For our volume (200–300 receipts per day) it's more than enough.

DM

Dmitry M.

P2P platform

★★★★★

We looked at US-based services first — expensive, and your data ends up on their cloud. Here everything runs on their own servers, pricing is fair, and the model actually understands Ukrainian banks.

IS

Iryna S.

Financial company, Dnipro

★★★★★

Does its core job well: extracts amount and card accurately. Would like PUMB and Ukrsib support, but they say it's coming. No complaints for PrivatBank and mono.

AV

Andrew V.

Online store, Odesa

★★★★★

We came with a specific need — verifying monobank receipts with non-standard fields. They built a Custom solution for us in a week. Response in one second, practically zero errors.

VT

Vitaly T.

Payment service

Frequently Asked Questions

Do you detect fake receipts?

The service automates verification: amount, recipient card, rejection screen detection. Receipts with wrong data and incomplete payment screenshots won't pass. But this is a verification automation tool, not forensic image analysis — no automated service can guarantee catching a well-crafted fake with correct data.

Do you store receipts?

No. The image is processed on our servers and deleted immediately after verification. No data is sent to third-party cloud services — that's our key difference from Western alternatives.

Which banks are supported?

PrivatBank, monobank, OTP Bank, A-Bank, Raiffeisen. Need another bank? We'll add it for you — the model retrains on new receipt formats within a few days.

What if the model is unsure?

~4% of receipts (cropped or very dark photos) get a "not found" verdict — those should be reviewed by an operator. 96% of the flow is handled automatically.

Can you build a solution specifically for us?

Yes, that's the Custom plan: a separate product tailored to your case — your banks, your verification rules, integration with your system. Processing runs on our servers.

How do I verify a monobank receipt?

Send a photo of the monobank receipt via API or the demo on this page. The service automatically recognizes the amount and recipient card — even if the photo is at an angle or has a dark background.

How do I verify a PrivatBank receipt?

Same way — upload a photo of the Privat24 receipt. The model is trained on thousands of real PrivatBank receipts and correctly reads the amount, card, and payment status.

How long does integration take?

One POST request with a receipt photo — you get a JSON response in ~1 second. Typical integration from zero to production takes one day. Documentation with examples: check.sarmkadan.com/docs

Stop Checking Receipts by Eye

Message us on Telegram — we'll have you set up in one day.

Message on Telegram — @sarmkadan