Create a Connect Express account via POST /v1/accounts with type=express and the required country/email fields; store the returned account id
Request an Account Link via POST /v1/account_links with account, refresh_url, return_url, and type=account_onboarding; redirect the user to the returned url
Handle the return_url callback and retrieve the account via GET /v1/accounts/{account}; check requirements.currently_due and requirements.disabled_reason to confirm readiness
If requirements.currently_due is non-empty, generate a new Account Link with type=account_onboarding and re-redirect rather than assuming completion from the URL callback alone
Subscribe to the account.updated webhook and gate charge routing on charges_enabled and payouts_enabled both being true
Test the full flow in Stripe's test mode using the provided test onboarding paths documented in the Connect testing guide
Known gotchas
The return_url callback fires when the user returns from Stripe's hosted flow, but does not guarantee onboarding is complete — always re-fetch the account and inspect requirements fields rather than trusting the redirect
Account Links are single-use and short-lived; if the user's session expires or they navigate away, you must generate a fresh Account Link via the refresh_url handler rather than reusing the old one
Express accounts have a fixed controller structure; capabilities like card_payments and transfers must be requested at account creation or via a capabilities update — consult current docs for which capabilities are auto-granted vs explicitly requested per country
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