The Spice Melange Trading Desk: DeepBook market data connector
A Mentat's eye on Sui DeepBook v3: read-only market data plus desk template tools. No keys.
Should I use this
Quality & Safety
Findings (4)
- HIGH
- MEDIUMin list_templates
- MEDIUMin get_desk_rhythm
- LOWin build_create_balance_manager_tx
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"plumbline-mcp": {
"url": "https://plumbline-mcp.fly.dev/mcp"
}
}
}Remote endpoints
https://plumbline-mcp.fly.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (31)
🟢list_pools(asset, include_ids, payment_token, payment_tx)
List Sui DeepBook v3 spot pools with base/quote assets and trading params (tick, lot, min size in human units). Optional filter by asset symbol. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "Only pools containing this asset symbol, e.g. SUI or USDC"
},
"include_ids": {
"type": "boolean",
"default": false,
"description": "Include pool object IDs and coin types (longer output)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_mid_price(pool, payment_token, payment_tx)
Best bid, best ask, mid price and spread (abs and bps) for a DeepBook pool, plus last trade price. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_order_book(pool, levels, within_pct, payment_token, payment_tx)
Order book for a DeepBook pool: top N price levels per side and cumulative liquidity (base qty and quote notional) within ±X% of mid. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"levels": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 10,
"description": "Price levels to return per side (1-100, default 10)"
},
"within_pct": {
"type": "array",
"items": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 50
},
"minItems": 1,
"maxItems": 6,
"default": [
0.5,
1,
2
],
"description": "Depth bands as % distance from mid, e.g. [0.5, 1, 2]"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_volume(pool, window_hours, top, payment_token, payment_tx)
24h volume, high/low, last price and % change for one DeepBook pool, or the top pools by 24h quote volume if no pool is given. Set window_hours for a custom trailing window (single pool). Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"window_hours": {
"type": "integer",
"minimum": 1,
"maximum": 720,
"default": 24,
"description": "Trailing window in hours (default 24). Non-24 values need a pool."
},
"top": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "When no pool is given: how many pools to return (default 10)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_pool_params(pool, payment_token, payment_tx)
Taker/maker fees, DEEP stake required, tick/lot/min size, whitelist/stable flags and vault balances for a DeepBook pool. Reads the live on-chain Pool object via Sui GraphQL; falls back to indexer pool-creation values if GraphQL is unavailable. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_recent_trades(pool, limit, start_time, end_time, include_tx, ...)
Most recent fills in a DeepBook pool (newest first): time, taker side, price, base and quote size. Optional time range. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 20,
"description": "Number of trades (1-200, default 20)"
},
"start_time": {
"type": "integer",
"minimum": 1600000000,
"maximum": 4102444800,
"description": "Unix timestamp in SECONDS"
},
"end_time": {
"$ref": "#/properties/start_time",
"description": "Unix timestamp in SECONDS"
},
"include_tx": {
"type": "boolean",
"default": false,
"description": "Include transaction digests (longer output)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_ohlcv(pool, interval, limit, start_time, end_time, ...)
OHLCV candles for a DeepBook pool (oldest first). Intervals: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w. Volume is in the base asset. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"interval": {
"type": "string",
"enum": [
"1m",
"5m",
"15m",
"30m",
"1h",
"4h",
"1d",
"1w"
],
"default": "1h"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"default": 24,
"description": "Number of candles (1-500, default 24)"
},
"start_time": {
"type": "integer",
"minimum": 1600000000,
"maximum": 4102444800,
"description": "Unix timestamp in SECONDS"
},
"end_time": {
"$ref": "#/properties/start_time",
"description": "Unix timestamp in SECONDS"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_indexer_status
Health and freshness of the public DeepBook indexer (status, latest checkpoint, server time). Use when data looks stale. Education/information only; not financial advice. Read-only public data, may be delayed or wrong.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_bm_fills(pool, balance_manager_id, role, limit, hours, ...)
Fills (OrderFilled) where a given DeepBook BalanceManager was the maker or the taker in one pool, newest first: time, its side, price, qty, fee, tx. Public data; no keys. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"balance_manager_id": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "DeepBook BalanceManager object id (0x + 64 hex)"
},
"role": {
"type": "string",
"enum": [
"maker",
"taker"
],
"default": "maker"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"hours": {
"type": "integer",
"minimum": 1,
"maximum": 720,
"default": 168,
"description": "Look-back window in hours (default 168 = 7 days)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool",
"balance_manager_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_swing_range(pool, payment_token, payment_tx)
1h/4h/24h high-low range and realized volatility from hourly candles, a regime (CALM < 2%, ELEVATED 2-4%, HIGH_VOL > 4% 4h range) and a suggested ladder rung count (3/4/5). Information only, not a trading instruction. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_pool_stats(pool, hours, payment_token, payment_tx)
Scorecard-style stats for one pool over the last N hours: trade count, taker buy/sell split, base/quote volume, VWAP, average trade size, price range, current spread. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"hours": {
"type": "integer",
"minimum": 1,
"maximum": 72,
"default": 24
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_fees(pool, qty, price, role, payment_token, ...)
Estimated DeepBook fee for a fill of qty at price as maker or taker, paid in the input token (rate x 1.25) versus in DEEP (base rate), using the live on-chain fee rates and the DEEP_USDC mid. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"qty": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Base quantity"
},
"price": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Price; defaults to the current mid"
},
"role": {
"type": "string",
"enum": [
"maker",
"taker"
],
"default": "taker"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool",
"qty"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_templates
List The Spice Melange Golden Path Grok Bot templates with prices in Sui USDC, versions and the no-checkout agent buying flow (from https://thespicemelange.org/store/catalog.json). Educational templates, not financial advice; no returns promised. All sales final, except where the law requires otherwise. You pay from your own wallet; this connector never holds keys or funds.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_template_order(sku, email)
Create a store order for one template. Returns the order id, a PRIVATE order token (shown once; keep it secret), the payee and the EXACT Sui USDC amount to send from your own wallet before the expiry. Nothing is charged by this call. Limited to a few orders per client per hour. Educational templates, not financial advice; no returns promised. All sales final, except where the law requires otherwise. You pay from your own wallet; this connector never holds keys or funds.
Input Schema
{
"type": "object",
"properties": {
"sku": {
"type": "string",
"pattern": "^[a-z0-9-]{2,40}$",
"description": "Template sku from list_templates, e.g. dune-saga-collection or fish-speakers"
},
"email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Optional receipt email"
}
},
"required": [
"sku"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡check_template_order(order_id, token, digest)
With a digest: verify your on-chain payment for an order and get the signed download link (plus add-ons). Without: return the order's status (and a fresh link once paid). The token is sent only to the store, in a header, and is never stored. Educational templates, not financial advice; no returns promised. All sales final, except where the law requires otherwise. You pay from your own wallet; this connector never holds keys or funds.
Input Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"pattern": "^SM-[0-9A-HJKMNP-TV-Z]{10}$",
"description": "Order id from create_template_order (SM-...)"
},
"token": {
"type": "string",
"pattern": "^smt_[A-Za-z0-9_-]{43}$",
"description": "Private order token from create_template_order (smt_...). Sent only to the store, in a header."
},
"digest": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Sui transaction digest of your exact USDC payment"
}
},
"required": [
"order_id",
"token"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_desk_rhythm
The desk's weekly rhythm from https://thespicemelange.org/rhythm.json: focus pools, ladder windows, rung guidance, rebalance ranges, projects and lessons. The ed25519 signature is verified against the pinned release key, and the call fails closed if it doesn't match. Guidance only: no orders, no sizes in money, no promised returns. Not financial advice.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢wallet_setup_guide
Exact steps and @mysten/sui code for an agent to create its OWN Sui Ed25519 keypair locally, fund it with SUI (gas) and USDC, and sign/submit transactions itself. Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_swap_quote(from, to, amount, sender)
Quote a spot swap between SUI/USDC/WAL/DEEP/CETUS and compare DeepBook v3 pools directly (direct or 2-hop) with the Cetus aggregator. Returns the best route, expected output, price impact and fees. Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"minLength": 2,
"maxLength": 10,
"description": "Coin symbol: SUI, USDC, WAL, DEEP, CETUS"
},
"to": {
"$ref": "#/properties/from"
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Amount of the from coin in human units, e.g. 2.5"
},
"sender": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
}
},
"required": [
"from",
"to",
"amount",
"sender"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_swap_tx(from, to, amount, sender, venue, ...)
Build base64 UNSIGNED Sui transaction bytes for a swap on the chosen venue, with the sender set to your address and an on-chain minimum-out from slippage_bps. The bytes are simulated against mainnet before return. You sign locally and submit yourself; nothing is executed by the desk. Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"from": {
"type": "string",
"minLength": 2,
"maxLength": 10,
"description": "Coin symbol: SUI, USDC, WAL, DEEP, CETUS"
},
"to": {
"$ref": "#/properties/from"
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Amount of the from coin in human units, e.g. 2.5"
},
"sender": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
},
"venue": {
"type": "string",
"enum": [
"deepbook",
"cetus"
],
"description": "Venue from get_swap_quote (best.venue)"
},
"route": {
"type": "string",
"maxLength": 80,
"description": "DeepBook only: route string from get_swap_quote, e.g. 'SUI_USDC -> WAL_USDC'"
},
"slippage_bps": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"default": 50,
"description": "Max slippage in basis points (50 = 0.5%); tx reverts below min_out"
},
"simulate": {
"type": "boolean",
"default": true,
"description": "Simulate the unsigned bytes against mainnet (no signature, nothing executed)"
}
},
"required": [
"from",
"to",
"amount",
"sender",
"venue"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_holder(address)
Check on chain (Sui mainnet) whether an address holds the The Secret Journals license token. Holders unlock extra read-only education tools (golden_path_market_read). Non-holders keep every basic tool. Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
}
},
"required": [
"address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢golden_path_market_read(address)
For The Secret Journals holders (checked on chain from 'address'): a compact market read across SUI, WAL and DEEP on DeepBook (mid, spread, 24h volume, 1h/4h/24h range and regime) plus the Golden Path pre-trade checklist. Education only, not a signal to buy or sell, no return claims. Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"address": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
}
},
"required": [
"address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_create_balance_manager_tx(sender)
Create and share a DeepBook v3 BalanceManager owned by your address (needed for limit orders). Returns UNSIGNED tx bytes (simulated against mainnet). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"sender": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
}
},
"required": [
"sender"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_bm_deposit_tx(sender, balance_manager_id, coin, amount)
Deposit a coin from your wallet into your own BalanceManager. Returns UNSIGNED tx bytes (simulated against mainnet). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"sender": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
},
"balance_manager_id": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "YOUR DeepBook BalanceManager id (0x + 64 hex), from build_create_balance_manager_tx effects"
},
"coin": {
"type": "string",
"minLength": 2,
"maxLength": 10,
"description": "Coin symbol: SUI, USDC, WAL, DEEP, CETUS"
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Amount of the from coin in human units, e.g. 2.5"
}
},
"required": [
"sender",
"balance_manager_id",
"coin",
"amount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_bm_withdraw_tx(sender, balance_manager_id, coin, amount)
Withdraw a coin from your own BalanceManager back to your address (always to the owner). Returns UNSIGNED tx bytes (simulated against mainnet). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"sender": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
},
"balance_manager_id": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "YOUR DeepBook BalanceManager id (0x + 64 hex), from build_create_balance_manager_tx effects"
},
"coin": {
"type": "string",
"minLength": 2,
"maxLength": 10,
"description": "Coin symbol: SUI, USDC, WAL, DEEP, CETUS"
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Amount of the from coin in human units, e.g. 2.5"
}
},
"required": [
"sender",
"balance_manager_id",
"coin",
"amount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_limit_order_tx(sender, balance_manager_id, pool, side, price, ...)
Place a spot limit order on a DeepBook v3 pool from your BalanceManager (fees in the input coin, no DEEP needed). Validates tick/lot/min size. Optional deposit_first funds it in the same tx. No leverage. Returns UNSIGNED tx bytes (simulated against mainnet). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"sender": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
},
"balance_manager_id": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "YOUR DeepBook BalanceManager id (0x + 64 hex), from build_create_balance_manager_tx effects"
},
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 30,
"description": "DeepBook pool BASE_QUOTE, e.g. SUI_USDC"
},
"side": {
"type": "string",
"enum": [
"buy",
"sell"
]
},
"price": {
"type": "number",
"exclusiveMinimum": 0
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Base quantity"
},
"post_only": {
"type": "boolean",
"default": true,
"description": "Post-only (maker): rejects if it would cross"
},
"expire_hours": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2160
},
"deposit_first": {
"type": "boolean",
"default": false,
"description": "Also deposit the needed coin from your wallet in the same tx"
},
"client_order_id": {
"type": "string",
"pattern": "^\\d{1,19}$"
}
},
"required": [
"sender",
"balance_manager_id",
"pool",
"side",
"price",
"quantity"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_cancel_order_tx(sender, balance_manager_id, pool, order_id)
Cancel one order (order_id) or all your orders in a pool, and withdraw settled amounts into your BalanceManager. Returns UNSIGNED tx bytes (simulated against mainnet). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"sender": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
},
"balance_manager_id": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "YOUR DeepBook BalanceManager id (0x + 64 hex), from build_create_balance_manager_tx effects"
},
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 30,
"description": "DeepBook pool BASE_QUOTE, e.g. SUI_USDC"
},
"order_id": {
"type": "string",
"maxLength": 40
}
},
"required": [
"sender",
"balance_manager_id",
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_book_depth(pool, ticks)
Level-2 depth around mid read on chain from a DeepBook v3 pool (bids/asks [price, qty]). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 30,
"description": "DeepBook pool BASE_QUOTE, e.g. SUI_USDC"
},
"ticks": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_cetus_pool(pool_id, from, to)
Read-only Cetus CLMM pool state (coins, fee rate, tick spacing, liquidity, current tick, price) by pool_id, or discover the Cetus pools on the current from->to route. Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"pool_id": {
"type": "string"
},
"from": {
"type": "string",
"minLength": 2,
"maxLength": 10,
"description": "Coin symbol: SUI, USDC, WAL, DEEP, CETUS"
},
"to": {
"$ref": "#/properties/from",
"description": "Coin symbol: SUI, USDC, WAL, DEEP, CETUS"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢walrus_store_guide
How to store a PUBLIC trade receipt or strategy note on Walrus mainnet with your own key (receipt schema + @mysten/walrus code). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢build_walrus_register_tx(sender, content, epochs)
Encode your public text (receipt/note) and build the Walrus register-blob tx paid in WAL by you; returns the blob_id. Then upload+certify locally (see walrus_store_guide). Refuses content that looks like a secret. Returns UNSIGNED tx bytes (simulated against mainnet). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"sender": {
"type": "string",
"minLength": 3,
"maxLength": 70,
"description": "YOUR Sui address (0x...). Public address only; never send a key."
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 64000
},
"epochs": {
"type": "integer",
"minimum": 1,
"maximum": 53,
"default": 3
}
},
"required": [
"sender",
"content"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢read_walrus_blob(blob_id, max_bytes)
Read a public Walrus mainnet blob by id via the public aggregator (text, or base64 preview if binary; max 64 KB). Non-custodial: the desk never sees or holds keys and never moves funds; it returns quotes and UNSIGNED transactions only. Spot only, no leverage. Education only, not financial advice.
Input Schema
{
"type": "object",
"properties": {
"blob_id": {
"type": "string",
"minLength": 20,
"maxLength": 100
},
"max_bytes": {
"type": "integer",
"minimum": 1,
"maximum": 64000,
"default": 8000
}
},
"required": [
"blob_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence