Create a Custom account via POST /v1/accounts with type=custom, controller.stripe_dashboard.type=none (if you want a fully embedded dashboard), and controller.losses.payments and controller.requirement_collection set per your responsibility model
Specify requested_capabilities in the account creation payload or follow up with POST /v1/accounts/{account}/capabilities for each capability (e.g., card_payments, transfers, us_bank_account_ach_payments)
Submit identity and business information via POST /v1/accounts/{account} — company or individual sub-objects, external_account bank details, and ToS acceptance (tos_acceptance.date and tos_acceptance.ip)
Poll or listen to account.updated webhooks; inspect requirements.currently_due and requirements.eventually_due to build a requirements collection UI or automated submission loop
Once requirements are satisfied, verify capabilities[].status transitions to active before processing live charges on behalf of the account
Handle capability requirement errors (e.g., identity verification failures) by fetching the specific capability object and surfacing requirements.errors[].reason to the connected account
Known gotchas
Custom accounts place responsibility for collecting account information, displaying Stripe's required disclosures, and handling KYC remediation entirely on the platform — review the Custom account responsibilities documentation carefully before choosing this account type
The controller.losses.payments field determines whether the platform or Stripe covers negative balance liability — ensure this matches your platform's risk model and review the implications for disputes and chargebacks
Capability statuses can regress from active to restricted if account information expires or new requirements are added; subscribe to capability.updated webhooks in addition to account.updated to catch these transitions
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