t2000-swap — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited t2000-swap (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Convert between tokens at the best available rate. Cetus Aggregator routes across 20+ DEXs and picks the lowest-price-impact path. Slippage defaults to 1%; configurable up to 5%.
Swaps are NOT gasless. Unlike t2 send USDC / t2 send USDsui, Cetus swap transactions require SUI for gas (typically < $0.01 per swap). Ensure the wallet holds a small SUI balance before swapping.
t2 swap <amount> <from> <to> --quote (or call t2000_swap in dry-run via the MCP) and surface priceImpact + toAmount to the user before broadcasting.priceImpact > 0.5% (50 bps), warn the user and require explicit confirmation. If priceImpact > 5%, refuse — that's almost certainly a thin-liquidity trap.swap calls.LIMIT_EXCEEDED. Use --force (CLI) to override one time.t2 swap <amount> <from> <to> [--slippage <pct>] [--quote] [--force]
# Examples:
t2 swap 100 USDC SUI # 100 USDC → SUI, default 1% slippage
t2 swap 5 SUI USDC --slippage 2 # 5 SUI → USDC, 2% slippage
t2 swap 50 USDC USDsui # stable-to-stable; usually <0.05% impact
t2 swap 100 USDC SUI --quote # preview only (no signing)Slippage is capped at 5% (any higher is rejected — that's degenerate liquidity).
--quote)t2 swap 100 USDC SUI --quoteReturns (no signing, no execution):
toAmount — estimated output (at current pool state)priceImpact — basis points moved by the traderoute — provider name(s) Cetus selected (e.g. BLUEFIN + CETUS + AFTERMATH)fee — total Cetus protocol fee baked into the quote--quote replaces the v3 t2000 swap-quote standalone command. One verb, one flag.
toAmount).✓ Swapped 100 USDC for 49.8721 SUI
Price impact: 0.04%
Route: USDC → SUI (Cetus + BLUEFIN)
Gas: 0.0038 SUI
Tx: https://suiscan.xyz/mainnet/tx/0xdigest...{
"tx": "0xdigest...",
"from": "USDC",
"to": "SUI",
"amountIn": 100,
"amountOut": 49.8721,
"priceImpact": 0.04,
"route": ["CETUS", "BLUEFIN"],
"fee": 0.001,
"gasCost": 0.0038
}| Error code | Meaning |
|---|---|
SWAP_NO_ROUTE | No path from from to to in Cetus's pool graph. Suggest going via USDC as an intermediate. |
INSUFFICIENT_LIQUIDITY | The requested size moves the pool too far. Suggest a smaller trade or splitting. |
INSUFFICIENT_BALANCE | Wallet doesn't hold enough of the source token (after gas reserve). |
INSUFFICIENT_GAS | Wallet has the source token but no SUI for gas. Run t2 swap 1 USDC SUI (or similar) first to top up gas. |
SLIPPAGE_EXCEEDED | By the time the tx confirmed, the pool moved past the slippage limit. Retry with the same params; usually transient. |
LIMIT_EXCEEDED | CLI hit a t2 limit set cap on the from-side USD value. Use --force to override. |
USDC, USDsui, USDT, USDe, SUI, vSUI, ETH, GOLD (XAUM), NAVX, WAL, and the long tail Cetus routes through. Use the canonical symbol or pass a full coin type (0x...::module::TYPE). The @t2000/sdk token registry resolves common symbols automatically; for a coin type not in the registry the decimals are read on-chain (coin metadata) so the input amount is exact — never a guess.
t2000_swap tool){
"from": "USDC",
"to": "SUI",
"amount": 100,
"slippage": 0.01
}t2 limit set caps (enforced in @t2000/sdk, on the from-side USD value). Default caps: $25/tx · $100/day cumulative.--json mode (digest + amounts + price impact + route).~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.