> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sumvin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Stamped Mandates (sumvin pint)

> Create, list, revoke, and verify Stamped Mandates from the terminal.

<Warning>
  **The CLI is for developers.** It's mainly for people building and experimenting on Sumvin. The recommended way to use Sumvin is the [MCP connector](/get-started/connect), or the API if you're building (docs coming).

  An agent running in your terminal can approve Stamped Mandates that the CLI signs for you. Never give an unattended agent `--yes`.
</Warning>

A Stamped Mandate is a signed authorisation for what an agent may do. This command group creates and manages the spending kind — how much an agent may spend, and until when — because that's what `pint` supports today. The command group is still named `pint` in the CLI — the rename to match the public name hasn't landed yet.

```bash theme={null}
sumvin pint create    # create a Stamped Mandate
sumvin pint list       # list your Stamped Mandates
sumvin pint get        # show one in full
sumvin pint revoke     # revoke one
sumvin pint verify     # verify a Stamped Mandate token independently
```

## `sumvin pint create`

Creates a Stamped Mandate and prints the token.

**Flags**

| Flag                         | Required           | Effect                                                                                                                           |
| ---------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| `--scope <value>`            | yes, repeatable    | What the mandate grants. Your account or agent tells you the exact value to pass.                                                |
| `--statement <text>`         | yes                | Human-readable description of what the mandate authorizes.                                                                       |
| `--expires <window>`         | no (default `24h`) | How long the mandate is valid — `30m`, `24h`, `7d`, and so on.                                                                   |
| `--max-amount <n>`           | no (default `0`)   | Spend cap. `0` authorizes no spend.                                                                                              |
| `--max-amount-token <value>` | yes                | The currency or token the cap is denominated in.                                                                                 |
| `--sign local`               | no                 | Sign the mandate yourself with a local key instead of letting Sumvin's agent sign it — see [`sumvin keys`](/reference/cli/keys). |
| `--json`                     | no                 | Print a result object instead of the printed token.                                                                              |

**Example**

```bash theme={null}
sumvin pint create \
  --scope <scope> \
  --statement "Delegate signing for one hour" \
  --expires 1h \
  --max-amount 0 \
  --max-amount-token <token>
```

**Output states**

* Success prints the mandate's identifier, its token, who it's addressed to, its scopes, and its expiry.
* Missing required flags, or a scope your account isn't verified for, are rejected before anything is created — see the errors below.

## `sumvin pint list`

Lists your Stamped Mandates.

**Flags**

| Flag                                 | Effect                                                       |
| ------------------------------------ | ------------------------------------------------------------ |
| `--status <value>`                   | Filter by status: `pending`, `active`, `expired`, `revoked`. |
| `--limit <n>` / `--cursor <value>`   | Paginate results.                                            |
| `--sort <value>` / `--order <value>` | Sort by creation or expiry, ascending or descending.         |
| `--json`                             | Print a result object instead of the formatted list.         |

## `sumvin pint get`

Shows one Stamped Mandate in full.

```bash theme={null}
sumvin pint get <mandate-id>
```

**Flags**

| Flag               | Effect                                               |
| ------------------ | ---------------------------------------------------- |
| `--expand <value>` | Include related records inline (repeatable).         |
| `--json`           | Print a result object instead of the formatted view. |

## `sumvin pint revoke`

Revokes a Stamped Mandate. Idempotent — revoking one that's already revoked succeeds without complaint.

```bash theme={null}
sumvin pint revoke <mandate-id>
```

## `sumvin pint verify`

Verifies a Stamped Mandate token independently — its signature, claims, issuer, expiry, audience, scopes, and revocation status. All seven checks are always shown, so a broken signature is never confused with an expired or revoked token.

```bash theme={null}
sumvin pint verify "<token>"
```

**Flags**

| Flag                 | Effect                                                                                                                        |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `--audience <value>` | Compare against a specific audience instead of your own account.                                                              |
| `--offline`          | Skip the network calls entirely. The audience and revocation checks then report as unverified rather than passing or failing. |
| `--json`             | Print a result object instead of the formatted checklist.                                                                     |

**Output states**

* All seven checks pass: the mandate is valid.
* Any check fails: the mandate is not valid, and the failing check is named — this is a completed, successful run whose answer is "no."

## Exit codes

| Command                           | `0`       | `1`                                | `2`       |
| --------------------------------- | --------- | ---------------------------------- | --------- |
| `create`, `list`, `get`, `revoke` | succeeded | failed                             | —         |
| `verify`                          | valid     | the check itself couldn't complete | not valid |

`sumvin pint verify` completing and reporting an invalid mandate is exit `2`, not `1` — the run succeeded, and the answer is no. Read the exit code, not just whether the command ran.

## Common errors

| Message                                                | Meaning                                                                        |
| ------------------------------------------------------ | ------------------------------------------------------------------------------ |
| "Couldn't determine your account's spending identity." | Finish onboarding in the Sumvin app before creating a mandate.                 |
| "Your account isn't verified yet for this scope."      | Complete identity verification first — see [`sumvin kyc`](/reference/cli/kyc). |
| "Mandate not found."                                   | Check the ID, or run `sumvin pint list`.                                       |
