Authenticate all requests using your API key in the Authorization header as a Bearer token; use sandbox API keys (prefixed differently) during development.
Create an Account by POSTing to /accounts with a name field; the response returns an account object with a unique id, routing number, and account number.
To pull or push funds via ACH, create an ACH Transfer by POSTing to /ach_transfers with the account_id, amount (in cents), routing_number, account_number, account_type (checking or savings), statement_descriptor, and direction (credit or debit).
Review the returned ach_transfer object; in sandbox, use the Increase sandbox simulation endpoint to move the transfer to a completed or returned state for testing.
Subscribe to webhooks by creating a webhook subscription via POST /webhooks so that your server receives ach_transfer.created, ach_transfer.submitted, ach_transfer.returned, and other lifecycle events.
Handle return events by inspecting the return_reason code on the returned transfer object and decide whether to retry or contact the customer.
Known gotchas
Increase is a direct bank API (backed by a real bank charter), so production ACH transfers follow genuine NACHA processing windows — cutoff times vary by same-day vs standard ACH, and transfers submitted after cutoff process the next banking day.
The API uses amounts in cents (minor units) consistently; submitting a dollar-denominated amount will result in a transfer that is 100x smaller than intended.
Wire transfers and ACH have different endpoints and objects in Increase; do not conflate the two — verify you are using the correct endpoint for the payment rail you need.
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