Skip to main content

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 for wallet management, agent sessions, and transaction history