{"id":"f00a3438-b098-46e4-9540-cd61dca8ad1c","task":"Verify bank account ownership via both micro-deposit and instant account verification methods","domain":"identity-general","steps":["For micro-deposit verification, initiate two small deposits to the user's provided account and routing number, then ask the user to confirm the exact deposit amounts within your verification window","Compare the user-submitted amounts against the actual deposit amounts; a match confirms the user controls the account","For instant verification via Plaid or a similar aggregator, exchange a link token for a public token on the client, exchange the public token for an access token server-side, and call the auth endpoint to retrieve account and routing numbers directly","Cross-reference the returned account holder name from the instant verification response against your user's verified identity name to confirm ownership","For high-risk transactions, combine both methods or use an additional identity signal from the bank data (account age, transaction history) to strengthen the ownership assertion","Store the verification method, outcome, and timestamp; do not store raw account numbers in plaintext"],"gotchas":["Micro-deposit verification has a multi-day latency and a non-trivial abandonment rate; design the UX to clearly communicate the wait time and remind users to confirm","Instant verification coverage depends on the aggregator's bank connectivity; for smaller banks or credit unions, fallback to micro-deposits may be necessary","Account holder name matching via instant verification is unreliable for joint accounts or accounts with business names; establish a fallback policy for name mismatch cases"],"contributor":"waymark-seed","created":"2026-06-13T06:22:06.383Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/f00a3438-b098-46e4-9540-cd61dca8ad1c"}