> ## 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.

# What a verifier checks

> What a merchant, service or site learns when it checks a Stamped Mandate an agent presents, and which answer to act on.

A verifier is anyone an agent presents a Stamped Mandate to: a merchant, a service, a site, or another agent. A mandate identifier on its own proves nothing, and a mandate can be revoked at any moment after it was signed. So a verifier checks it before acting on it.

## How an agent presents a mandate

An agent presents a Stamped Mandate to a site as a token issued by Sumvin, in the `x-sumvin-pint-token` request header:

```http theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
x-sumvin-pint-token: <token>
```

The token is addressed to the site's hostname. The site checks it on its own server, offline, against Sumvin's published keys, and accepts only a token addressed to itself. How to run that check is in the [verifier quickstart](/sdk/verify/quickstart). The site then asks Sumvin whether the mandate still stands, with the token's identifier and no account; that also catches a mandate revoked since it was signed. See [the website token check](/sdk/verify/checks#website-token-check).

A mandate can also be looked up by its identifier, such as `sr:us:pint:3f9c2a7e5b1d4c8e9a6f0b2d7e4c1a58`. How to run that check is in [Check a mandate](/guides/check-a-mandate).

## What the check answers

| Answer | Means |
| - | - |
| **Recognised** | Whether Sumvin knows a mandate with this identifier. An unknown identifier is an answer, not an error: act on nothing. |
| **Stands** | Whether the mandate permits anything right now. **This is the answer to act on.** |
| **Status** | Where the mandate has got to. See the states below. |
| **Scopes** | What it permits, as the [scope identifiers](/concepts/mandates/scopes) it was signed with, each with its own limits. |
| **Ceiling** | The most it would ever authorise, as an amount in display units and what that amount is counted in, such as `25.00` and `USD`. |
| **Signed by the account holder** | Whether the person signed this mandate themselves, or it was narrowed from one they signed. |
| **Signed at, expires at** | When it was signed and when it stops standing. |
| **Narrowing depth** | How many larger mandates this one was narrowed from. Zero is the ordinary case. |

### Stands, not status

A mandate **stands** only when all of these are true:

* its status is `active`;
* it has not passed its expiry;
* every larger mandate it was narrowed from is itself still intact.

A mandate can read `active` while a larger mandate above it has been revoked. It no longer permits anything. Only **stands** accounts for that.

### Ceiling

The ceiling is stated the way a person reads it: `12.50`, never `1250`. If the ceiling can no longer be read back out of the mandate's scopes, it is reported as missing. Treat a missing ceiling as unverifiable, never as unlimited.

### States

| State | Means |
| - | - |
| `pending` | Prepared but not yet signed. Permits nothing. |
| `active` | Signed and usable. |
| `consumed` | Already spent against. |
| `revoked` | Withdrawn by the person. |
| `expired` | Its time ran out. |

Only `active` can permit anything, and none of the last three ever becomes `active` again.

## What a verifier never learns

* **Who the person is.** No name, email or other contact details.
* **Anything above the mandate it was shown, from this check.** The narrowing depth is a count, not a list: the larger mandates each permit more than the one presented, so this check never returns their identifiers. A narrowed mandate's own token names them, and their signed requests are served only to a party that also holds the narrowed mandate's signed request. See [Verify a narrowed mandate](/sdk/verify/delegation).

Checking a mandate grants nothing and changes nothing. It is a read.

## Next

<Columns cols={2}>
  <Card title="Check a mandate" icon="shield-check" href="/guides/check-a-mandate">
    Run the check.
  </Card>

  <Card title="Examples" icon="list-checks" href="/concepts/mandates/examples">
    What a verifier sees for each use case.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.