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

Build agentic
finance.

Wallet, Payments, Engine. One npm install. One class.

$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

Stablecoins.
In code.

Four primitives. One class. 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 MPP endpoint. No API key.

const r = await t.pay({
  url: 'mpp.t2000.ai/openai/
        v1/chat/completions',
  body,
});
✓ Paid $0.01 · 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
04Save on NAVI
NAVI

Earn yield on idle USDC.

await t.save({
  protocol: 'navi',
  asset: 'USDC',
  amount: 100,
});
✓ Deposited · earning ~5.2% APY
// PAYMENT INTENTS

Many steps.
One transaction.

Claim, swap, save, send. Bundled. Atomic. All in, all out.

compound.ts1 INTENT · 1 SIGNATURE
const intent = await t.intent({
  steps: [
    { type: 'claim',  protocol: 'navi' },
    { type: 'swap',   from: '*', to: 'USDC' },
    { type: 'save',   protocol: 'navi', asset: 'USDC' },
    { type: 'send',   to: 'sam.sui', amount: 20, asset: 'USDC' },
  ],
});

// preview the bundled tx before signing
console.log(intent.preview);

const tx = await intent.execute();
// tx.fee = ~$0.05 · ~500ms
01
Claim rewardsNAVI

All pending rewards, harvested.

02
Swap to USDCCETUS

Best price across pools.

03
SaveNAVI

Merged USDC back into savings.

04
SendWALLET

$20 to sam.sui. Gasless.

1 tap · 1 fee · ~500ms✓ atomic
// PART OF THE STACK

One agent stack.

// GET STARTED

Three calls.
Whole stack.

Send. Pay. Swap. Three primitives. Compose anything.

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 });