t2000.ai
// AGENT SDK · @t2000/sdk

Build agents
that move money.

A TypeScript SDK with a non-custodial Sui wallet built in. Your agent sends USDC, pays APIs per call, and swaps — gasless, each one a single method call.

$npm install @t2000/sdk
TypeScript 5.0+·ESM + CJS·Tree-shakable
import { T2000 } from '@t2000/sdk';

const t = new T2000();

// gasless USDC + USDsui sends
await t.send({
  to: 'alice.sui',
  amount: 10,
  asset: 'USDC',
});

// route through Cetus
await t.swap({
  from: 'SUI', to: 'USDC', amount: 50 });
// EXAMPLES

Everything is
one method call.

Send USDC, pay an API, swap, read the balance. Every line below runs.

01Send USDC
WALLET

Gasless transfer to a SuiNS name.

await t.send({
  to: 'alice.sui',
  amount: 10,
  asset: 'USDC',
});
✓ Sent · gasless · 0.41s
02Pay any API
PAYMENTS

Hit any x402 endpoint. No API key.

const r = await t.pay({
  url: 'mpp.t2000.ai/openai/
        v1/chat/completions',
  body,
});
✓ Paid $0.02 · gasless · 200 OK
03Swap on Cetus
CETUS

Best-price routing across pools.

await t.swap({
  from: 'SUI',
  to: 'USDC',
  amount: 50,
});
✓ Routed via Cetus · 200ms
04Check the balance
WALLET

Every holding — stables first, USD-denominated.

const b = await t.balance();
b.stables.USDC;  // 547.2
✓ USDC 547.20 · USDsui 50.00
// COMPOSE

Chain the calls
into an agent loop.

Swap to top up, pay for intelligence, send the payout — plain sequential code, no framework.

agent-loop.tsSWAP → PAY → SEND
// 1 · top up USDC from SUI
await t.swap({ from: 'SUI', to: 'USDC', amount: 5 });

// 2 · pay any API, gasless
const r = await t.pay({
  url: 'mpp.t2000.ai/openai/…',
  body,
  maxPrice: 0.10,
});

// 3 · forward the payout
await t.send({ to: 'sam.sui', amount: 20, asset: 'USDC' });
01
Swap to USDCCETUS

Top up stablecoins from SUI.

02
Pay an APIPAYMENTS

Per-call USDC over x402. No key.

03
SendWALLET

$20 to sam.sui. Gasless.

3 calls · gasless where it counts✓ composed
// GET STARTED

Install it.
Move money.

One npm install — your agent sends, pays, and swaps in the next ten lines.

quickstart.ts
import { T2000 } from '@t2000/sdk';

const t = new T2000();

await t.send({ to: 'alice.sui', amount: 10, asset: 'USDC' });
await t.pay({ url: 'mpp.t2000.ai/openai/v1/chat', body });
await t.swap({ from: 'SUI', to: 'USDC', amount: 50 });