Skip to main content

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

GroupWhat it does
t2 init · t2 init --importCreate a new wallet, or import an existing suiprivkey1… Bech32 secret. Prints a warning footer about opt-in t2 limit settings.
t2 exportPrint the wallet’s Bech32 secret — pair with t2 init --import on another machine to move wallets.
t2 receivePrint the wallet address + ANSI QR. --qr-only for embedding; --json for scripts.
t2 balanceUSDC / USDsui / SUI holdings + USD totals.
t2 historyRecent 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 · uninstallAuto-wire the t2000 MCP server into Claude Desktop, Cursor, and Windsurf. Idempotent.
t2 mcp startStart 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 · uninstallInstall 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

PathPurpose
~/.t2000/wallet.keyPlain JSON wallet — { version: 2, secret: "suiprivkey1…" }, 0o600 perms.
~/.t2000/config.jsonOpt-in spending limits (only present after t2 limit set).
Env varEffect
T2000_RPC_URLCustom Sui JSON-RPC endpoint (defaults to Sui public fullnode).
T2000_GRPC_URLCustom Sui gRPC endpoint (defaults to fullnode.mainnet.sui.io). Used during gasless USDC/USDsui send + pay builds.
T2000_GATEWAY_URLOverride 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.
ClientSetupConfig path
Claude Desktopt2 mcp install~/Library/Application Support/Claude/claude_desktop_config.json
Cursort2 mcp install~/.cursor/mcp.json
Windsurft2 mcp install~/.codeium/windsurf/mcp_config.json
Codex / Cline / Continue / any MCP clientManual 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 PATHnpm install -g @t2000/cli puts it there.

MCP Tools

ToolTypeWhat it does
t2000_balancereadUSDC / USDsui / SUI holdings + gas reserve + USD totals.
t2000_addressreadWallet’s Sui address.
t2000_receivereadPayment request — address, Payment Kit sui:pay?… URI, optional amount / memo / label.
t2000_historyreadRecent on-chain activity with Suiscan digests.
t2000_servicesreadDiscover MPP services on mpp.t2000.ai. Call before t2000_pay.
t2000_sendwriteSend USDC / USDsui / SUI. asset is required. USDC + USDsui gasless. dryRun: true for previews.
t2000_swapwriteCetus Aggregator V3 swap. Requires SUI for gas.
t2000_paywritePay an MPP-protected API. HTTP 402 → quote → USDC payment (gasless) → retry.
t2000_limitsettingsRead-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
SkillWhat it teaches
t2000-setupEnd-to-end wallet bootstrap (t2 init + optional limits + MCP install). Read first when onboarding a new user.
t2000-check-balanceInspect USDC / USDsui / SUI before any write.
t2000-sendExplicit --asset, gasless USDC / USDsui, SUI sends that need gas.
t2000-receiveAddress share, ANSI QR, Payment Kit sui:pay?… URIs.
t2000-swapCetus Aggregator routing, --quote, slippage, swap-needs-SUI gotcha.
t2000-servicesDiscover MPP services before t2 pay.
t2000-payMPP 402 → quote → pay → retry flow.
t2000-mcpWire 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

SurfaceDetail
Wallet filePlain Bech32 JSON at ~/.t2000/wallet.key, 0o600 perms
Sendable assetsUSDC, USDsui, SUI (asset required on every send)
GaslessUSDC + USDsui via Sui foundation’s 0x2::balance::send_funds sponsor
Spending limitsOpt-in via t2 limit set — default is no limits
MCP tools9 (5 read + 3 write + 1 settings)
Skills8 markdown playbooks shipped as skill-<name> MCP prompts
FeesFree 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' });