t2000.ai
// AGENT ENGINE · @t2000/engine

The engine that powers
Audric.

Plug in any LLM. Get 26 tools, 12 safety guards, and a finance runtime ready to ship.

$npm install @t2000/engine
26 tools·12 guards·Any provider
AISDKEngine· session #4f2aLIVE TRACE
// PRIMITIVES

26 tools.
12 safety guards.

Everything your agent needs. Already wired.

01The toolset
26 TOOLS
balanceWALLET
sendWALLET
swapWALLET
payPAYMENTS
services_searchPAYMENTS
endpoint_quotePAYMENTS
pending_rewardsNAVI
harvest_rewardsNAVI
save_to_naviNAVI
borrowNAVI
supply_apyNAVI
cetus_routeCETUS
cetus_quoteCETUS
lp_positionCETUS
intent_createPTB
intent_previewPTB
intent_executePTB
tx_decodePTB
object_ownersSUI
domain_resolveSUI
price_historyDATA
portfolio_driftDATA
yield_compareDATA
address_labelDATA
watchSTREAM
explainSTREAM
SAMPLE DEFINITION
import { tool } from 'ai';

const sendTool = tool({
  description: 'Send USDC',
  parameters: z.object({ to, amount, asset }),
  execute: ({ to, amount, asset }) =>
    t.send({ to, amount, asset }),
});
02The safety layer
12 GUARDS
spending_limits
BLOCK
recipient_whitelist
WARN
slippage_max
BLOCK
rate_limit
BLOCK
intent_expiry
BLOCK
balance_check
BLOCK
domain_verify
WARN
approval_required
TAP
destructive_confirm
TAP
prompt_injection
BLOCK
tool_allow_list
BLOCK
audit_log
LOG
EXAMPLE TRIP
GUARD spending_limits
attempted $310 · daily cap $200 · blocked
agent prompted to escalate to user.

// Names are illustrative — see the docs for the full list.

// RUNTIME

Any provider.
Same engine.

Built on the Vercel AI SDK. Switch models in one line.

Anthropicclaude-sonnet-4
@ai-sdk/anthropic
OpenAIgpt-4o
@ai-sdk/openai
xAIgrok-4
@ai-sdk/xai
Groqllama-3.3-70b
@ai-sdk/groq
Stays identical →26 tools·12 guards·audit log·session state·1-tap approvals
// PART OF THE STACK

One agent stack.

// GET STARTED

One config.
Run the engine.

Plug a model. Plug a wallet. Ship.

engine.ts
import { AISDKEngine, T2000 } from '@t2000/engine';
import { anthropic } from '@ai-sdk/anthropic';

const engine = new AISDKEngine({
  wallet: new T2000(),
  model: anthropic('claude-sonnet-4'),
});

await engine.run('Compound my NAVI rewards.');