Command-line wallet and HTTP client for the Tempo blockchain, with built-in Machine Payments Protocol support.
Tempo Wallet CLI combines wallet access, key management, and an HTTP client that pays automatically in one tool. It is for developers who need to interact with Tempo or MPP-enabled services from the command line or scripts without building payment-handling logic themselves. tempo wallet manages wallet access, keys, balances, transfers, and payment sessions. tempo request supports familiar curl-style requests and handles 402 Payment Required challenges automatically through the Machine Payments Protocol (MPP).
Use Wallet CLI when you want a ready-made wallet and command-line workflow for interactive use or scripts. Use mpp-rs, mpp-go, or pympp when you are adding MPP payment handling directly to an application instead of using a standalone CLI.
Install the Tempo launcher:
curl -fsSL https://tempo.xyz/install | bashThe launcher manages tempo wallet and tempo request extensions automatically.
# Log in with your passkey
tempo wallet login
# Remote-host login when your browser is on another device
tempo wallet login --no-browser
# Check wallet status
tempo wallet whoami
# Fund your wallet
tempo wallet fund
# Discover available paid services
tempo wallet services --search aiMake a paid HTTP request:
# Preview payment details
tempo request --dry-run https://example.mpp.tempo.xyz/v1/resource
# Pay and retry automatically
tempo request https://example.mpp.tempo.xyz/v1/resourceSession-based services open a reusable payment channel:
tempo request -X POST \
--json '{"input":"hello"}' \
https://service.mpp.tempo.xyz/v1/stream
tempo wallet sessions list
tempo wallet sessions close https://service.mpp.tempo.xyztempo wallet includes:
login,logout,refresh,whoami,keysfundtransferservicessessions list,sessions close,sessions syncdebugcompletions
Credit-related flows use whoami --credits, fund --credits, and transfer --credits.
tempo request supports common curl-style flags for methods, headers, bodies, output files, redirects, retries, proxies, and streaming responses.
Wallet state is stored under:
~/.tempo/wallet/store.json
~/.tempo/wallet/channels.dbTests use isolated temporary HOME directories so they do not mutate a developer's real wallet state.
Requirements:
- Node.js 22
- pnpm 11
pnpm install
pnpm dev -- --help
node --import tsx src/request-cli.ts --helpUseful commands:
pnpm check
pnpm test
pnpm build
pnpm bundle
pnpm packagepnpm check runs formatting/lint checks, production TypeScript typecheck, test/helper TypeScript typecheck, and Vitest.
The release workflow builds standalone Linux and macOS binaries for both tempo-wallet and tempo-request. Each binary is published with a checksum, SBOM, Sigstore bundle, and GitHub attestations.
Please do not report vulnerabilities through public issues. Email security@tempo.xyz.
Local wallet files may contain access key material. Do not commit files from ~/.tempo/, .env, or generated release artifacts.
Use conventional commit titles and include a .changelog/*.md entry for pull requests:
---
wallet-cli: patch
---
Brief description of the change.Supported bump levels are major, minor, patch, and none.
Run pnpm check before submitting changes.