Open1031
Dashboard Disbursement Hub Wire Approval
Exchange #EX-2026-1087
Disbursement Approval
Matt Belcher · 456 Sunset Blvd, Los Angeles CA · Repl. property closing wire
Awaiting Approval
escrow-wire-release · not yet armed
Wire Amount $850,000.00
Destination Account Cascade Title — IOLTA ···6241
Routing ···1840
Idempotency Key da7f2c91-1087-wire-001
Done Active Locked
Constructive-Receipt Firewall Active
No single person can release escrow funds. This wire takes two different authorized officers: the one who proposed it, plus one independent approver who did not. A proposal is not an approval. Neela guides and drafts. She never moves, holds, or releases your funds — that takes multi-party approval.
Neela AI

OFAC and CertifID have both cleared. The four-eyes gate is open. Your proposal is recorded, but it does not count as an approval — one authorized officer who did not propose this disbursement must approve before the cooling-off window starts. I've prepared the wire summary for the approver to review.

You proposed this disbursement. You cannot approve it.

Four-Eyes Approval Gate
1 proposal · 0 of 1 approvals escrow-wire-release · checking
SO
Sandra Osman QI Specialist Proposer — Submitted
Proposed Jun 6, 2026 · 11:42 AM · A proposal is not an approval · Cannot approve own submission
Not an approver
Independent Approver Senior QI Officer required
Must not be the proposer · Priya Raman or Patricia Lim eligible · Notification sent
Awaiting Review

You proposed this disbursement. Proposing it is not approving it, and the system prevents you from also serving as its approver — this is the constructive-receipt firewall. Switch to the Approver View above to see how a separate officer sees this request.

OFAC SDN Screening
Clear — No SDN match
Screened Jun 6, 2026 · 11:38 AM ofac-sdn-screening
Pass
CertifID Payee Verification
Wire details verified
Bank confirmed · Acct ···6241 · Jun 6, 10:54 AM
Pass
Plaid Account Linkage
Cascade Title — Verified
Linked via Plaid · Jun 3, 2026 escrow-wire-routing
Pass
Four-Eyes Approval Gate
0 of 1 independent approvals received
Proposed by Sandra Osman · awaiting an approver who is not the proposer
Pending
Cooling-Off Window
Not started
4-hour window begins after the independent approval
Waiting
Idempotency Guard
Key locked — no duplicate wire possible
da7f2c91-1087-wire-001
Active
Exchanger Matt Belcher
Exchange ID #EX-2026-1087
Wire Amount $850,000.00
Beneficiary Cascade Title & Escrow
Account (masked) ···6241
Routing (masked) ···1840
Replacement Property 77 Oak Ridge Dr, Denver CO 80203
Closing Date Jun 10, 2026
Wire Memo 1031 Exchange proceeds — EX-2026-1087 Belcher replacement closing
Wire submission is immutable once the independent approval is granted. To modify, the proposer must withdraw and re-submit — generating new audit entries and re-triggering all compliance gates.
Audit Trail — This Request
Forwarded to Vectr log-api on every entry
Disbursement proposed
Jun 6, 2026 · 11:42 AM
Sandra Osman · QI Specialist · IP 198.51.100.4
resourceType: disbursement_request · requestId: req_8f2a · $850,000.00
OFAC SDN screening initiated
Jun 6, 2026 · 11:38 AM (auto-triggered)
System · ofac-sdn-screening
Recipient: Cascade Title & Escrow · result: CLEAR
CertifID payee verification passed
Jun 6, 2026 · 10:54 AM
CertifID API · auto · escrow-wire-routing
Bank: Northgate Bank · Acct: ···6241 · Routing: ···1840 · status: VERIFIED
Plaid account linkage confirmed
Jun 3, 2026 · 9:17 AM
Plaid API · auto · escrow-wire-routing
institutionId: ins_116794 · status: CONNECTED
Awaiting independent approver authorization
Current state
Four-eyes gate open · proposal recorded, 0 approvals · escrow-wire-release · not yet armed
Build contract — money movement
1 · Four eyes, enforced server-side. The approver must not be the proposer. This is a database constraint on the disbursement record plus a policy check in the escrow-wire-release workflow — never a disabled button. The proposer view here shows the block stated in words, with the routing named, because a silently missing action teaches nothing.
1a · A proposal is not an approval. The gate is proposer + one independent approver, and the approval count is the count of approvals only — the submission is stored and rendered as a separate fact. The proposer's row never takes the success role (--good-*) or a check icon; it reads neutral and says Submitted. Any UI that shows a proposer as "1 of 2 approved" is claiming an approval the record does not hold, and it collapses four eyes down to two.
2 · No exchanger code path moves funds. Nothing on this surface, and no API it calls, is reachable by an exchanger role. Constructive receipt is a statutory failure, not a permissions nicety.
3 · Gates are sequential and re-run on revision. Identity and OFAC screening clear first; payee verification second; the four-eyes gate only opens once both pass. Withdrawing a proposal resets every gate and issues a new idempotency key — it never reuses the old one.
4 · The cooling-off window is a workflow timer, not a UI countdown. The clock lives in Vectr. A page left open, a browser closed, or a clock skew cannot shorten it, and no user can extend it.
5 · Every state change writes an audit entry — actor, role, IP, resource type, request id, amount — forwarded to the Vectr log-api. Approval is recorded against the approver's own identity; there is no approve-on-behalf affordance anywhere in this flow.
6 · Colour is not the status. Every gate carries an icon and a written verdict alongside the wash, so the surface still reads correctly in monochrome or with colour-vision deficiency.
7 · Tokens only. This surface used to be dark-only with the palette inlined. It now reads every colour from tokens.css: disbursement orange is --hub-disbursement / --hub-disbursement-ink / --hub-on from the [PROPOSED] hub set. The filled action button takes --hub-on, never a hardcoded white — white on the dark-theme orange is 2.6:1 and fails. Light and dark are both designed. All names, banks, amounts and account numbers are synthetic.