Static snapshot. A frozen copy of the operator dashboard, safe to open anywhere. The buttons below are drawn but inert — recording a verification and being refused the release is a state change, so it runs on the live app: python src/demo.py --serve.

BaseDrift

payout pout_0077
Inbox · ← All decisions
Released
Routine payment — nothing was being changed
R2a_no_change_confirmed
Semantic layer read this as a payment follow-up, and the payout destination is confirmed unchanged against the vendor master. 375747675331 (payout fund account) is a known account for this vendor

Verification — what would release this

No account qualifies
no account on file qualifies: none is simultaneously settled, at least 90 days old, and added through a channel other than the one being verified (email_request)
This is not the same as the check failing. Nothing can be asked for, so it escalates and never falls back to the phone call.
Two people, not one. Whoever records the verification outcome must not be whoever releases the payment. A compromised or complicit AP clerk who can do both approves their own request, and the control is theatre. This is enforced when the button is pressed, not only drawn on the screen.

What was checked

Supplier
VEND0067
Destination account
375747675331
Destination came from
The payout itself — the payout's own fund account, never the email [razorpay_fund_account]
Fund account
fa_0077
Amount
Rs 150,000.00
Change request
doc_ac8cb8705a062120
Correlated by
Named on the payout [explicit_note]
Evidence source
Replayed perfect extraction [replayed_perfect_extraction]
Semantic reading
PAYMENT_FOLLOWUP / NONE / NONE

Accounts on file for this supplier

AccountAddedVerifiedSettled
375747675331
HDFC0368857 · active
At onboarding
2026-06-12
Verified at onboarding (KYC)0
payouts
This paymentPrimary

Identity checks — against your supplier records

result
check
finding
OK
Destination account
account_continuity
375747675331 (payout fund account) is a known account for this vendor
from Payout, against our records

What this maps to at RazorpayX

POST /v1/payouts/pout_0077/approve
payout released from pending

Action plans. Nothing in this repository calls Razorpay.