
200 m, the library
Docs
Everything Shello can tell you, how to ask it, and where each number comes from.

13 tools
one implementation for the site, the agent and MCPSolana network pulse get_network_pulse
Live Solana mainnet pulse: current slot, epoch progress, transactions per second, slot time, share of failed transactions in the latest sampled blocks, and a one-word mood (calm, busy, jammed). Every figure carries its read time.
No input.
curl https://shello.fun/api/tools/get_network_pulsePriority fees get_priority_fees
Solana priority fees now, in micro-lamports per compute unit. Two views: (1) what transactions in the latest sampled blocks actually PAID, by kind (all, transfer, swap, pump.fun, token creation), percentiles p25 to p95; (2) the lowest fee that landed in each of the last 150 slots (RPC getRecentPrioritizationFees), globally or for one program (Jupiter, Raydium, pump.fun, PumpSwap, Orca, Meteora).
programstring: optional program name or address, e.g. 'jupiter', 'pump.fun', 'raydium'
curl https://shello.fun/api/tools/get_priority_feesJito tips get_jito_tips
Jito's public tip floor: the tips (in SOL) that landed Jito bundles paid, by percentile (p25, p50, p75, p95, p99), plus the same in USD at the live SOL price.
No input.
curl https://shello.fun/api/tools/get_jito_tipsWhat one transaction costs now estimate_tx_cost
Estimate the full cost of ONE Solana transaction right now: base fee + priority fee + optional Jito tip, in SOL and USD. Kind: transfer, swap, mint_token, pumpfun_buy. Urgency: low (p25 of what that kind paid), normal (p50), fast (p75 + Jito p50 tip), urgent (p95 + Jito p75 tip). Built from what landed transactions of the same kind paid in the latest sampled blocks. States which share of those landed transactions this fee would have beaten.
kindtransfer | swap | mint_token | pumpfun_buy, default "swap"urgencylow | normal | fast | urgent, default "normal"
curl https://shello.fun/api/tools/estimate_tx_costBusiest programs busiest_programs
The Solana programs called by the most transactions in the latest sampled blocks (outer and inner instructions), with each one's share of transactions and its failure rate. Known programs are named.
limitinteger, default 10
curl https://shello.fun/api/tools/busiest_programsGPU prices by card get_gpu_prices
The GPU 'shell market': for each card (H100, H200, B200, A100, L40S, RTX 4090, RTX 5090 and more), the price per GPU-hour on Nosana, io.net and Akash (live), and cloud list prices (static table with source pages and dates), with availability where the provider publishes it. Optional filter by card.
cardstring: optional card filter, e.g. 'H100' or '4090'
curl https://shello.fun/api/tools/get_gpu_pricesNosana markets get_nosana_markets
Nosana's GPU network on Solana: each public market's GPU, renter price per hour (USD, including Nosana's network fee), running jobs and idle nodes waiting in its queue; total running and queued jobs; nodes per country as Nosana reports them; NOS/USD.
limitinteger, default 15
curl https://shello.fun/api/tools/get_nosana_marketsio.net supply get_ionet_supply
io.net's GPU supply by model as its public explorer API reports it: total devices, hired, idle, and the listed price per GPU-hour.
No input.
curl https://shello.fun/api/tools/get_ionet_supplyWhich shell fits? find_shell
Which GPU (shell) fits a model: computes the VRAM needed (weights at fp16/fp8/int4 + KV cache for the context + runtime overhead) and lists the cheapest live offers that hold it and have a GPU free right now, single GPU first and multi-GPU (up to 8 cards) when one is not enough. Give a model name from the known list or a parameter count in billions.
modelstring: optional model name, e.g. 'llama 3.3 70b', 'qwen2.5 72b', 'deepseek v3'paramsBnumber: parameters in billions, e.g. 70precisionfp16 | fp8 | int4, default "fp16"contextTokensinteger, default 8192
curl https://shello.fun/api/tools/find_shellWhat an agent costs agent_cost
Daily and monthly cost of an AI agent on Solana, split three ways: GPU (the cheapest live shell that fits its model, times hours on per day), priority fees and Jito tips (its transactions per day at the chosen urgency, at live fees and the live SOL price).
modelstringparamsBnumberprecisionfp16 | fp8 | int4, default "int4"contextTokensinteger, default 8192hoursPerDaynumber, default 24txPerDayinteger, default 100txKindtransfer | swap | mint_token | pumpfun_buy, default "swap"urgencylow | normal | fast | urgent, default "normal"
curl https://shello.fun/api/tools/agent_costGPU or API? gpu_vs_api
Compares renting the cheapest live GPU shell that fits an open model for 24 hours with paying model APIs per token (static price table with sources and dates) at your daily token volume; gives the break-even tokens per day. Says plainly that GPU throughput is not measured here.
modelstringparamsBnumberprecisionfp16 | fp8 | int4, default "fp8"tokensPerDaynumber, default 5000000outputSharenumber, default 0.25: share of tokens that are output
curl https://shello.fun/api/tools/gpu_vs_apiPlan a GPU rental on Nosana plan_rental
Plans renting a GPU on Nosana for a template (chat = an Ollama model endpoint, image = ComfyUI, notebook = Jupyter): which live Nosana market fits the model's VRAM (find_shell math), whether a GPU is free now, the NOS deposit and its USD estimate, the SOL account deposits, and warnings. It creates NO transaction. To rent, the user opens the /rent page and signs with their own wallet; an agent never signs. Shello charges no fee.
templatechat | image | notebook: chat = an Ollama model endpoint, image = ComfyUI, notebook = Jupytervariantstring: chat: qwen2.5:7b, llama3.1:8b, mistral:7b, gemma2:27b, llama3.3:70b, qwen2.5:72b; image: sd15, sdxl, flux; notebook: pytorchhoursnumber, default 1marketstring: a Nosana market address; omitted = the cheapest that fits and has a GPU free now
curl https://shello.fun/api/tools/plan_rentalMy rentals on Nosana rental_status
Lists the Nosana GPU rentals of the wallet that is signed in to Shello (or that made the API key): state (queued, running, done, stopped), GPU market, time left, service URLs and explorer links. Read-only; it never signs or changes a rental. Extending or stopping happens on /rent/mine with the user's own wallet.
No input.
curl https://shello.fun/api/tools/rental_statusEndpoints
GET /api/tools | every tool with its input schema |
GET /api/tools/<name>?param=value | run a tool (query parameters) |
POST /api/tools/<name> | run a tool (JSON body) |
POST /api/agent | { question, persona } to Ask Shello |
POST /api/mcp | MCP, Streamable HTTP, JSON responses |
GET /api/status | health of every source, the worker, and held-back prices |
GET /api/history?series=tps,jito_p50 | up to 48 hours of a recorded series |
GET /api/pulse | slot, TPS, mood and read time |
Limits
per hour unless noted| free | holder | |
|---|---|---|
| Ask Shello | 4 | 60 |
| MCP tool calls | 30 | 900 |
| JSON API reads (per minute) | 120 | 120 |
Holder = a signed-in wallet (or its key) holding at least $10 of $SHEL. $SHEL is not launched yet, so everyone is on the free tier. See $SHEL.
Where every number comes from
Live status| source | read every | from |
|---|---|---|
| Solana RPC: slots, TPS, epoch | 10 s | Solana RPC getRecentPerformanceSamples, getEpochInfo |
| Solana RPC: recent prioritization fees | 10 s | Solana RPC getRecentPrioritizationFees |
| Solana RPC: sampled latest blocks | 20 s | Solana RPC getBlock |
| Jito tip floor | 30 s | https://bundles.jito.wtf/api/v1/bundles/tip_floor |
| SOL/USD price | 1 min | https://lite-api.jup.ag/price/v3 |
| Vast.ai offers (off) | 5 min | https://console.vast.ai/api/v0/bundles/ |
| Nosana markets | 3 min | https://api.nosana.com |
| io.net explorer | 5 min | https://api.io.solutions/v1/io-explorer |
| Akash GPU prices | 5 min | https://console-api.akash.network/v1/gpu-prices |
| Cloud and API list prices (static table) | 24 h | docs/research-static-prices.md |
Solana: the public mainnet RPC, polled politely. Fee kinds are decided by the programs a transaction calls. GPU prices pass an anomaly filter before they are shown. Shello is not affiliated with any of these providers.