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

# How It Works

> The technology stack behind Enact — from passkey to payment.

## The stack

Enact is built on two open protocols: **Tempo** (the blockchain) and **MPP** (the payment protocol).

```
┌─────────────────────────────────┐
│           ENACT                 │
│  Wallet, agent sessions, CLI,   │
│  MCP server, dashboard          │
├─────────────────────────────────┤
│            MPP                  │
│  HTTP 402 payment flows,        │
│  payment receipts               │
├─────────────────────────────────┤
│           TEMPO                 │
│  Passkeys, Account Keychain,    │
│  TIP-20 stablecoins             │
└─────────────────────────────────┘
```

## Tempo

Tempo is a payments-first blockchain with sub-second finality and fees paid in stablecoins (no native gas token). Enact uses these Tempo primitives:

* **Passkey accounts** — WebAuthn-based wallets tied to your device's biometrics. The private key lives in your device's secure enclave and is never exposed.
* **Account Keychain** — a protocol-level precompile at `0xaAAAaaAA00000000000000000000000000000000` that manages access keys with per-token spending limits. This is what enforces agent budgets on-chain.
* **TIP-20 tokens** — USD-denominated stablecoins used for both payments and gas fees.

## MPP

MPP (Machine Payments Protocol) defines how machines pay each other over HTTP:

1. A server returns `HTTP 402` with a payment challenge
2. The client signs a payment and sends it in the `Authorization` header
3. The server verifies payment and returns the response

Enact's `pay` command and MCP `pay_request` tool handle this flow automatically using the `mppx` TypeScript SDK.

## What Enact does

Enact ties these together into a developer experience:

* **`npx enact-wallet init`** — creates a passkey wallet, funds it, and authorizes an agent session on-chain in one guided flow
* **Agent sessions** — scoped access keys with spending limits, managed from the CLI or dashboard
* **`npx enact-wallet pay`** — makes paid HTTP requests with automatic 402 handling
* **MCP server** — gives AI agents native tools for payments, balance checks, and session info
* **Dashboard** — web UI at [app.enact.finance](https://app.enact.finance) for wallet management, agent sessions, and transaction history
