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

# Scopes

> Every Stamped Mandate scope family, what each scope grants, and the parameters it takes.

A scope says one thing an agent may do. Each scope belongs to a family, named by its domain. This page lists the families and what every scope in them grants.

**Needs a verified Sigil** means the scope can only be used for a person who has completed [verification](/get-started/first/verify). A mandate carrying it does nothing for an unverified account.

Parameters are written as described in [The mandate language](/concepts/mandates/language#parameter-types). A parameter marked *required* must be present for the scope to be signed at all.

## Sigil: facts about you

Attestations about the verified person behind the agent, and one read of the agent's own identity.

| Scope                                  | Grants                                                                                                                                                         | Parameters                                       | Needs a verified Sigil |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | :--------------------: |
| `sr:us:pint:sigil:kyc_status`          | Attests your current identity verification status.                                                                                                             | None                                             |           Yes          |
| `sr:us:pint:sigil:proof_of_personhood` | Attests that you are a unique, verified person.                                                                                                                | None                                             |           Yes          |
| `sr:us:pint:sigil:age_over_18`         | Attests that you are 18 or older.                                                                                                                              | None                                             |           Yes          |
| `sr:us:pint:sigil:kyc_read`            | Reads your verified identity details and documents.                                                                                                            | `doc_type`, `reason`, `requestor` (all optional) |           Yes          |
| `sr:us:pint:sigil:agent_read`          | Reads the identity of the connected agent making the request, and whether it is linked to your Sigil. Reads no financial data and can't see your other agents. | None                                             |           No           |

`kyc_read` parameters:

* `doc_type`: limit the read to one kind of document, such as `passport` or `id_card`.
* `reason`: why the details are shared. One of a fixed list.
* `requestor`: the provider that receives them. One of a fixed list.

Sharing your details with a provider needs a `kyc_read` scope that carries **both** `reason` and `requestor`. The lists grow as providers are added.

The three attestations (`kyc_status`, `proof_of_personhood`, `age_over_18`) are the only scopes a mandate may carry when it is addressed to a website by its hostname. See [Resources and conditions](/concepts/mandates/resources#audience).

## Spend: paying for things

Purchases, which run as [errands](/concepts/errands).

| Scope                            | Grants                                                                                                   | Parameters                              | Needs a verified Sigil |
| -------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------- | :--------------------: |
| `sr:us:pint:spend:visa_checkout` | Card checkout through Visa Intelligent Commerce, up to a ceiling.                                        | `max` (required), `currency` (required) |           Yes          |
| `sr:us:pint:spend:card`          | Pins a checkout to one of your enrolled cards. Without it, the card is chosen when the purchase is made. | `id` (required): the card's id          |           Yes          |

`max` on `spend:visa_checkout` is the most one checkout may charge, in the display unit of `currency`. See [Spending ceilings](/concepts/mandates/limits#spending-ceilings).

## Errand: purchase tasks

Starting, reading and managing [errands](/concepts/errands).

| Scope                        | Grants                                                       | Parameters               | Needs a verified Sigil |
| ---------------------------- | ------------------------------------------------------------ | ------------------------ | :--------------------: |
| `sr:us:pint:errand:search`   | Start an errand: a long-running search for something to buy. | `time` (required), `max` |           Yes          |
| `sr:us:pint:errand:triage`   | Start an errand from a suggestion you accepted.              | None                     |           Yes          |
| `sr:us:pint:errand:task`     | Start an errand from a task you gave an assistant.           | None                     |           Yes          |
| `sr:us:pint:errand:insights` | Start an errand from a generated suggestion.                 | None                     |           Yes          |
| `sr:us:pint:errand:read`     | Read your errands, their details and their history.          | None                     |           No           |
| `sr:us:pint:errand:manage`   | Answer an errand's questions, decide on it, or cancel it.    | None                     |           No           |

`errand:search` parameters:

* `time`: how long the errand may keep searching, in seconds. `604800` is seven days. Sumvin also applies its own upper limit, and the shorter of the two wins.
* `max`: an optional purchase ceiling. It is **not enforced**, because this scope names no currency to measure it in. Put the ceiling that counts on `spend:visa_checkout`.

Starting an errand spends nothing. Paying needs a `spend` scope as well.

## Accounts and transactions: open-banking data

Linking accounts and reading their data through [Meld](/concepts/partners).

| Scope                          | Grants                                               | Parameters                                      | Needs a verified Sigil |
| ------------------------------ | ---------------------------------------------------- | ----------------------------------------------- | :--------------------: |
| `sr:us:pint:accounts:link`     | Link your accounts through an open-banking provider. | `provider` (optional): `meld`                   |           No           |
| `sr:us:pint:accounts:read`     | Read your linked accounts and balances.              | None                                            |           No           |
| `sr:us:pint:transactions:read` | Read your transaction history, details and receipts. | `from_date`, `to_date` (optional, Unix seconds) |           No           |

With `from_date` or `to_date`, the agent can ask only for transactions inside that range. A request reaching outside it is refused.

## Proofs: facts about your money

Proving something about your money to someone else without showing them the figures.

| Scope                       | Grants                                                                            | Parameters                                                   | Needs a verified Sigil |
| --------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------ | :--------------------: |
| `sr:us:pint:proofs:balance` | Proves your balance is at least an amount, without disclosing the balance itself. | `min` (required), `currency` (required), `timing` (optional) |           Yes          |

`proofs:balance` parameters:

* `min`: the amount being proven, in the display unit of `currency`. It follows the same rules as a spending ceiling: fractions up to the currency's precision, positive only. See [Spending ceilings](/concepts/mandates/limits#spending-ceilings).
* `currency`: the ISO 4217 code the amount is stated in, such as `USD`.
* `timing`: when the balance is checked. `live` checks it each time a proof is made, and is the default. `snapshot` checks the most recent balance on record. `frozen` checks it once and holds the answer for the life of the mandate.

## Read mandates

An agent asking you directly for a mandate asks for one of two kinds:

* **Spend**: the spend scopes above, with exactly one spending ceiling.
* **Read**: any of `accounts:read`, `transactions:read` and `proofs:balance`. A read mandate spends nothing and carries no ceiling.

A request mixing the two kinds is refused. To grant both, sign two mandates. See [Time limits](/concepts/mandates/limits#time-limits) for how long each lasts.

## Mandates: asking for and checking mandates

| Scope                         | Grants                                                                                                                                              | Parameters | Needs a verified Sigil |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | :--------------------: |
| `sr:us:pint:mandates:propose` | Draft a mandate and put it to you to sign. Drafting grants nothing until you sign.                                                                  | None       |           No           |
| `sr:us:pint:mandates:read`    | Read the mandates you have been asked to sign, and where each request has got to.                                                                   | None       |           No           |
| `sr:us:pint:mandates:verify`  | Check a mandate somebody else presents: what it permits, up to how much, and whether it still stands. Reads nothing about the person who signed it. | None       |           No           |
| `sr:us:pint:pints:read`       | Read the mandates you have signed, including what each one permits.                                                                                 | None       |           No           |
| `sr:us:pint:pints:revoke`     | Revoke a mandate you have signed. Revocation is permanent.                                                                                          | None       |           No           |

`mandates:read` covers only your own requests. Checking a mandate that belongs to someone else always needs `mandates:verify`.

## Onboarding: setting up your account

| Scope                          | Grants                                                                             | Parameters | Needs a verified Sigil |
| ------------------------------ | ---------------------------------------------------------------------------------- | ---------- | :--------------------: |
| `sr:us:pint:onboarding:read`   | Read how far you have got in setting up your account, and the state of your Sigil. | None       |           No           |
| `sr:us:pint:onboarding:verify` | Start identity verification and hand back a link for you to complete it.           | None       |           No           |

## Your account

Reading what your Sumvin account holds. Your linked accounts and transactions are covered by the accounts and transactions family above.

| Scope                     | Grants                                                          | Parameters | Needs a verified Sigil |
| ------------------------- | --------------------------------------------------------------- | ---------- | :--------------------: |
| `sr:us:pint:assets:read`  | Read the assets you hold, with balances and prices.             | None       |           No           |
| `sr:us:pint:wallets:read` | Read your wallets, including addresses, networks and nicknames. | None       |           No           |

## Not listed here

The catalogue also holds scopes for products these docs don't cover, and a few reserved names with nothing behind them yet. A mandate naming a scope that is not in the catalogue at all is refused.

## Next

<Columns cols={2}>
  <Card title="Resources and conditions" icon="link" href="/concepts/mandates/resources">
    What a mandate is bound to.
  </Card>

  <Card title="Examples" icon="list-checks" href="/concepts/mandates/examples">
    Scopes put together for each use case.
  </Card>
</Columns>
