# $HITL token & tiers

$HITL is the access + alignment token for LoopDesk. It is **not** a payment token (payments settle in stablecoins via Agent Passport). It is a **programmable access credential** — your wallet balance unlocks surfaces, raises limits, and signals skin-in-the-game.

## What $HITL is for

| Utility                  | What it unlocks                                                                                                         |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| **Gate**                 | Access to `/payments`, agent passport issuance, and policy editor. No balance → no payment UI, client- and server-side. |
| **Limits**               | Per-tx caps, daily budgets, and concurrent active agents scale with the holder's tier.                                  |
| **Routing weight**       | Holders' overrides carry more weight in the learning loop calibration (drift detection, threshold tuning).              |
| **Reviewer eligibility** | Minimum balance required to be assigned items in the shared review queue (paid in stablecoin per approved item).        |
| **Governance**           | Voting on default routing policies, escalation tiers, and guideline templates shipped in the SDK.                       |
| **Fee rebates**          | Platform fee on Agent Passport settlements is rebated proportional to tier.                                             |

## Tiers

All thresholds are denominated in $HITL held by the connected wallet. The gate re-checks on every sensitive action — drop below the floor and the surface re-locks immediately.

| Tier          | Balance   | Per-tx cap | Daily budget | Active agents | Fee rebate | Reviewer queue             |
| ------------- | --------- | ---------- | ------------ | ------------- | ---------- | -------------------------- |
| **None**      | < 100     | —          | —            | —             | —          | —                          |
| **Access**    | ≥ 100     | $50        | $200         | 1             | 0%         | Read-only                  |
| **Operator**  | ≥ 1,000   | $500       | $2,500       | 5             | 10%        | Eligible                   |
| **Builder**   | ≥ 10,000  | $5,000     | $25,000      | 25            | 25%        | Eligible + priority        |
| **Principal** | ≥ 100,000 | Custom     | Custom       | Unlimited     | 50%        | Eligible + governance vote |

Thresholds are configurable per deployment via `src/lib/hitl/config.ts` and `src/lib/payments/policy.ts`. The defaults above ship in the public SDK.

## How the gate evaluates

1. Wallet connects (Phantom / Solflare via Solana Wallet Adapter).
2. `useHitlBalance()` reads SPL token accounts for the $HITL mint and sums `uiAmount`.
3. Client compares against the tier table → renders the matching surface.
4. Every server function on a gated route re-verifies the balance with the RPC before executing (see `src/lib/hitl/link.functions.ts`). Client tier is never trusted on its own.
5. Tier changes are written to `audit_events` with the wallet, balance, and new tier — full trail.

## Why a token instead of a subscription

* **Composable** — third-party agents can check the same balance to grant their own perks. The token is a shared credential, not a SaaS seat.
* **Programmable** — raise/lower thresholds without redeploying, run airdrops or campaigns against specific tiers.
* **Skin-in-the-game** — holders bear the cost of access; abusive wallets sell down naturally.
* **Orthogonal to identity** — user identity lives in `profiles`; the wallet balance is the entitlement. One user, many wallets, many tiers.

## What $HITL is **not**

* Not the unit of account for payments — agents settle in USDC/stablecoins via Agent Passport.
* Not a security or claim on revenue — utility token, access + governance only.
* Not a substitute for auth, RBAC, or Agent Passport's per-transaction policy — one extra layer on routes that warrant extra layers.

## Configuration reference

| Constant                        | File                         | Purpose                   |
| ------------------------------- | ---------------------------- | ------------------------- |
| `HITL_MINT`                     | `src/lib/hitl/config.ts`     | SPL mint address          |
| `HITL_MIN_BALANCE`              | `src/lib/hitl/config.ts`     | Floor for Access tier     |
| `SOLANA_CLUSTER` / `SOLANA_RPC` | `src/lib/hitl/config.ts`     | Cluster + RPC endpoint    |
| Tier table                      | `src/lib/payments/policy.ts` | Per-tier caps and budgets |

## Beta status

The mint currently shipped in `src/lib/hitl/config.ts` is a **devnet placeholder** so balances resolve to a real token account during testing. The real $HITL mint address ships before mainnet payment routing goes live; flip `VITE_HITL_MINT` to point at it. Tiers and caps are subject to governance vote at launch.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hitl-01.gitbook.io/hitl-docs/human-in-the-loop/token-utility.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
