Authenticate with the recurring-payments:sweeping scope in addition to the payments scope; POST /v3/mandates with type: sweeping and constraints including maximum_individual_amount, periodic_limits (max_amount and period_type), valid_from, and valid_to
Receive the mandate id and resource_token; render TrueLayer's Mandate Authorization SDK or hosted page using the resource_token so the PSU can authorize with their bank — SCA happens here and only here for sweeping
After authorization, poll GET /v3/mandates/{mandateId} until status is authorized; store the mandateId permanently for subsequent payment initiation
Initiate each sweep by POST /v3/mandates/{mandateId}/payments with amount_in_minor, currency, and a unique payment_idempotency_key; no further PSU interaction is required if the amount and frequency are within the mandate constraints
Monitor mandate status via GET /v3/mandates/{mandateId}; check consumed_periodic_amounts against the periodic limit to predict when the limit will be reached and proactively renew or notify the user
To revoke a mandate, call DELETE /v3/mandates/{mandateId}; also handle inbound revocation notifications via webhook (mandate_revoked event) for PSU-initiated revocations at their bank
Known gotchas
Sweeping mandates require both accounts to be held by the same legal entity; if TrueLayer or the ASPSP determines the beneficiary account is not 'self-owned', the mandate creation or payment will be rejected
The mandate resource_token for authorization is distinct from the access_token used to initiate payments; developers frequently mix them up, resulting in 401 errors on mandate-payment calls
periodic_limits resets are calendar-based at the ASPSP, not rolling-window; a limit may reset on the 1st of the month regardless of when your payments were made — design your payment scheduling logic around calendar resets, not 30-day rolling windows
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