Obtain Visa Direct originator credentials and confirm your BIN is enabled for OCT origination with your acquiring bank
Build an OCT transaction with required fields: senderAccountNumber (your funding account), recipientPrimaryAccountNumber (destination PAN), transactionIdentifier, amount, and transactionCurrencyCode
Set the businessApplicationId to AA (account-to-account) or PP (person-to-person) depending on your use case — this affects interchange and compliance treatment
Submit the OCT via the Visa Direct API fundstransfer/v1/pushfundstransactions endpoint; the response includes a transactionIdentifier and actionCode
A successful actionCode 00 means Visa has accepted the transaction for routing to the issuer; most issuers post funds within 30 minutes but timing is not guaranteed
Implement a status check via GET fundstransfer/v1/pushfundstransactions/{transactionIdentifier} to confirm final posting status
Known gotchas
Not all debit cards are enrolled in Visa Direct OCT — the issuer must opt their BINs in; an actionCode 05 often means the receiving card is ineligible
OCT funds availability at the recipient's bank is issuer-controlled; Visa cannot guarantee same-second posting even though most issuers post near-instantly
Push-to-card is a separate product from standard card-present acquiring — you need a specific Visa Direct agreement and your acquirer must support OCT origination
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp