Register your Data Recipient (DR) application with the Financial Institution's (FI) developer portal and obtain a client_id; request the fdx:accountbasic, fdx:accountdetailed, fdx:transactions, and fdx:statements scopes appropriate for your use case
Use Pushed Authorization Requests (PAR): POST the authorization request to the FI's /par endpoint with code_challenge (PKCE S256), scope, redirect_uri, and state; receive a request_uri valid for a short lifetime
Redirect the user to the FI's authorization endpoint with only client_id and the request_uri from the PAR response; the user authenticates and grants consent
Exchange the authorization code for tokens at /token using client_assertion (private_key_jwt) rather than a client_secret; store the access_token and refresh_token
Call GET /fdx/v6/accounts to list accounts, then GET /fdx/v6/accounts/{accountId}/transactions with startTime and endTime query parameters (ISO 8601 format) to retrieve transactions
Implement consent introspection via POST /fdx/v6/consents/{consentId} to verify scope and expiry before each data fetch; revoke consent on user request via DELETE /fdx/v6/consents/{consentId}
Known gotchas
FDX v6 defines two security profiles: the Green Profile (standard OAuth 2.0) and the Blue Profile (FAPI 2.0 with PAR and DPoP); many major US FIs require the Blue Profile — check the FI's developer documentation before assuming Green Profile is sufficient
Transaction taxonomy changed significantly in v6.5 (late 2025); the v2 taxonomy is now the default for new integrations — do not map category codes from legacy v1 taxonomy documentation without verifying the FI's current taxonomy version
FDX does not define a single authorization server discovery URL; each FI publishes its own OpenID Connect discovery document — you must maintain a per-FI configuration registry rather than a single global endpoint
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