Documentation Index
Fetch the complete documentation index at: https://developers.t2000.ai/llms.txt
Use this file to discover all available pages before exploring further.
The Agent Wallet is @t2000/cli + @t2000/mcp + t2000-skills — one CLI, one MCP server, eight skills. The CLI is the human surface (t2 <verb>); the MCP server is the AI-client surface (wallet tools as MCP tools); skills are the orchestration playbooks both surfaces share.
Install
npm install -g @t2000/cli
Requires Node.js 18+.
t2 init # plain Bech32 wallet, 0o600 perms
t2 init --import # restore from a suiprivkey1… secret
t2 receive # address + ANSI QR
t2 send 5 USDC alice.sui # gasless USDC send
Every command supports --json for machine-parseable output and --key <path> for a non-default wallet file.
Commands
| Group | What it does |
|---|
t2 init · t2 init --import | Create a new wallet, or import an existing suiprivkey1… Bech32 secret. Prints a warning footer about opt-in t2 limit settings. |
t2 export | Print the wallet’s Bech32 secret — pair with t2 init --import on another machine to move wallets. |
t2 receive | Print the wallet address + ANSI QR. --qr-only for embedding; --json for scripts. |
t2 balance | USDC / USDsui / SUI holdings + USD totals. |
t2 history | Recent on-chain activity (sends / swaps / MPP payments) with Suiscan digests. |
t2 send <amount> <asset> <recipient> | Send USDC / USDsui / SUI. Asset is required — no implicit USDC default. USDC + USDsui are gasless via 0x2::balance::send_funds; SUI sends use standard gas. Recipient resolves in priority order: hex address → SuiNS name (alice.sui) → @audric handle → saved contact alias. |
t2 swap <amount> <from> <to> | Best-route swap via Cetus Aggregator V3 across 20+ Sui DEXs. --slippage <pct> (default 1%, max 5%), --quote for a preview without signing. Requires SUI for gas. |
t2 pay <url> | Pay for an MPP-protected API. Auto-handles HTTP 402 → quote → USDC payment (gasless) → retry. --data, --method, --header, --max-price <USD> (default $1.00). |
t2 services search <query> · inspect <url> | Discover MPP services on the mpp.t2000.ai gateway — chat / search / image / weather / mail / TTS / code exec / postcard / flights / +30 more. |
t2 limit set --per-tx <USD> · --daily <USD> | Opt-in spending caps written to ~/.t2000/config.json. t2 limit show / t2 limit reset. Override per-call with --force on send / swap / pay. |
t2 mcp install · uninstall | Auto-wire the t2000 MCP server into Claude Desktop, Cursor, and Windsurf. Idempotent. |
t2 mcp start | Start the MCP stdio server. Used by AI clients via the JSON config — not normally run by hand. |
t2 skills install [--target=cursor|claude-code|agents] · list · uninstall | Install per-skill SKILL.md files locally (alternative to running the MCP server). |
Gasless
USDC + USDsui sends and MPP pay are gasless — the Sui foundation sponsors the protocol-level 0x2::balance::send_funds flow. SUI sends and Cetus swaps need gas; keep ~0.05 SUI on hand. Any Sui exchange or DEX will fund the gas balance.
Examples
# Fresh wallet → first send
t2 init && t2 receive
# (fund the wallet with USDC from any source)
t2 send 5 USDC alice.sui
# Move a wallet to another machine
t2 export # prints suiprivkey1…
# on the new machine:
t2 init --import # interactive hidden-input prompt
# Discover an API service, then pay for it
t2 services search "image"
t2 pay https://mpp.t2000.ai/fal/fal-ai/flux/dev --data '{"prompt":"a sunset"}' --max-price 0.10
# Opt into spending limits
t2 limit set --per-tx 50 --daily 200
t2 send 100 USDC alice.sui # blocked
t2 send 100 USDC alice.sui --force # explicit override
# JSON output for scripting
t2 balance --json | jq '.available'
t2 history --json --limit 5
Configuration
| Path | Purpose |
|---|
~/.t2000/wallet.key | Plain JSON wallet — { version: 2, secret: "suiprivkey1…" }, 0o600 perms. |
~/.t2000/config.json | Opt-in spending limits (only present after t2 limit set). |
| Env var | Effect |
|---|
T2000_RPC_URL | Custom Sui JSON-RPC endpoint (defaults to Sui public fullnode). |
T2000_GRPC_URL | Custom Sui gRPC endpoint (defaults to fullnode.mainnet.sui.io). Used during gasless USDC/USDsui send + pay builds. |
T2000_GATEWAY_URL | Override the MPP gateway URL for t2 services + t2 pay. Defaults to https://mpp.t2000.ai. |
MCP Integration
The CLI ships with the t2000 MCP stdio server. t2 mcp install writes the right JSON config for every supported AI client on your machine.
| Client | Setup | Config path |
|---|
| Claude Desktop | t2 mcp install | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Cursor | t2 mcp install | ~/.cursor/mcp.json |
| Windsurf | t2 mcp install | ~/.codeium/windsurf/mcp_config.json |
| Codex / Cline / Continue / any MCP client | Manual JSON (below) | client-specific |
Manual config — paste into your client’s MCP config file:
{
"mcpServers": {
"t2000": {
"command": "t2",
"args": ["mcp", "start"]
}
}
}
The t2 command must be on PATH — npm install -g @t2000/cli puts it there.
| Tool | Type | What it does |
|---|
t2000_balance | read | USDC / USDsui / SUI holdings + gas reserve + USD totals. |
t2000_address | read | Wallet’s Sui address. |
t2000_receive | read | Payment request — address, Payment Kit sui:pay?… URI, optional amount / memo / label. |
t2000_history | read | Recent on-chain activity with Suiscan digests. |
t2000_services | read | Discover MPP services on mpp.t2000.ai. Call before t2000_pay. |
t2000_send | write | Send USDC / USDsui / SUI. asset is required. USDC + USDsui gasless. dryRun: true for previews. |
t2000_swap | write | Cetus Aggregator V3 swap. Requires SUI for gas. |
t2000_pay | write | Pay an MPP-protected API. HTTP 402 → quote → USDC payment (gasless) → retry. |
t2000_limit | settings | Read-only. Surface the user’s opt-in caps to the LLM. Setting / clearing flows through CLI (security boundary). |
Every skill (below) is also auto-registered as a skill-<name> MCP prompt — 8 prompts: skill-setup, skill-check-balance, skill-send, skill-receive, skill-swap, skill-services, skill-pay, skill-mcp.
Security
- Wallet file is
0o600 — owner read/write only. stdio transport, keys never leave the machine.
- Every write tool has a
dryRun: true preview path.
- Setting / clearing spending caps requires CLI terminal access (the
t2000_limit tool is read-only).
Skills
Skills are markdown instruction files your agent reads on demand — decision frameworks, correct patterns, common mistakes. Install per-client:
# Cursor
npx @t2000/cli skills install --target=cursor
# Claude Code
npx @t2000/cli skills install --target=claude-code
# Codex / Windsurf / agentskills.io
npx @t2000/cli skills install # default --target=agents
# Vercel Skills CLI
npx skills add mission69b/t2000-skills
| Skill | What it teaches |
|---|
t2000-setup | End-to-end wallet bootstrap (t2 init + optional limits + MCP install). Read first when onboarding a new user. |
t2000-check-balance | Inspect USDC / USDsui / SUI before any write. |
t2000-send | Explicit --asset, gasless USDC / USDsui, SUI sends that need gas. |
t2000-receive | Address share, ANSI QR, Payment Kit sui:pay?… URIs. |
t2000-swap | Cetus Aggregator routing, --quote, slippage, swap-needs-SUI gotcha. |
t2000-services | Discover MPP services before t2 pay. |
t2000-pay | MPP 402 → quote → pay → retry flow. |
t2000-mcp | Wire the MCP server into Claude / Cursor / Windsurf. |
Each skill is also served as plain markdown at https://t2000.ai/skills/<slug> — curl it or open in a browser. The discovery manifest lives at /.well-known/agent-skills/index.json.
Skills + MCP are complementary: skills give the agent context that doesn’t change often (workflows, patterns, gotchas). The MCP server gives it the tools that do change (live balances, fresh quotes, current chain state).
At a glance
| Surface | Detail |
|---|
| Wallet file | Plain Bech32 JSON at ~/.t2000/wallet.key, 0o600 perms |
| Sendable assets | USDC, USDsui, SUI (asset required on every send) |
| Gasless | USDC + USDsui via Sui foundation’s 0x2::balance::send_funds sponsor |
| Spending limits | Opt-in via t2 limit set — default is no limits |
| MCP tools | 9 (5 read + 3 write + 1 settings) |
| Skills | 8 markdown playbooks shipped as skill-<name> MCP prompts |
| Fees | Free at the t2000 layer. Network gas + third-party protocol fees still apply. |
The Agent Wallet is intentionally narrow — focused on USDC payments, swaps, and MPP API access. DeFi flows (save / borrow / withdraw / repay) are programmatic-only in @t2000/sdk.
Programmatic usage
For TypeScript programmatic access — building bots, server apps, or your own consumer surface — use @t2000/sdk:
import { T2000 } from '@t2000/sdk';
const agent = await T2000.create();
const balance = await agent.balance();
await agent.send({ to: 'alice.sui', amount: 5, asset: 'USDC' });