> For the complete documentation index, see [llms.txt](https://docs.toolkit.equs.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.toolkit.equs.ai/docs/issuance/offer-tiers.md).

# Offer Tiers

How the tx\_code reaches the Holder. What T1, T2 and T3 each require, and how to pick the closest tier your Holders qualify for

The `tx_code` can reach the Holder in three ways, and T1, T2 and T3 are the names for them. A tier isn't something you set explicitly: you choose how the code is delivered, and that choice is what puts an Offer in one tier or another. The three form a gradient: how close the Holder is to you.

<figure><picture><source srcset="https://701364325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFaucIkpW1i4WOAQC06fj%2Fuploads%2F6bH7MphlsdQpLqTIF7L8%2Foffer-tiers-spectrum-dark_2.svg?alt=media&amp;token=1c17029e-5581-4a47-bc5e-d7e5f4e06581" media="(prefers-color-scheme: dark)"><img src="https://701364325-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FFaucIkpW1i4WOAQC06fj%2Fuploads%2F6tTuJP1hj2VLUVkUPTqK%2Foffer-tiers-spectrum-light_2.svg?alt=media&amp;token=5c00bc51-a8d5-48b2-ba37-cefbb157ad04" alt=""></picture><figcaption></figcaption></figure>

At **T1** the Holder is signed in to the wallet as your user, so the wallet can fetch the code itself. At **T2** the Holder is on another EQUS Wallet, signed in with an account that isn't yours, the platform can still reach that wallet, so it pushes the code straight in. At T3 neither is true, so the code is sent outside the wallet and the Holder types it in.

Moving outward costs friction and buys reach. T1 and T2 both spare the Holder any typing; T3 is the only tier that works with third-party wallets. Setup runs the other way: T1 needs your IdP registered, T2 needs the Holder's wallet known to the platform, T3 needs nothing.

### The three tiers

<table data-search="false"><thead><tr><th>Offer Tier</th><th>T1 · Your user</th><th>T2 · Known supported wallet</th><th>T3 · Any wallet</th></tr></thead><tbody><tr><td><strong>Who the Holder is</strong></td><td>Your user, signed in to the EQUS Wallet through your IdP</td><td>A Holder on another EQUS Wallet, signed in with an account that isn't yours, identified by email</td><td>Anyone, with any OID4VCI-compliant wallet</td></tr><tr><td><strong>How the code reaches them</strong></td><td>The wallet fetches it - nothing is sent</td><td>The platform pushes it to their wallet</td><td>Flow 1: the platform emails it, or you deliver it. Flow 3: you deliver it. </td></tr><tr><td><strong>What the Holder does</strong></td><td>Accepts the Offer</td><td>Accepts the Offer</td><td>Accepts the Offer, then enters the code</td></tr><tr><td><strong>In Pending Offers</strong></td><td>Yes</td><td>No</td><td>No</td></tr><tr><td><strong>What must be in place</strong></td><td>Your IdP, registered as an External IdP</td><td>The Holder's wallet app must come from a Wallet Provider registered on the platform</td><td>Nothing</td></tr><tr><td><strong>Wallets</strong></td><td>EQUS Wallet</td><td>EQUS Wallet</td><td>Any compliant wallet</td></tr></tbody></table>

### Choosing a delivery method

Start with the closest tier your Holder qualifies for:&#x20;

```mermaid
flowchart LR
    S0{"Should the Offer arrive<br/>without the Holder asking?"}
    S0 -->|Yes| TA["<b>Auto Issuance</b><br/>needs T1 · wallet fetches the code<br/>nothing to type, nothing to scan"]
    S0 -->|"No, the Holder starts it"| S{"Which wallet, and how is<br/>the Holder signed in?"}
    S -->|"EQUS Wallet, signed in<br/>through your IdP"| T1["<b>T1 · Your user</b><br/>wallet fetches the code<br/>nothing to type"]
    S -->|"Another EQUS Wallet, an<br/>account that isn't yours"| T2["<b>T2 · Known supported wallet</b><br/>platform pushes the code in<br/>nothing to type"]
    S -->|"No login, or any<br/>third-party wallet"| T3["<b>T3 · Any wallet</b><br/>code arrives out of band<br/>the Holder types it in"]
    style TA fill:#e6f4ea,stroke:#34a853,color:#1a1a1a
    style T1 fill:#e6f4ea,stroke:#34a853,color:#1a1a1a
    style T2 fill:#e8f0fe,stroke:#4285f4,color:#1a1a1a
    style T3 fill:#fff4e5,stroke:#f9ab00,color:#1a1a1a
```

If more than one tier fits, the closer one gives the Holder less to do. If none fits, T3 always works - it assumes nothing, and it's the only tier that reaches third-party wallets, which makes it the default for issuing to the general public.

### Auto-issuance

Auto-issuance is not a fourth tier; it is a mode that **T1** makes possible. Because the wallet can retrieve the code unprompted, an Offer can be created by a business event and simply appear in the Holder's Pending Offers, with an email and a push notification, and no QR code anywhere in the journey. What triggers it is up to you - a business event, a nightly job, or an operator pressing a button. The difference is on the Holder's side: they don't have to be present, or asking, for the Offer to reach them.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.toolkit.equs.ai/docs/issuance/offer-tiers.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
