The stack
Enact is built on two open protocols: Tempo (the blockchain) and MPP (the payment protocol).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
0xaAAAaaAA00000000000000000000000000000000that 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:- A server returns
HTTP 402with a payment challenge - The client signs a payment and sends it in the
Authorizationheader - The server verifies payment and returns the response
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