From t2000-agent-wallet
Generate a payment request for the t2000 Agent Wallet — print the wallet address, an ANSI QR code, and (via MCP) a Payment Kit URI (sui:pay?…). Use when asked to receive a payment, share a wallet address, create a payment link, or set up a fund-me link.
How this skill is triggered — by the user, by Claude, or both
Slash command
/t2000-agent-wallet:t2000-receiveThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Surface the wallet address (and optionally a Payment Kit URI with a pre-filled amount + memo) so anyone with a Sui wallet can send tokens to the Agent Wallet. Two surfaces:
Surface the wallet address (and optionally a Payment Kit URI with a pre-filled amount + memo) so anyone with a Sui wallet can send tokens to the Agent Wallet. Two surfaces:
t2 fund) — prints the wallet address + an ANSI QR code + the value-promise in the terminal. Minimal; no amount or memo.t2000_receive) — returns a JSON payload with the address, an optional Payment Kit URI (sui:pay?…), a nonce, plus an optional amount / currency / memo / label. Use this when the LLM is building a payment-request flow.t2 fund is a pure read with no authentication step.t2 fund # address + ANSI QR + share line
t2 fund --qr-only # just the QR (e.g. for embedding in a screenshot)
t2 fund --key <path> # custom wallet path
t2 fund --json # { address, qrEncodedFor, valuePromise }
CLI output (default):
Address 0x55b223b0...0dd1b6
Scan to send tokens to this wallet:
█▀▀▀▀▀█ ▄ ▀▄ █ ▄▀ ▄ █▀▀▀▀▀█
█ ███ █ █ ▀ █ ▄▄ ▀▀ █ ███ █
█ ▀▀▀ █ ▀▄▀▄█▀ ▀▄ ▀▄ █ ▀▀▀ █
▀▀▀▀▀▀▀ ▀ █▀▀ █ ▀ ▀ ▀▀▀▀▀▀▀▀▀
... (truncated)
Or share `0x55b223b0...0dd1b6` directly.
The CLI prints to ANSI — it will look right in any terminal but won't render as image data in MCP responses. Use the MCP tool for a structured JSON response.
t2000_receive)// Request
{
"amount": 10, // optional — pre-fills the sender's tx amount
"currency": "USDC", // optional — default USDC, also accepts USDsui / SUI
"memo": "Coffee on me", // optional — encoded into the Payment Kit URI
"label": "Coffee fund" // optional — human-readable label for the URI
}
// Response
{
"address": "0x55b223b0...0dd1b6",
"uri": "sui:pay?recipient=0x55b223b0...&amount=10000000&coinType=0xdba34672...::usdc::USDC&nonce=abc-123&label=Coffee+fund&message=Coffee+on+me",
"nonce": "abc-123-uuid",
"amount": 10,
"currency": "USDC",
"memo": "Coffee on me",
"label": "Coffee fund"
}
The Payment Kit URI follows the Sui Payment Kit spec — every Sui wallet (Mysten, Phantom, Suiet, Slush, Sui Wallet Standard) can scan/parse it. If you omit amount, the URI is a "bring your own amount" link that the sender fills in.
| Args | URI shape |
|---|---|
| no amount, no memo, default currency | sui:0x<address> |
| no amount, custom currency or memo | sui:0x<address>?currency=USDsui&memo=… |
| with amount | sui:pay?recipient=0x<address>&amount=<raw>&coinType=<full-type>&nonce=<uuid>[&label=…][&message=…] |
The amount-bearing form uses raw on-chain units (USDC: × 10^6, SUI: × 10^9) so wallets don't have to do their own conversion. The nonce is a UUID v4 minted at request time; senders include it in the tx metadata so the receiving agent can correlate the inflow back to the request.
| Need | Use |
|---|---|
| "What's my wallet address?" | t2 fund (CLI) or t2000_address (MCP — address only, no QR) |
| "Show me the QR" | t2 fund (CLI prints ANSI QR) |
| "Generate a payment link for $10" | t2000_receive { amount: 10, currency: "USDC" } (MCP) |
| "Generate a 'tip jar' link" (no amount) | t2000_receive { memo: "Tip jar", label: "Tip funkii" } (MCP) |
0x2::balance::send_funds allowlist).t2 balance (CLI) or t2000_balance (MCP) to verify. Inflows show up within ~1 block (~500 ms).t2000-send skill.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub mission69b/t2000-skills --plugin t2000-agent-wallet