Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SUI_DECOMPILER_PATHNoPath to the move-decompiler binary for decompiling Move bytecode (optional, only needed for decompile_module tool)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_chain_infoA

Get current Sui network info: chain ID, epoch, checkpoint height, timestamp, and reference gas price. Optionally pass an epoch number to get details for a specific epoch.

get_objectA

Get a Sui object by its ID. Returns type, owner, version, content (JSON), and digest. Automatically extracts display metadata (name, description, image_url) for NFTs.

list_owned_objectsA

List raw objects owned by a Sui address with optional type filter and pagination. For NFTs specifically, prefer list_nfts (resolves kiosk storage, extracts display metadata). For a wallet summary, prefer get_wallet_overview.

get_balanceA

Get the liquid balance of one coin type for a Sui address (defaults to SUI), optionally at a historical checkpoint. This counts spendable coins ONLY: staked SUI and value locked in DeFi positions do not appear here, so a wallet that looks nearly empty may not be — pair it with get_staking_summary and get_defi_positions before concluding anything about what an address holds. For every coin at once, use get_wallet_overview.

get_transactionA

Get a Sui transaction by its digest. Returns sender, status, gas, balance changes, protocol-aware decoded actions (e.g. 'swap on Cetus', 'deposit on Suilend'), and events WITH their decoded fields — so there is no need to hand-write GraphQL to read an event's values. Protocols are identified from the events as well as the Move calls, which matters when a transaction calls an obfuscated wrapper: protocols_from_events_only marks that case.

get_transactionsA

Read up to 50 Sui transactions in ONE call, given their digests. Returns sender, status, timing, balance changes, Move call targets and events WITH their decoded fields for each, plus the protocols involved. Use this whenever you hold several digests at once — the outputs of a fan-out, the evidence on a cluster edge, a set of hops to compare — instead of calling get_transaction repeatedly; ten digests go from ten round trips to one. Digests that could not be read come back in not_found rather than being dropped. For ONE transaction, or for a transaction with more than 50 events, prefer get_transaction: it pages events to the end.

query_transactionsA

Query raw Sui transactions with specific filters (sender, affected address/object, function, checkpoint range). Note: only ONE of affected_address, affected_object, or function can be used per query (Sui GraphQL limitation). For human-readable wallet activity, prefer get_transaction_history instead.

ATTRIBUTION WARNING: the function filter matches any transaction containing that call, including PTBs where it is one leg among several protocols. A transaction's balance changes cover the WHOLE PTB, so summing them per protocol over-attributes — a big Cetus swap in the same PTB will be counted as your protocol's volume. Set include_functions to see every Move call in each transaction, and prefer the protocol's own events (query_events) when measuring per-protocol flow.

resolve_nameA

Resolve a SuiNS name (.sui domain) to an address, or reverse-lookup an address to its SuiNS name. At least one of 'name' or 'address' must be provided.

IDENTITY WARNING: a SuiNS name is a self-chosen handle that anyone can buy. It is not identity and it is not verified. Names matching an exchange, a project or a person can be — and are — registered by unrelated parties, including by someone who wants an investigator to draw a particular conclusion. Treat a name as a label the holder picked, never as evidence of who they are, and do not carry it to other platforms as a matching key without independent corroboration.

get_wallet_overviewA

(Recommended first tool for wallets) Get a comprehensive overview of a Sui wallet: all token balances, SuiNS name, staked SUI count, kiosk/NFT count, and recent transactions. Set include_prices=true for USD values and total portfolio value. Start here before drilling into specific tools.

get_token_pricesA

Get USD prices for Sui tokens — current by default, or historical when at is set. Current prices use Aftermath (primary) + Pyth (fallback); historical prices use the Pyth oracle at the given time. Accepts full coin type strings (e.g. 0x2::sui::SUI).

get_defi_positionsA

Find DeFi positions owned by a Sui wallet across major protocols: Suilend, Cetus LP, NAVI, Scallop, Bluefin, Bucket, and staked SUI. Returns extracted position summaries (deposits, borrows, liquidity, fees) instead of raw on-chain data.

list_nftsA

(Recommended for NFTs) List NFTs owned by a wallet, including kiosk-stored NFTs. Returns display metadata (name, description, image URL) and raw Move struct contents inline. Backed by GraphQL — single query per kiosk page, no fullnode rate-limit risk. Pagination: pass cursor from a prior response to fetch the next page; the response omits next_cursor when the wallet is fully enumerated. May slightly overshoot limit because GraphQL pages are 50-at-a-time and we don't break mid-page. Use list_nft_collections for a cheaper count-only summary.

list_nft_collectionsA

Get a lightweight summary of NFT collections owned by a wallet. Walks all kiosks plus direct-owned objects and returns deduplicated collection types with counts. Backed by GraphQL.

get_staking_summaryA

