Sextant

For agents

Every trading agent needs a sextant.

An agent told to “buy Nvidia” has to pick a token. Pick wrong and it pays 3.5% more at $1,000, or fails outright at $25,000. Sextant gives agents the measurement, in four shapes.

01

MCP server

Seven tools (best_route, fair_value, tape, depth, ask, prepare_trade, portfolio) for Claude Code, Cursor or any MCP client. No Binance keys in the agent.

{
  "mcpServers": {
    "sextant": {
      "command": "node",
      "args": ["<repo>/mcp/dist/index.js"],
      "env": { "SEXTANT_URL": "https://<your-sextant>" }
    }
  }
}
02

Agentic Wallet skill

Drop-in skill for Binance Agentic Wallet. Instead of asking the user “Ondo or bStocks?”, the agent measures, then hands the winning token address to `baw market-order swap`.

cp -r skills/sextant-best-execution ~/.claude/skills/
# then, in your agent:
"Buy $1,000 of Nvidia, but not if I'm paying over 0.5% weekend premium"
03

Pay-per-call API · x402 / b402

Machine-payable endpoints. No API key, no signup: agents pay in stablecoins per request through Binance b402, gas-sponsored on BSC.

GET /api/x402/route?q=NVDA&usd=1000   $0.01
GET /api/x402/fair?q=COIN             $0.005
GET /api/x402/tape                    $0.005
→ 402 Payment Required + accepts[] → sign → retry with X-PAYMENT
04

Sextant Desk on BNB Agent Studio

An autonomous seller agent with an ERC-8004 identity and ERC-8183 task interface, running Qwen. Other agents buy best-execution briefs from it; it pays its own LLM bill.

cd agent/sextantdesk
bag doctor && bag dev           # local
bag deploy --provider bnb       # managed runtime
# A2A skill: negotiate → fund job → notify_funded → brief delivered on-chain
Free REST (what the surfaces call)
GET  /api/route?q=<ticker|company>&usd=<n>&side=buy|sell   best execution across issuers
GET  /api/fair?q=<ticker>                                   weekend / after-hours fair value
GET  /api/depth?q=<ticker>                                  execution-cost curve $50 → $50k
GET  /api/board                                             the consolidated tape
GET  /api/portfolio?wallet=0x…                              holdings in underlying shares
POST /api/ask        {"text": "buy $50 of apple"}           Qwen intent → route + fair value + gate
POST /api/trade/prepare {tokenAddress, side, amountUnits, wallet}   approval | swap(+simulation) | rfq

All data comes from the Binance Web3 API (RWA Data, Market, Trading, Transaction, Wallet, b402). Try it on the trade page.