GET /v1/platforms/me/capabilities returns an advisory snapshot of what the authenticated environment and credential can do right now: which settlement operations your credential’s routes would admit, which active templates a settlement can be created from, and which chains and mechanism this deployment settles on.
Every answer is read from the same checks the mutations enforce. The snapshot never grants anything: POST /v1/settlements and POST /v1/instructions revalidate the credential, the template and the chain configuration as they are when the request arrives.
Calling it
platform:read, a platform and an environment:
Nothing in the request selects an environment beyond that. A query parameter naming another environment is ignored, and one platform can never discover another’s environment.
Session tokens cannot call this route: they are minted with settlement and template scopes only, never
platform:read. Discover from your backend and hand the widget what it needs.
The response is served with Cache-Control: private, no-store.
Reading the answer
Operations
Each operation reports whether its route would admit this credential, the permission the route requires, and the first refusal the route would answer:settlement_read.settlement_restricted is true for a session token minted with settlement_ids. The response does not list them, and it never says that any particular settlement is readable.
Funding and recovery actions on an existing settlement depend on that settlement’s state and are not described here.
Templates
templates.page is one page of active templates, paginated with limit (1 to 100, default 50) and offset. Each item says whether a settlement can currently be created from it:
active_total counts active templates across every page, not available ones. Inactive templates are not listed, exactly as in GET /v1/settlement-templates. Without templates:read the page is null and no identifier is returned.
A template can be deactivated or edited after you read the page. Creation judges the template as it is at that moment and refuses a template that is no longer usable.
Chains
Configuration is not a health probe. An advertised chain says the deployment is configured to register there; it does not say the chain is reachable, that a token qualifies, or that a settlement will execute.