Authenticate all requests with HTTP Basic Auth using your organization ID as the username and your API key as the password
Create a Payment Order: POST /api/payment_orders with type (e.g. 'ach', 'wire', 'rtp'), direction ('credit' or 'debit'), amount in cents, currency, originating_account_id, and counterparty receiving_account details
For ACH, specify subtype ('ach' for next-day or 'ach_same_day' for same-day) and include the effective_date if scheduling in advance
Create an Expected Payment: POST /api/expected_payments with amount_upper_bound, amount_lower_bound, direction, currency, internal_account_id, and optionally counterparty_id or remittance_information to aid matching
Modern Treasury will attempt to automatically reconcile incoming transactions against expected payments; check the reconciliation_method and ledger_transaction linkage on matched transactions via GET /api/transactions
Known gotchas
Payment orders submitted after your bank's daily cutoff will be sent the next business day; use the effective_date field deliberately and account for bank holiday schedules
Amount fields are always in the smallest currency unit (cents for USD); sending a decimal value causes a validation error
Expected payments that are not matched automatically remain in 'unreconciled' status; build a workflow to manually review and reconcile these rather than ignoring them
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