Get a wallet's staking positions: every StakedSui object with its validator pool, principal, and activation epoch. Worth calling during an investigation or a net-worth check, because staked SUI does NOT appear in get_balance — a wallet that looks nearly empty can hold a large staked position, and the stake also ties it to a specific validator.

get_transaction_historyA

(Recommended for wallet activity) Get decoded transaction history for a Sui wallet. Returns a human-readable activity feed with protocol names (e.g. Cetus, Suilend), action descriptions (e.g. 'Swap USDC → SUI'), and token flow. Prefer this over query_transactions when exploring what a wallet has been doing.

find_poolsA

Find DeFi liquidity pools by token pair. Searches Cetus, DeepBook, and Turbos for pools matching the given tokens. Use get_pool_stats on a returned pool_id for detailed stats.

identify_addressA

(Recommended first step) Identify what a Sui address is: wallet, package, validator, or object. Returns a type classification with contextual summary (e.g. balance + SuiNS for wallets, module list for packages, stake info for validators). Use this before deciding which other tools to call.

analyze_tokenA

(Recommended for token research) Get a comprehensive analysis of a Sui token in one call: metadata, current price, 24h change, total supply, and top 5 holders. Accepts either a coin type (e.g. '0x2::sui::SUI') or a name/symbol (e.g. 'DEEP', 'cetus').

enable_toolsA

Turn on additional Sui tool profiles for this session. This server ships a small default tool surface and keeps the rest one call away. Call this FIRST whenever the capability you need is not in your current tool list — the tool probably exists and is simply disabled. Do not reimplement a listed tool by hand.

'core' — Everyday lookups — wallets, balances, transactions, tokens, NFTs, DeFi positions. Tools: identify_address, get_wallet_overview, get_transaction, get_transactions, get_transaction_history, query_transactions, get_object, list_owned_objects, get_balance, analyze_token, get_token_prices, list_nfts, list_nft_collections, get_defi_positions, get_staking_summary, find_pools, resolve_name, get_chain_info 'forensics' — Incident investigation — fund tracing, batch funding attribution, address fan-out, live wallet-edge clustering, package analysis, multi-address timelines, object provenance, address labels, cross-chain bridge resolution, oracle-vs-market deviation, and recording findings into an exportable case report. Tools: resolve_protocol_packages, sample_control_addresses, trace_funds, resolve_bridge_transfer, find_funding_source, find_funding_sources, get_address_fanout, build_wallet_edges, analyze_multisig, find_shared_multisig, check_coin_restrictions, analyze_package, get_package, get_move_function, disassemble_module, build_timeline, trace_object_history, manage_labels, query_events, check_activity, get_top_holders, compare_oracle_price, aggregate_events, save_finding, list_findings, export_case, delete_finding 'developer' — Move package analysis — modules, disassembly, decompilation, upgrade diffing, dependency graphs, PTB decoding, unsigned transaction building, Move Registry. Tools: get_package, get_move_function, get_package_dependency_graph, analyze_package, disassemble_module, decompile_module, diff_package_upgrade, decode_ptb, simulate_transaction, build_transfer, build_staking, get_checkpoint, list_dynamic_fields, mvr_resolve, mvr_reverse_resolve, mvr_get_package_info, mvr_search, mvr_resolve_struct 'market' — Market data — DeepBook order book and fills, pool stats, token search, validators. Tools: deepbook_orderbook, deepbook_trades, get_pool_stats, search_token, get_coin_info, get_validators

Use 'all' for everything. Newly enabled tools are callable immediately.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
chain-infoCurrent Sui chain info (chain ID, epoch, checkpoint)

TDQS

A3.9/5.0

Scored across 19 tools

Disambiguation3/5

The tool surface has overlapping tools for similar purposes: get_transaction vs get_transactions vs query_transactions vs get_transaction_history; get_object vs list_owned_objects vs list_nfts; find_pools vs get_pool_stats vs search_token. However, descriptions provide enough hints (e.g., raw vs decoded, count-only) to reduce confusion, though an agent may still pick the wrong one.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (get_, list_, resolve_, find_, analyze_, build_, etc.) with clear object names. A few deviations like 'mvr_resolve' and 'disassemble_module' (no 'get') and the profile names 'enable_tools' are acceptable, but overall the pattern is predictable.

Tool Count2/5

With 19 tools listed, the surface is already sizeable, but the server expects dynamic loading of additional tools (e.g., 'all' profile) which could push the true count to over 100. This feels overwhelming and excessive for a single server. The default 19 is borderline, but the full capability scope is too broad.

Completeness5/5

The tool set covers a comprehensive range of Sui operations: address identification, wallet overview, balances, transactions (raw and decoded), NFTs, DeFi, staking, token analysis, price data, pool discovery, name resolution, chain info, and historical queries. The coverage is thorough, and the descriptions include cross-tool guidance (e.g., get_balance vs staking) that prevents dead ends. The forensics and developer profiles add more depth, making the surface effectively complete for the domain.

Maintenance

ActivityActive
ResponsivenessResponsive