Skip to main content
Private preview: this is rolling out and may not be available on your account yet.
First-party only today. These calls need a personal access token, which isn’t yet open to third-party apps. See Sign in.
A Stamped Mandate is a signed authorisation for what an agent may do. The SDK’s functions still carry the older wire name, pint: listPints lists Stamped Mandates. Every call below reads or changes the signed-in person’s own mandates. Nobody else’s are visible.

List mandates

Mandates are listed per wallet, so listPints needs the address of the wallet the person’s mandates belong to. Get it from listWallets: it is the person’s primary account wallet.
A person’s account wallet is created after they finish verification. Until then, listWallets succeeds but returns no account wallet, so they have no mandates to list. The wallet is created in the background, so it may not appear straight after verification; check again later.

Read one mandate

mandateId is the mandate identifier, such as sr:us:pint:3f9c2a7e5b1d4c8e9a6f0b2d7e4c1a58. You can only read your own. To show what a mandate allows in plain numbers, use the ceiling reader. The scopes themselves are described in Scopes.

See who it was issued to

A mandate can be issued as a token to more than one party. listPintTokens lists each one: who it is addressed to, when it was issued, when it expires, and whether it was revoked.

Revoke a mandate

Revoking is immediate and can’t be undone. Every token issued against the mandate stops working with it. Revoking one that is already revoked returns 409 with its current state.

Requesting a new mandate

A new mandate is always approved by the person, with their passkey, in their own browser. Ask for one through the MCP connector or the CLI.