Transaction Proof
Cryptographic proof for every transaction.
Not blockchain. Not a financial instrument. Compliance infrastructure. Every collection and every payout gets a SHA-256 hash, batched into a Merkle root, and exposed via a public verify endpoint. Immutable, verifiable, audit-ready — without bolting a ledger onto your stack.
How it works
Three steps.
Transaction settles
A collection or payout completes via the licensed operator.
Receipt minted
FinVeil canonically encodes the event, hashes it (SHA-256), and writes it to the receipt ledger.
Anyone can verify
Hit GET /verify/:receiptId — re-derive the Merkle proof and confirm the transaction independently.
Benefits
Why teams choose Transaction Proof.
Audit-ready by default
Every payment carries a tamper-evident receipt — no extra integration, no extra storage on your side.
Independently verifiable
A regulator, auditor, or counterparty can verify a receipt without your servers being online.
Not a financial instrument
Receipts are cryptographic proofs only. NOT transferable, NOT redeemable for funds, NOT a store of value, NOT a token.
NGB / SARB / SARS-friendly
Receipt chains map cleanly onto regulator audit asks — pull the receipt, attach to your filing, done.
Who it's for
Developer-friendly
Drop it into your stack.
REST API, typed SDKs in 9 languages, and a sandbox environment you can explore in 30 seconds. No calls with sales to get keys.
Read the docs# Anyone — regulator, auditor, counterparty — can verify
curl https://api.finveil.money/api/v1/verify/rcpt_dis_9f3a1c... \
-H "Accept: application/json"
# => {
# "valid": true,
# "receiptId": "rcpt_dis_9f3a1c...",
# "eventType": "DISBURSEMENT_SETTLED",
# "amount": 5000.00,
# "currency": "ZAR",
# "rail": "VISA_DIRECT",
# "issuedAt": "2026-04-18T20:14:02Z",
# "merkleRoot": "0xabc123...",
# "merkleProof": [ "0x...", "0x...", "0x..." ]
# }Works with