Features
Everything between “payout sent” and “payout proven”.
PayoutGuard is built for one job: telling you, with evidence, whether every stablecoin payout arrived as intended. These are the parts that do it.
Verify
A verdict for every payout, not a total.
PayoutGuard compares each row you expected with the transfers the chain recorded, in exact base units, and explains every difference.
Exact matching
Recipient and amount are matched in the token's smallest unit. Nothing is rounded, so 0.000001 USDC short is still underpaid.
Eleven statuses
Verified, provisional, missing, underpaid, overpaid, potential duplicate, wrong token, ambiguous, unsupported, unverified and scan incomplete.
One transfer, one payment
A transfer can pay only one row across all your batches, so two batches can never both claim the same payment.
Unexpected transfers
Transfers from your wallet that match no row are listed separately, so money sent to the wrong place is visible.
Split payments
Optionally count several transfers to the same recipient towards one row, for payouts sent in parts.
Validated uploads
Every row is checked before anything is stored: address checksums, amounts with too many decimals, duplicate IDs.
Settle
Verified means final. Not just confirmed.
A block can be reorganised until the network finalizes it. PayoutGuard tracks finality per chain and coverage per window before it says verified.
Finalized blocks only
A match in a block that is not yet finalized stays Provisional and is promoted automatically once it is.
Complete coverage
Every block in the window must be scanned. If a range could not be read, the result says Scan incomplete instead of guessing.
Reorganisation handling
Block hashes are compared on every pass; if the chain changes, affected results are re-derived and you are told.
Reproducible runs
Each run stores its inputs and outputs with hashes and the policy versions it used. History is append-only.
Review
From exceptions to a signed-off record.
Results are derived, never edited. People add what they know beside them, and the run is signed off when every exception is accounted for.
Evidence drawer
Transaction hash, log index, block, timestamp, finality and explorer link for every match and every exception.
Dispositions
Mark an exception as paid off-chain, an accepted underpayment, or resolved another way, always with a reason.
Sign-off
Available only when every exception has a resolving disposition, every row is final and unexpected transfers are acknowledged.
Audit log
Every change, by every person or API key, recorded with who made it and when.
Monitor
Past payouts, watched after the fact.
A payout can change status after you checked it: a block finalizes, a late transfer arrives, a reorganisation removes a match.
Scheduled re-checks
Hourly, daily or weekly re-verification of any batch, depending on your plan.
Alerts
For monitored batches, an email as soon as a re-check finds a result got worse: a new exception, a payment no longer verified, an unexpected transfer.
Daily digest
Payments that became Verified overnight, in one email instead of many.
Delivery log
Every alert and digest attempt is recorded, so you can see who was told what.
Multisig
Safe transactions, proven on-chain.
Many teams pay through a Safe. PayoutGuard links a Safe transaction to a batch and proves what it did without trusting a third party's word.
Local decoding
Transfers and MultiSend batches are decoded from the calldata itself, not from a service's interpretation.
Execution proof
Execution is proven by the Safe's own ExecutionSuccess event on-chain, never by an API flag.
Wrong-token evidence
A linked Safe transaction that paid in a different token shows up as evidence on the affected rows.
Snapshots
What the Safe service reported is stored as an immutable snapshot, so later checks can be compared.
Report and integrate
Hand the result to anyone. Or to any system.
Reports are generated from the stored run, never recalculated, and the API gives integrations the same results the web app shows.
CSV exports
Results, exceptions, transfers and a summary with scope, policy versions and hashes.
PDF report
Scope, totals, exceptions with their dispositions, sign-off and evidence, ready to share with an auditor.
Checksums
Each file's SHA-256 is recorded when it is generated and checked again when it is downloaded.
API
Scoped API keys, per-key rate limits, and Idempotency-Key when creating batches, submitting rows, verifying and exporting, so an integration can retry safely.
Verify your next payout run free.
No card, no keys, nothing to install.



