Create a counterparty resource by posting to the counterparties endpoint with the routing number, account number, account type (checking or savings), and the counterparty's name; Unit validates routing number format but does not pre-verify account existence
Originate an ACH payment by posting to the payments endpoint with type achPayment, referencing the source account ID and the counterparty ID; specify direction (Debit or Credit), amount in cents, and a description that will appear on the bank statement
For same-day ACH, set the addenda or sameDay flag (consult current Unit documentation for the exact field name); same-day ACH has three daily submission windows managed by Unit on your behalf
For wire payments, post with type wirePayment; include the counterparty ID and a wire message (typically a memo or reference); wires require the counterparty's bank to be wire-capable
Poll or receive webhooks for payment status transitions: Pending → Sent → Settled (ACH credit) or Pending → Sent (wire, settles same day if submitted before cutoff)
Known gotchas
Unit debits (pulling money from an external account) require the counterparty's explicit authorization under NACHA rules; Unit does not enforce this technically, but ACH debits without proper authorization expose you to R10/R29 returns
Counterparty records are reusable; creating duplicate counterparties for the same external account and then originating payments to each inflates your active counterparty count and complicates reconciliation — deduplicate before creating
ACH same-day cutoff times are enforced by Unit against NACHA's three daily windows; payments submitted after the final window are processed the next business day, not same-day — confirm current cutoff times from Unit's documentation
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