[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-alchemy-allium":3,"mdc-kie009-key":37,"related-org-alchemy-allium":3008,"related-repo-alchemy-allium":3085},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"allium","analyze trading data with Allium APIs","Query Allium APIs for wallet PnL (current + historical, by-wallet and by-token), holdings timeseries history, Hyperliquid HyperCore trading data (info, fills, orders, orderbook), and custom SQL analytics across 70+ chains. NOT for token prices, token metadata, current wallet balance snapshots, transaction transfer history, or NFT metadata — for those use `alchemy-cli` (live work), `alchemy-mcp`, `alchemy-api` (app code), or `agentic-gateway` (no API key). Requires Allium credentials at `~\u002F.allium\u002Fcredentials`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"alchemy","Alchemy","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Falchemy.png","alchemyplatform",[13,17,20,23],{"name":14,"slug":15,"type":16},"Blockchain","blockchain","tag",{"name":18,"slug":19,"type":16},"Trading","trading",{"name":21,"slug":22,"type":16},"Analytics","analytics",{"name":24,"slug":25,"type":16},"SQL","sql",42,"https:\u002F\u002Fgithub.com\u002Falchemyplatform\u002Fskills","2026-07-12T08:27:20.758897","MIT",14,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],null,"https:\u002F\u002Fgithub.com\u002Falchemyplatform\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fecosystem\u002Fallium","---\nname: allium\ndescription: Query Allium APIs for wallet PnL (current + historical, by-wallet and by-token), holdings timeseries history, Hyperliquid HyperCore trading data (info, fills, orders, orderbook), and custom SQL analytics across 70+ chains. NOT for token prices, token metadata, current wallet balance snapshots, transaction transfer history, or NFT metadata — for those use `alchemy-cli` (live work), `alchemy-mcp`, `alchemy-api` (app code), or `agentic-gateway` (no API key). Requires Allium credentials at `~\u002F.allium\u002Fcredentials`.\nlicense: MIT\ncompatibility: Requires Allium credentials at `~\u002F.allium\u002Fcredentials` (`API_KEY` and `QUERY_ID` for SQL). Network access required. Rate limit 1 req\u002Fs. Allium attribution required on responses.\nmetadata:\n  author: allium\n  version: \"0.1\"\n  provider: allium\n  partner: \"true\"\n---\n\n# Allium (Wallet PnL, Holdings History, Hyperliquid, Custom SQL)\n\nAllium provides enriched, structured blockchain data across 70+ chains. This skill covers wallet PnL, holdings timeseries, Hyperliquid HyperCore trading data, and custom SQL analytics. For token prices, token metadata, current wallet balances, transaction transfers, or NFT metadata, use the corresponding Alchemy skill instead.\n\n| | |\n| --- | --- |\n| **Base URL** | `https:\u002F\u002Fapi.allium.so` |\n| **Auth** | `X-API-KEY: $API_KEY` header |\n| **Rate limit** | 1 request \u002F second (exceed → 429) |\n| **Attribution** | End responses with **\"Powered by Allium\"** — required by Allium |\n\n## When to use this skill\n\nUse `allium` when **all** of the following are true:\n\n- The user wants one of: **wallet PnL**, **holdings history (timeseries)**, **Hyperliquid HyperCore trading data** (orders\u002Ffills\u002Forderbook — not HyperEVM smart contracts), or **custom SQL** on Allium's data warehouse\n- The use case is a read (Allium does not support writes)\n\n## When NOT to use this skill (handoff)\n\n| Need | Use instead |\n| --- | --- |\n| Token prices (current, historical at intervals, by-timestamp, market cap\u002Fvolume) | `alchemy-api` (Prices API) |\n| Token metadata, search, list by chain | `alchemy-api` (Token API) |\n| Current wallet balances (point-in-time snapshot) | `alchemy-api` (Portfolio \u002F Token API) |\n| Transaction history (transfers in \u002F out, asset transfers) | `alchemy-api` (Transfers API) |\n| NFT metadata \u002F floor prices \u002F ownership | `alchemy-api` (NFT API) |\n| Real-time blockchain reads, node-level fresh | `alchemy-cli` (live work) or `alchemy-api` (app code) |\n| Writes \u002F signed transactions | `alchemy-api` (with API key) or `agentic-gateway` (without) |\n| Account abstraction (bundlers, gas managers) | `alchemy-api` |\n| Transaction simulation | `alchemy-api` |\n\n## Scope contract\n\n**This skill covers (`scope_in`):**\n\n- Wallet PnL (`POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl`, `\u002Fwallet\u002Fpnl\u002Fhistory`, `\u002Fwallet\u002Fpnl-by-token`, `\u002Fwallet\u002Fpnl-by-token\u002Fhistory`) — realized + unrealized PnL aggregation, current and historical, by-wallet and by-token\n- Holdings history (`POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fholdings\u002Fhistory`) — timeseries of total USD holdings + optional per-token breakdown\n- Hyperliquid **HyperCore** trading data (`POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002F...`) — info, fills, order history, order status, L4 orderbook snapshot from the off-chain matching engine\n- Custom SQL analytics (`POST \u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\u002F{query_id}\u002Frun-async`) — arbitrary SQL queries against Allium's data warehouse (DeFi, NFT, bridges, MEV, entity resolution, Solana staking, etc.)\n\n**This skill does NOT cover (`scope_out`):**\n\n- Token prices → handoff: `alchemy-api` (Prices API)\n- Token metadata, list, search → handoff: `alchemy-api` (Token API)\n- Current wallet balances (point-in-time snapshot) → handoff: `alchemy-api` (Portfolio \u002F Token API)\n- Historical wallet balances (per-block or as a timeseries) → handoff: `alchemy-api` archive RPC (`eth_call balanceOf` at a historical block) or `alchemy_getAssetTransfers` reduced to balances. No first-class endpoint on either side; Alchemy's archive node is the right path.\n- Transaction transfer history → handoff: `alchemy-api` (Transfers API)\n- NFT metadata \u002F floor prices → handoff: `alchemy-api` (NFT API)\n- HyperEVM smart contract reads\u002Fwrites \u002F EVM RPC (chain ID 999) → handoff: `alchemy-api` or `alchemy-cli` at `https:\u002F\u002Fhyperliquid-mainnet.g.alchemy.com\u002Fv2\u002F$ALCHEMY_API_KEY`. Allium covers HyperCore (off-chain trading); Alchemy covers HyperEVM (on-chain smart contracts).\n- Real-time \u002F node-fresh reads → handoff: `alchemy-cli` or `alchemy-api`\n- Writes \u002F signed transactions → handoff: `alchemy-api` or `agentic-gateway`\n- Account abstraction → handoff: `alchemy-api`\n- Transaction simulation → handoff: `alchemy-api`\n\n## Setup\n\n### Credentials\n\nAllium uses a credentials file at `~\u002F.allium\u002Fcredentials` (not env vars). On every session start, check if it exists:\n\n**File exists with `API_KEY`** → load `API_KEY` (and `QUERY_ID` if present). Don't prompt.\n\n**File missing** → register via the OAuth flow below. Don't paste keys in chat.\n\n### Register (no API key yet)\n\nOAuth flow with a 5-minute timeout. Complete promptly.\n\n1. Ask the user for name and email (one prompt).\n2. POST to initiate registration:\n\n   ```bash\n   curl -X POST https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fregister-v2 \\\n     -H \"Content-Type: application\u002Fjson\" \\\n     -d '{\"name\": \"USER_NAME\", \"email\": \"USER_EMAIL\"}'\n   # Returns: {\"confirmation_url\": \"...\", \"token\": \"...\"}\n   ```\n\n3. Show the `confirmation_url` to the user — they open it and sign in with Google (must match the email).\n4. Auto-poll `\u002Fapi\u002Fv1\u002Fregister-v2\u002F$TOKEN` every 5s until 200 (got `api_key`) or 404 (expired):\n\n   ```bash\n   TOKEN=\"...\"  # from step 2\n   while true; do\n     RESP=$(curl -s -w \"\\n%{http_code}\" \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fregister-v2\u002F$TOKEN\")\n     CODE=$(echo \"$RESP\" | tail -1)\n     BODY=$(echo \"$RESP\" | head -1)\n     if [ \"$CODE\" = \"200\" ]; then echo \"$BODY\"; break; fi\n     if [ \"$CODE\" = \"404\" ]; then echo \"Expired. Restart.\"; break; fi\n     sleep 5\n   done\n   # 200 body: {\"api_key\": \"...\", \"organization_id\": \"...\"}\n   ```\n\n5. Save to `~\u002F.allium\u002Fcredentials`:\n\n   ```bash\n   mkdir -p ~\u002F.allium && cat > ~\u002F.allium\u002Fcredentials \u003C\u003C 'EOF'\n   API_KEY=...\n   QUERY_ID=...\n   EOF\n   ```\n\n### Create a `QUERY_ID` (only needed for custom SQL)\n\nIf you'll use the SQL endpoint, also create a query to get a `QUERY_ID`:\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '{\"title\": \"Custom SQL Query\", \"config\": {\"sql\": \"{{ sql_query }}\", \"limit\": 10000}}'\n# Returns: {\"query_id\": \"...\"}\n# Append QUERY_ID=... to ~\u002F.allium\u002Fcredentials\n```\n\n## Endpoint reference\n\n### Wallet PnL & holdings history → [references\u002Fpnl-and-holdings.md](.\u002Freferences\u002Fpnl-and-holdings.md)\n\n| Endpoint | Use for |\n| --- | --- |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl` | Current realized + unrealized PnL for one or more wallets |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl\u002Fhistory` | Historical PnL timeseries per wallet |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl-by-token` | Current PnL broken out by (wallet, token) |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl-by-token\u002Fhistory` | Historical PnL timeseries per (wallet, token) |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fholdings\u002Fhistory` | Timeseries of total USD holdings per wallet (optional per-token breakdown) |\n\n### Hyperliquid HyperCore (off-chain trading) → [references\u002Fhyperliquid.md](.\u002Freferences\u002Fhyperliquid.md)\n\n| Endpoint | Use for |\n| --- | --- |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo` | General Hyperliquid info (no rate-limit on this proxy) |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Ffills` | Fills by user (with TWAP, time-window, aggregation options) |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Forder\u002Fhistory` | Historical orders by user |\n| `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Forder\u002Fstatus` | Status of a specific order |\n| `GET \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Forderbook\u002Fsnapshot` | L4 orderbook snapshot (all pairs) |\n\n### Custom SQL → [references\u002Fcustom-sql.md](.\u002Freferences\u002Fcustom-sql.md)\n\n| Endpoint | Use for |\n| --- | --- |\n| `POST \u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries` | Create a parametrized query (one-time setup; returns `query_id`) |\n| `POST \u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\u002F{query_id}\u002Frun-async` | Start a SQL run against Allium's data warehouse |\n| `GET \u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F{run_id}\u002Fstatus` | Poll run status (`created` → `queued` → `running` → `success` \u002F `failed`) |\n| `GET \u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F{run_id}\u002Fresults?f=json` | Fetch results once status = `success` |\n\nUse SQL for things the typed endpoints don't cover: DeFi protocol analytics, NFT marketplace data, bridge flows, MEV, entity resolution, labeled wallets, **Solana staking analytics**, and anything else in Allium's warehouse.\n\n## Quick examples\n\n### Wallet PnL (current)\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '[{\"chain\": \"solana\", \"address\": \"125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp\"}]'\n```\n\nReturns per-token realized\u002Funrealized PnL plus aggregate totals. See [references\u002Fpnl-and-holdings.md](.\u002Freferences\u002Fpnl-and-holdings.md) for the full response schema.\n\n### Holdings history (timeseries)\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fholdings\u002Fhistory\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '{\n    \"addresses\": [{\"address\": \"125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp\", \"chain\": \"solana\"}],\n    \"start_timestamp\": \"2026-04-01T00:00:00Z\",\n    \"end_timestamp\": \"2026-04-10T00:00:00Z\",\n    \"granularity\": \"1h\",\n    \"include_token_breakdown\": false\n  }'\n```\n\n### Hyperliquid fills\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Ffills\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '{\"type\": \"userFills\", \"user\": \"0x...\"}'\n```\n\n### Custom SQL (Solana staking yield, as an example)\n\n```bash\n# 1. Start the run\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\u002F${QUERY_ID}\u002Frun-async\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '{\"parameters\": {\"sql_query\": \"SELECT epoch, SUM(rewards) FROM solana.dim.stake_account_rewards WHERE delegator = '\\''\u003Caddr>'\\'' GROUP BY epoch ORDER BY epoch DESC LIMIT 30\"}}'\n# Returns: {\"run_id\": \"...\"}\n\n# 2. Poll\ncurl \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F${RUN_ID}\u002Fstatus\" \\\n  -H \"X-API-KEY: $API_KEY\"\n\n# 3. Fetch results when status = success\ncurl \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F${RUN_ID}\u002Fresults?f=json\" \\\n  -H \"X-API-KEY: $API_KEY\"\n```\n\n## Common gotchas\n\n- **Chain names are lowercase**: `ethereum`, `base`, `solana`, `arbitrum`, `polygon`, `hyperevm`. Uppercase fails silently.\n- **Rate limit is 1 req\u002Fs**. Exceed → 429. No batching workaround.\n- **422 errors** are usually request-format mismatches (e.g. wrong shape for `\u002Fhistory` endpoints — they take `addresses[]`, not flat `address`+`chain`).\n- **Attribution required**: end responses with \"Powered by Allium\".\n\n## Routing back to Alchemy\n\nIf during a session the user's need shifts to surfaces this skill doesn't cover (prices, current balances, transactions, NFT metadata) or to real-time \u002F write workflows, hand off:\n\n- `alchemy-cli` — live agent work in the current session via the local CLI\n- `alchemy-mcp` — live work via the hosted MCP server when CLI is not installed\n- `alchemy-api` — application code with an Alchemy API key\n- `agentic-gateway` — application code without an API key (x402 \u002F MPP)\n\n---\n\n> **Maintenance:** Allium maintains the underlying API surface; this skill itself is maintained jointly by Alchemy and Allium. File issues against `alchemyplatform\u002Fskills` with `[ecosystem\u002Fallium]` in the title.\n",{"data":38,"body":43},{"name":4,"description":6,"license":29,"compatibility":39,"metadata":40},"Requires Allium credentials at `~\u002F.allium\u002Fcredentials` (`API_KEY` and `QUERY_ID` for SQL). Network access required. Rate limit 1 req\u002Fs. Allium attribution required on responses.",{"author":4,"version":41,"provider":4,"partner":42},"0.1","true",{"type":44,"children":45},"root",[46,55,61,168,175,194,236,242,439,445,461,544,559,724,730,737,750,781,791,797,802,1476,1489,1500,1627,1633,1646,1751,1763,1868,1880,2017,2029,2035,2041,2150,2161,2167,2324,2330,2439,2445,2789,2795,2913,2919,2924,2968,2972,3002],{"type":47,"tag":48,"props":49,"children":51},"element","h1",{"id":50},"allium-wallet-pnl-holdings-history-hyperliquid-custom-sql",[52],{"type":53,"value":54},"text","Allium (Wallet PnL, Holdings History, Hyperliquid, Custom SQL)",{"type":47,"tag":56,"props":57,"children":58},"p",{},[59],{"type":53,"value":60},"Allium provides enriched, structured blockchain data across 70+ chains. This skill covers wallet PnL, holdings timeseries, Hyperliquid HyperCore trading data, and custom SQL analytics. For token prices, token metadata, current wallet balances, transaction transfers, or NFT metadata, use the corresponding Alchemy skill instead.",{"type":47,"tag":62,"props":63,"children":64},"table",{},[65,80],{"type":47,"tag":66,"props":67,"children":68},"thead",{},[69],{"type":47,"tag":70,"props":71,"children":72},"tr",{},[73,77],{"type":47,"tag":74,"props":75,"children":76},"th",{},[],{"type":47,"tag":74,"props":78,"children":79},{},[],{"type":47,"tag":81,"props":82,"children":83},"tbody",{},[84,107,129,145],{"type":47,"tag":70,"props":85,"children":86},{},[87,97],{"type":47,"tag":88,"props":89,"children":90},"td",{},[91],{"type":47,"tag":92,"props":93,"children":94},"strong",{},[95],{"type":53,"value":96},"Base URL",{"type":47,"tag":88,"props":98,"children":99},{},[100],{"type":47,"tag":101,"props":102,"children":104},"code",{"className":103},[],[105],{"type":53,"value":106},"https:\u002F\u002Fapi.allium.so",{"type":47,"tag":70,"props":108,"children":109},{},[110,118],{"type":47,"tag":88,"props":111,"children":112},{},[113],{"type":47,"tag":92,"props":114,"children":115},{},[116],{"type":53,"value":117},"Auth",{"type":47,"tag":88,"props":119,"children":120},{},[121,127],{"type":47,"tag":101,"props":122,"children":124},{"className":123},[],[125],{"type":53,"value":126},"X-API-KEY: $API_KEY",{"type":53,"value":128}," header",{"type":47,"tag":70,"props":130,"children":131},{},[132,140],{"type":47,"tag":88,"props":133,"children":134},{},[135],{"type":47,"tag":92,"props":136,"children":137},{},[138],{"type":53,"value":139},"Rate limit",{"type":47,"tag":88,"props":141,"children":142},{},[143],{"type":53,"value":144},"1 request \u002F second (exceed → 429)",{"type":47,"tag":70,"props":146,"children":147},{},[148,156],{"type":47,"tag":88,"props":149,"children":150},{},[151],{"type":47,"tag":92,"props":152,"children":153},{},[154],{"type":53,"value":155},"Attribution",{"type":47,"tag":88,"props":157,"children":158},{},[159,161,166],{"type":53,"value":160},"End responses with ",{"type":47,"tag":92,"props":162,"children":163},{},[164],{"type":53,"value":165},"\"Powered by Allium\"",{"type":53,"value":167}," — required by Allium",{"type":47,"tag":169,"props":170,"children":172},"h2",{"id":171},"when-to-use-this-skill",[173],{"type":53,"value":174},"When to use this skill",{"type":47,"tag":56,"props":176,"children":177},{},[178,180,185,187,192],{"type":53,"value":179},"Use ",{"type":47,"tag":101,"props":181,"children":183},{"className":182},[],[184],{"type":53,"value":4},{"type":53,"value":186}," when ",{"type":47,"tag":92,"props":188,"children":189},{},[190],{"type":53,"value":191},"all",{"type":53,"value":193}," of the following are true:",{"type":47,"tag":195,"props":196,"children":197},"ul",{},[198,231],{"type":47,"tag":199,"props":200,"children":201},"li",{},[202,204,209,211,216,217,222,224,229],{"type":53,"value":203},"The user wants one of: ",{"type":47,"tag":92,"props":205,"children":206},{},[207],{"type":53,"value":208},"wallet PnL",{"type":53,"value":210},", ",{"type":47,"tag":92,"props":212,"children":213},{},[214],{"type":53,"value":215},"holdings history (timeseries)",{"type":53,"value":210},{"type":47,"tag":92,"props":218,"children":219},{},[220],{"type":53,"value":221},"Hyperliquid HyperCore trading data",{"type":53,"value":223}," (orders\u002Ffills\u002Forderbook — not HyperEVM smart contracts), or ",{"type":47,"tag":92,"props":225,"children":226},{},[227],{"type":53,"value":228},"custom SQL",{"type":53,"value":230}," on Allium's data warehouse",{"type":47,"tag":199,"props":232,"children":233},{},[234],{"type":53,"value":235},"The use case is a read (Allium does not support writes)",{"type":47,"tag":169,"props":237,"children":239},{"id":238},"when-not-to-use-this-skill-handoff",[240],{"type":53,"value":241},"When NOT to use this skill (handoff)",{"type":47,"tag":62,"props":243,"children":244},{},[245,261],{"type":47,"tag":66,"props":246,"children":247},{},[248],{"type":47,"tag":70,"props":249,"children":250},{},[251,256],{"type":47,"tag":74,"props":252,"children":253},{},[254],{"type":53,"value":255},"Need",{"type":47,"tag":74,"props":257,"children":258},{},[259],{"type":53,"value":260},"Use instead",{"type":47,"tag":81,"props":262,"children":263},{},[264,283,301,319,337,355,381,407,423],{"type":47,"tag":70,"props":265,"children":266},{},[267,272],{"type":47,"tag":88,"props":268,"children":269},{},[270],{"type":53,"value":271},"Token prices (current, historical at intervals, by-timestamp, market cap\u002Fvolume)",{"type":47,"tag":88,"props":273,"children":274},{},[275,281],{"type":47,"tag":101,"props":276,"children":278},{"className":277},[],[279],{"type":53,"value":280},"alchemy-api",{"type":53,"value":282}," (Prices API)",{"type":47,"tag":70,"props":284,"children":285},{},[286,291],{"type":47,"tag":88,"props":287,"children":288},{},[289],{"type":53,"value":290},"Token metadata, search, list by chain",{"type":47,"tag":88,"props":292,"children":293},{},[294,299],{"type":47,"tag":101,"props":295,"children":297},{"className":296},[],[298],{"type":53,"value":280},{"type":53,"value":300}," (Token API)",{"type":47,"tag":70,"props":302,"children":303},{},[304,309],{"type":47,"tag":88,"props":305,"children":306},{},[307],{"type":53,"value":308},"Current wallet balances (point-in-time snapshot)",{"type":47,"tag":88,"props":310,"children":311},{},[312,317],{"type":47,"tag":101,"props":313,"children":315},{"className":314},[],[316],{"type":53,"value":280},{"type":53,"value":318}," (Portfolio \u002F Token API)",{"type":47,"tag":70,"props":320,"children":321},{},[322,327],{"type":47,"tag":88,"props":323,"children":324},{},[325],{"type":53,"value":326},"Transaction history (transfers in \u002F out, asset transfers)",{"type":47,"tag":88,"props":328,"children":329},{},[330,335],{"type":47,"tag":101,"props":331,"children":333},{"className":332},[],[334],{"type":53,"value":280},{"type":53,"value":336}," (Transfers API)",{"type":47,"tag":70,"props":338,"children":339},{},[340,345],{"type":47,"tag":88,"props":341,"children":342},{},[343],{"type":53,"value":344},"NFT metadata \u002F floor prices \u002F ownership",{"type":47,"tag":88,"props":346,"children":347},{},[348,353],{"type":47,"tag":101,"props":349,"children":351},{"className":350},[],[352],{"type":53,"value":280},{"type":53,"value":354}," (NFT API)",{"type":47,"tag":70,"props":356,"children":357},{},[358,363],{"type":47,"tag":88,"props":359,"children":360},{},[361],{"type":53,"value":362},"Real-time blockchain reads, node-level fresh",{"type":47,"tag":88,"props":364,"children":365},{},[366,372,374,379],{"type":47,"tag":101,"props":367,"children":369},{"className":368},[],[370],{"type":53,"value":371},"alchemy-cli",{"type":53,"value":373}," (live work) or ",{"type":47,"tag":101,"props":375,"children":377},{"className":376},[],[378],{"type":53,"value":280},{"type":53,"value":380}," (app code)",{"type":47,"tag":70,"props":382,"children":383},{},[384,389],{"type":47,"tag":88,"props":385,"children":386},{},[387],{"type":53,"value":388},"Writes \u002F signed transactions",{"type":47,"tag":88,"props":390,"children":391},{},[392,397,399,405],{"type":47,"tag":101,"props":393,"children":395},{"className":394},[],[396],{"type":53,"value":280},{"type":53,"value":398}," (with API key) or ",{"type":47,"tag":101,"props":400,"children":402},{"className":401},[],[403],{"type":53,"value":404},"agentic-gateway",{"type":53,"value":406}," (without)",{"type":47,"tag":70,"props":408,"children":409},{},[410,415],{"type":47,"tag":88,"props":411,"children":412},{},[413],{"type":53,"value":414},"Account abstraction (bundlers, gas managers)",{"type":47,"tag":88,"props":416,"children":417},{},[418],{"type":47,"tag":101,"props":419,"children":421},{"className":420},[],[422],{"type":53,"value":280},{"type":47,"tag":70,"props":424,"children":425},{},[426,431],{"type":47,"tag":88,"props":427,"children":428},{},[429],{"type":53,"value":430},"Transaction simulation",{"type":47,"tag":88,"props":432,"children":433},{},[434],{"type":47,"tag":101,"props":435,"children":437},{"className":436},[],[438],{"type":53,"value":280},{"type":47,"tag":169,"props":440,"children":442},{"id":441},"scope-contract",[443],{"type":53,"value":444},"Scope contract",{"type":47,"tag":56,"props":446,"children":447},{},[448],{"type":47,"tag":92,"props":449,"children":450},{},[451,453,459],{"type":53,"value":452},"This skill covers (",{"type":47,"tag":101,"props":454,"children":456},{"className":455},[],[457],{"type":53,"value":458},"scope_in",{"type":53,"value":460},"):",{"type":47,"tag":195,"props":462,"children":463},{},[464,498,511,531],{"type":47,"tag":199,"props":465,"children":466},{},[467,469,475,476,482,483,489,490,496],{"type":53,"value":468},"Wallet PnL (",{"type":47,"tag":101,"props":470,"children":472},{"className":471},[],[473],{"type":53,"value":474},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl",{"type":53,"value":210},{"type":47,"tag":101,"props":477,"children":479},{"className":478},[],[480],{"type":53,"value":481},"\u002Fwallet\u002Fpnl\u002Fhistory",{"type":53,"value":210},{"type":47,"tag":101,"props":484,"children":486},{"className":485},[],[487],{"type":53,"value":488},"\u002Fwallet\u002Fpnl-by-token",{"type":53,"value":210},{"type":47,"tag":101,"props":491,"children":493},{"className":492},[],[494],{"type":53,"value":495},"\u002Fwallet\u002Fpnl-by-token\u002Fhistory",{"type":53,"value":497},") — realized + unrealized PnL aggregation, current and historical, by-wallet and by-token",{"type":47,"tag":199,"props":499,"children":500},{},[501,503,509],{"type":53,"value":502},"Holdings history (",{"type":47,"tag":101,"props":504,"children":506},{"className":505},[],[507],{"type":53,"value":508},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fholdings\u002Fhistory",{"type":53,"value":510},") — timeseries of total USD holdings + optional per-token breakdown",{"type":47,"tag":199,"props":512,"children":513},{},[514,516,521,523,529],{"type":53,"value":515},"Hyperliquid ",{"type":47,"tag":92,"props":517,"children":518},{},[519],{"type":53,"value":520},"HyperCore",{"type":53,"value":522}," trading data (",{"type":47,"tag":101,"props":524,"children":526},{"className":525},[],[527],{"type":53,"value":528},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002F...",{"type":53,"value":530},") — info, fills, order history, order status, L4 orderbook snapshot from the off-chain matching engine",{"type":47,"tag":199,"props":532,"children":533},{},[534,536,542],{"type":53,"value":535},"Custom SQL analytics (",{"type":47,"tag":101,"props":537,"children":539},{"className":538},[],[540],{"type":53,"value":541},"POST \u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\u002F{query_id}\u002Frun-async",{"type":53,"value":543},") — arbitrary SQL queries against Allium's data warehouse (DeFi, NFT, bridges, MEV, entity resolution, Solana staking, etc.)",{"type":47,"tag":56,"props":545,"children":546},{},[547],{"type":47,"tag":92,"props":548,"children":549},{},[550,552,558],{"type":53,"value":551},"This skill does NOT cover (",{"type":47,"tag":101,"props":553,"children":555},{"className":554},[],[556],{"type":53,"value":557},"scope_out",{"type":53,"value":460},{"type":47,"tag":195,"props":560,"children":561},{},[562,573,584,595,623,634,645,672,688,704,714],{"type":47,"tag":199,"props":563,"children":564},{},[565,567,572],{"type":53,"value":566},"Token prices → handoff: ",{"type":47,"tag":101,"props":568,"children":570},{"className":569},[],[571],{"type":53,"value":280},{"type":53,"value":282},{"type":47,"tag":199,"props":574,"children":575},{},[576,578,583],{"type":53,"value":577},"Token metadata, list, search → handoff: ",{"type":47,"tag":101,"props":579,"children":581},{"className":580},[],[582],{"type":53,"value":280},{"type":53,"value":300},{"type":47,"tag":199,"props":585,"children":586},{},[587,589,594],{"type":53,"value":588},"Current wallet balances (point-in-time snapshot) → handoff: ",{"type":47,"tag":101,"props":590,"children":592},{"className":591},[],[593],{"type":53,"value":280},{"type":53,"value":318},{"type":47,"tag":199,"props":596,"children":597},{},[598,600,605,607,613,615,621],{"type":53,"value":599},"Historical wallet balances (per-block or as a timeseries) → handoff: ",{"type":47,"tag":101,"props":601,"children":603},{"className":602},[],[604],{"type":53,"value":280},{"type":53,"value":606}," archive RPC (",{"type":47,"tag":101,"props":608,"children":610},{"className":609},[],[611],{"type":53,"value":612},"eth_call balanceOf",{"type":53,"value":614}," at a historical block) or ",{"type":47,"tag":101,"props":616,"children":618},{"className":617},[],[619],{"type":53,"value":620},"alchemy_getAssetTransfers",{"type":53,"value":622}," reduced to balances. No first-class endpoint on either side; Alchemy's archive node is the right path.",{"type":47,"tag":199,"props":624,"children":625},{},[626,628,633],{"type":53,"value":627},"Transaction transfer history → handoff: ",{"type":47,"tag":101,"props":629,"children":631},{"className":630},[],[632],{"type":53,"value":280},{"type":53,"value":336},{"type":47,"tag":199,"props":635,"children":636},{},[637,639,644],{"type":53,"value":638},"NFT metadata \u002F floor prices → handoff: ",{"type":47,"tag":101,"props":640,"children":642},{"className":641},[],[643],{"type":53,"value":280},{"type":53,"value":354},{"type":47,"tag":199,"props":646,"children":647},{},[648,650,655,657,662,664,670],{"type":53,"value":649},"HyperEVM smart contract reads\u002Fwrites \u002F EVM RPC (chain ID 999) → handoff: ",{"type":47,"tag":101,"props":651,"children":653},{"className":652},[],[654],{"type":53,"value":280},{"type":53,"value":656}," or ",{"type":47,"tag":101,"props":658,"children":660},{"className":659},[],[661],{"type":53,"value":371},{"type":53,"value":663}," at ",{"type":47,"tag":101,"props":665,"children":667},{"className":666},[],[668],{"type":53,"value":669},"https:\u002F\u002Fhyperliquid-mainnet.g.alchemy.com\u002Fv2\u002F$ALCHEMY_API_KEY",{"type":53,"value":671},". Allium covers HyperCore (off-chain trading); Alchemy covers HyperEVM (on-chain smart contracts).",{"type":47,"tag":199,"props":673,"children":674},{},[675,677,682,683],{"type":53,"value":676},"Real-time \u002F node-fresh reads → handoff: ",{"type":47,"tag":101,"props":678,"children":680},{"className":679},[],[681],{"type":53,"value":371},{"type":53,"value":656},{"type":47,"tag":101,"props":684,"children":686},{"className":685},[],[687],{"type":53,"value":280},{"type":47,"tag":199,"props":689,"children":690},{},[691,693,698,699],{"type":53,"value":692},"Writes \u002F signed transactions → handoff: ",{"type":47,"tag":101,"props":694,"children":696},{"className":695},[],[697],{"type":53,"value":280},{"type":53,"value":656},{"type":47,"tag":101,"props":700,"children":702},{"className":701},[],[703],{"type":53,"value":404},{"type":47,"tag":199,"props":705,"children":706},{},[707,709],{"type":53,"value":708},"Account abstraction → handoff: ",{"type":47,"tag":101,"props":710,"children":712},{"className":711},[],[713],{"type":53,"value":280},{"type":47,"tag":199,"props":715,"children":716},{},[717,719],{"type":53,"value":718},"Transaction simulation → handoff: ",{"type":47,"tag":101,"props":720,"children":722},{"className":721},[],[723],{"type":53,"value":280},{"type":47,"tag":169,"props":725,"children":727},{"id":726},"setup",[728],{"type":53,"value":729},"Setup",{"type":47,"tag":731,"props":732,"children":734},"h3",{"id":733},"credentials",[735],{"type":53,"value":736},"Credentials",{"type":47,"tag":56,"props":738,"children":739},{},[740,742,748],{"type":53,"value":741},"Allium uses a credentials file at ",{"type":47,"tag":101,"props":743,"children":745},{"className":744},[],[746],{"type":53,"value":747},"~\u002F.allium\u002Fcredentials",{"type":53,"value":749}," (not env vars). On every session start, check if it exists:",{"type":47,"tag":56,"props":751,"children":752},{},[753,764,766,771,773,779],{"type":47,"tag":92,"props":754,"children":755},{},[756,758],{"type":53,"value":757},"File exists with ",{"type":47,"tag":101,"props":759,"children":761},{"className":760},[],[762],{"type":53,"value":763},"API_KEY",{"type":53,"value":765}," → load ",{"type":47,"tag":101,"props":767,"children":769},{"className":768},[],[770],{"type":53,"value":763},{"type":53,"value":772}," (and ",{"type":47,"tag":101,"props":774,"children":776},{"className":775},[],[777],{"type":53,"value":778},"QUERY_ID",{"type":53,"value":780}," if present). Don't prompt.",{"type":47,"tag":56,"props":782,"children":783},{},[784,789],{"type":47,"tag":92,"props":785,"children":786},{},[787],{"type":53,"value":788},"File missing",{"type":53,"value":790}," → register via the OAuth flow below. Don't paste keys in chat.",{"type":47,"tag":731,"props":792,"children":794},{"id":793},"register-no-api-key-yet",[795],{"type":53,"value":796},"Register (no API key yet)",{"type":47,"tag":56,"props":798,"children":799},{},[800],{"type":53,"value":801},"OAuth flow with a 5-minute timeout. Complete promptly.",{"type":47,"tag":803,"props":804,"children":805},"ol",{},[806,811,924,937,1385],{"type":47,"tag":199,"props":807,"children":808},{},[809],{"type":53,"value":810},"Ask the user for name and email (one prompt).",{"type":47,"tag":199,"props":812,"children":813},{},[814,816],{"type":53,"value":815},"POST to initiate registration:",{"type":47,"tag":817,"props":818,"children":823},"pre",{"className":819,"code":820,"language":821,"meta":822,"style":822},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fregister-v2 \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"name\": \"USER_NAME\", \"email\": \"USER_EMAIL\"}'\n# Returns: {\"confirmation_url\": \"...\", \"token\": \"...\"}\n","bash","",[824],{"type":47,"tag":101,"props":825,"children":826},{"__ignoreMap":822},[827,861,890,914],{"type":47,"tag":828,"props":829,"children":832},"span",{"class":830,"line":831},"line",1,[833,839,845,850,855],{"type":47,"tag":828,"props":834,"children":836},{"style":835},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[837],{"type":53,"value":838},"curl",{"type":47,"tag":828,"props":840,"children":842},{"style":841},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[843],{"type":53,"value":844}," -X",{"type":47,"tag":828,"props":846,"children":847},{"style":841},[848],{"type":53,"value":849}," POST",{"type":47,"tag":828,"props":851,"children":852},{"style":841},[853],{"type":53,"value":854}," https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fregister-v2",{"type":47,"tag":828,"props":856,"children":858},{"style":857},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[859],{"type":53,"value":860}," \\\n",{"type":47,"tag":828,"props":862,"children":864},{"class":830,"line":863},2,[865,870,876,881,886],{"type":47,"tag":828,"props":866,"children":867},{"style":841},[868],{"type":53,"value":869},"  -H",{"type":47,"tag":828,"props":871,"children":873},{"style":872},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[874],{"type":53,"value":875}," \"",{"type":47,"tag":828,"props":877,"children":878},{"style":841},[879],{"type":53,"value":880},"Content-Type: application\u002Fjson",{"type":47,"tag":828,"props":882,"children":883},{"style":872},[884],{"type":53,"value":885},"\"",{"type":47,"tag":828,"props":887,"children":888},{"style":857},[889],{"type":53,"value":860},{"type":47,"tag":828,"props":891,"children":893},{"class":830,"line":892},3,[894,899,904,909],{"type":47,"tag":828,"props":895,"children":896},{"style":841},[897],{"type":53,"value":898},"  -d",{"type":47,"tag":828,"props":900,"children":901},{"style":872},[902],{"type":53,"value":903}," '",{"type":47,"tag":828,"props":905,"children":906},{"style":841},[907],{"type":53,"value":908},"{\"name\": \"USER_NAME\", \"email\": \"USER_EMAIL\"}",{"type":47,"tag":828,"props":910,"children":911},{"style":872},[912],{"type":53,"value":913},"'\n",{"type":47,"tag":828,"props":915,"children":917},{"class":830,"line":916},4,[918],{"type":47,"tag":828,"props":919,"children":921},{"style":920},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[922],{"type":53,"value":923},"# Returns: {\"confirmation_url\": \"...\", \"token\": \"...\"}\n",{"type":47,"tag":199,"props":925,"children":926},{},[927,929,935],{"type":53,"value":928},"Show the ",{"type":47,"tag":101,"props":930,"children":932},{"className":931},[],[933],{"type":53,"value":934},"confirmation_url",{"type":53,"value":936}," to the user — they open it and sign in with Google (must match the email).",{"type":47,"tag":199,"props":938,"children":939},{},[940,942,948,950,956,958],{"type":53,"value":941},"Auto-poll ",{"type":47,"tag":101,"props":943,"children":945},{"className":944},[],[946],{"type":53,"value":947},"\u002Fapi\u002Fv1\u002Fregister-v2\u002F$TOKEN",{"type":53,"value":949}," every 5s until 200 (got ",{"type":47,"tag":101,"props":951,"children":953},{"className":952},[],[954],{"type":53,"value":955},"api_key",{"type":53,"value":957},") or 404 (expired):",{"type":47,"tag":817,"props":959,"children":961},{"className":819,"code":960,"language":821,"meta":822,"style":822},"TOKEN=\"...\"  # from step 2\nwhile true; do\n  RESP=$(curl -s -w \"\\n%{http_code}\" \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fregister-v2\u002F$TOKEN\")\n  CODE=$(echo \"$RESP\" | tail -1)\n  BODY=$(echo \"$RESP\" | head -1)\n  if [ \"$CODE\" = \"200\" ]; then echo \"$BODY\"; break; fi\n  if [ \"$CODE\" = \"404\" ]; then echo \"Expired. Restart.\"; break; fi\n  sleep 5\ndone\n# 200 body: {\"api_key\": \"...\", \"organization_id\": \"...\"}\n",[962],{"type":47,"tag":101,"props":963,"children":964},{"__ignoreMap":822},[965,996,1021,1084,1133,1179,1270,1352,1367,1376],{"type":47,"tag":828,"props":966,"children":967},{"class":830,"line":831},[968,973,978,982,987,991],{"type":47,"tag":828,"props":969,"children":970},{"style":857},[971],{"type":53,"value":972},"TOKEN",{"type":47,"tag":828,"props":974,"children":975},{"style":872},[976],{"type":53,"value":977},"=",{"type":47,"tag":828,"props":979,"children":980},{"style":872},[981],{"type":53,"value":885},{"type":47,"tag":828,"props":983,"children":984},{"style":841},[985],{"type":53,"value":986},"...",{"type":47,"tag":828,"props":988,"children":989},{"style":872},[990],{"type":53,"value":885},{"type":47,"tag":828,"props":992,"children":993},{"style":920},[994],{"type":53,"value":995},"  # from step 2\n",{"type":47,"tag":828,"props":997,"children":998},{"class":830,"line":863},[999,1005,1011,1016],{"type":47,"tag":828,"props":1000,"children":1002},{"style":1001},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1003],{"type":53,"value":1004},"while",{"type":47,"tag":828,"props":1006,"children":1008},{"style":1007},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1009],{"type":53,"value":1010}," true",{"type":47,"tag":828,"props":1012,"children":1013},{"style":872},[1014],{"type":53,"value":1015},";",{"type":47,"tag":828,"props":1017,"children":1018},{"style":1001},[1019],{"type":53,"value":1020}," do\n",{"type":47,"tag":828,"props":1022,"children":1023},{"class":830,"line":892},[1024,1029,1034,1038,1043,1048,1052,1057,1061,1065,1070,1075,1079],{"type":47,"tag":828,"props":1025,"children":1026},{"style":857},[1027],{"type":53,"value":1028},"  RESP",{"type":47,"tag":828,"props":1030,"children":1031},{"style":872},[1032],{"type":53,"value":1033},"=$(",{"type":47,"tag":828,"props":1035,"children":1036},{"style":835},[1037],{"type":53,"value":838},{"type":47,"tag":828,"props":1039,"children":1040},{"style":841},[1041],{"type":53,"value":1042}," -s",{"type":47,"tag":828,"props":1044,"children":1045},{"style":841},[1046],{"type":53,"value":1047}," -w",{"type":47,"tag":828,"props":1049,"children":1050},{"style":872},[1051],{"type":53,"value":875},{"type":47,"tag":828,"props":1053,"children":1054},{"style":841},[1055],{"type":53,"value":1056},"\\n%{http_code}",{"type":47,"tag":828,"props":1058,"children":1059},{"style":872},[1060],{"type":53,"value":885},{"type":47,"tag":828,"props":1062,"children":1063},{"style":872},[1064],{"type":53,"value":875},{"type":47,"tag":828,"props":1066,"children":1067},{"style":841},[1068],{"type":53,"value":1069},"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fregister-v2\u002F",{"type":47,"tag":828,"props":1071,"children":1072},{"style":857},[1073],{"type":53,"value":1074},"$TOKEN",{"type":47,"tag":828,"props":1076,"children":1077},{"style":872},[1078],{"type":53,"value":885},{"type":47,"tag":828,"props":1080,"children":1081},{"style":872},[1082],{"type":53,"value":1083},")\n",{"type":47,"tag":828,"props":1085,"children":1086},{"class":830,"line":916},[1087,1092,1096,1101,1105,1110,1114,1119,1124,1129],{"type":47,"tag":828,"props":1088,"children":1089},{"style":857},[1090],{"type":53,"value":1091},"  CODE",{"type":47,"tag":828,"props":1093,"children":1094},{"style":872},[1095],{"type":53,"value":1033},{"type":47,"tag":828,"props":1097,"children":1098},{"style":1007},[1099],{"type":53,"value":1100},"echo",{"type":47,"tag":828,"props":1102,"children":1103},{"style":872},[1104],{"type":53,"value":875},{"type":47,"tag":828,"props":1106,"children":1107},{"style":857},[1108],{"type":53,"value":1109},"$RESP",{"type":47,"tag":828,"props":1111,"children":1112},{"style":872},[1113],{"type":53,"value":885},{"type":47,"tag":828,"props":1115,"children":1116},{"style":872},[1117],{"type":53,"value":1118}," |",{"type":47,"tag":828,"props":1120,"children":1121},{"style":835},[1122],{"type":53,"value":1123}," tail",{"type":47,"tag":828,"props":1125,"children":1126},{"style":841},[1127],{"type":53,"value":1128}," -1",{"type":47,"tag":828,"props":1130,"children":1131},{"style":872},[1132],{"type":53,"value":1083},{"type":47,"tag":828,"props":1134,"children":1136},{"class":830,"line":1135},5,[1137,1142,1146,1150,1154,1158,1162,1166,1171,1175],{"type":47,"tag":828,"props":1138,"children":1139},{"style":857},[1140],{"type":53,"value":1141},"  BODY",{"type":47,"tag":828,"props":1143,"children":1144},{"style":872},[1145],{"type":53,"value":1033},{"type":47,"tag":828,"props":1147,"children":1148},{"style":1007},[1149],{"type":53,"value":1100},{"type":47,"tag":828,"props":1151,"children":1152},{"style":872},[1153],{"type":53,"value":875},{"type":47,"tag":828,"props":1155,"children":1156},{"style":857},[1157],{"type":53,"value":1109},{"type":47,"tag":828,"props":1159,"children":1160},{"style":872},[1161],{"type":53,"value":885},{"type":47,"tag":828,"props":1163,"children":1164},{"style":872},[1165],{"type":53,"value":1118},{"type":47,"tag":828,"props":1167,"children":1168},{"style":835},[1169],{"type":53,"value":1170}," head",{"type":47,"tag":828,"props":1172,"children":1173},{"style":841},[1174],{"type":53,"value":1128},{"type":47,"tag":828,"props":1176,"children":1177},{"style":872},[1178],{"type":53,"value":1083},{"type":47,"tag":828,"props":1180,"children":1182},{"class":830,"line":1181},6,[1183,1188,1193,1197,1202,1206,1211,1215,1220,1224,1229,1234,1239,1243,1248,1252,1256,1261,1265],{"type":47,"tag":828,"props":1184,"children":1185},{"style":1001},[1186],{"type":53,"value":1187},"  if",{"type":47,"tag":828,"props":1189,"children":1190},{"style":872},[1191],{"type":53,"value":1192}," [",{"type":47,"tag":828,"props":1194,"children":1195},{"style":872},[1196],{"type":53,"value":875},{"type":47,"tag":828,"props":1198,"children":1199},{"style":857},[1200],{"type":53,"value":1201},"$CODE",{"type":47,"tag":828,"props":1203,"children":1204},{"style":872},[1205],{"type":53,"value":885},{"type":47,"tag":828,"props":1207,"children":1208},{"style":872},[1209],{"type":53,"value":1210}," =",{"type":47,"tag":828,"props":1212,"children":1213},{"style":872},[1214],{"type":53,"value":875},{"type":47,"tag":828,"props":1216,"children":1217},{"style":841},[1218],{"type":53,"value":1219},"200",{"type":47,"tag":828,"props":1221,"children":1222},{"style":872},[1223],{"type":53,"value":885},{"type":47,"tag":828,"props":1225,"children":1226},{"style":872},[1227],{"type":53,"value":1228}," ];",{"type":47,"tag":828,"props":1230,"children":1231},{"style":1001},[1232],{"type":53,"value":1233}," then",{"type":47,"tag":828,"props":1235,"children":1236},{"style":1007},[1237],{"type":53,"value":1238}," echo",{"type":47,"tag":828,"props":1240,"children":1241},{"style":872},[1242],{"type":53,"value":875},{"type":47,"tag":828,"props":1244,"children":1245},{"style":857},[1246],{"type":53,"value":1247},"$BODY",{"type":47,"tag":828,"props":1249,"children":1250},{"style":872},[1251],{"type":53,"value":885},{"type":47,"tag":828,"props":1253,"children":1254},{"style":872},[1255],{"type":53,"value":1015},{"type":47,"tag":828,"props":1257,"children":1258},{"style":1001},[1259],{"type":53,"value":1260}," break",{"type":47,"tag":828,"props":1262,"children":1263},{"style":872},[1264],{"type":53,"value":1015},{"type":47,"tag":828,"props":1266,"children":1267},{"style":1001},[1268],{"type":53,"value":1269}," fi\n",{"type":47,"tag":828,"props":1271,"children":1273},{"class":830,"line":1272},7,[1274,1278,1282,1286,1290,1294,1298,1302,1307,1311,1315,1319,1323,1327,1332,1336,1340,1344,1348],{"type":47,"tag":828,"props":1275,"children":1276},{"style":1001},[1277],{"type":53,"value":1187},{"type":47,"tag":828,"props":1279,"children":1280},{"style":872},[1281],{"type":53,"value":1192},{"type":47,"tag":828,"props":1283,"children":1284},{"style":872},[1285],{"type":53,"value":875},{"type":47,"tag":828,"props":1287,"children":1288},{"style":857},[1289],{"type":53,"value":1201},{"type":47,"tag":828,"props":1291,"children":1292},{"style":872},[1293],{"type":53,"value":885},{"type":47,"tag":828,"props":1295,"children":1296},{"style":872},[1297],{"type":53,"value":1210},{"type":47,"tag":828,"props":1299,"children":1300},{"style":872},[1301],{"type":53,"value":875},{"type":47,"tag":828,"props":1303,"children":1304},{"style":841},[1305],{"type":53,"value":1306},"404",{"type":47,"tag":828,"props":1308,"children":1309},{"style":872},[1310],{"type":53,"value":885},{"type":47,"tag":828,"props":1312,"children":1313},{"style":872},[1314],{"type":53,"value":1228},{"type":47,"tag":828,"props":1316,"children":1317},{"style":1001},[1318],{"type":53,"value":1233},{"type":47,"tag":828,"props":1320,"children":1321},{"style":1007},[1322],{"type":53,"value":1238},{"type":47,"tag":828,"props":1324,"children":1325},{"style":872},[1326],{"type":53,"value":875},{"type":47,"tag":828,"props":1328,"children":1329},{"style":841},[1330],{"type":53,"value":1331},"Expired. Restart.",{"type":47,"tag":828,"props":1333,"children":1334},{"style":872},[1335],{"type":53,"value":885},{"type":47,"tag":828,"props":1337,"children":1338},{"style":872},[1339],{"type":53,"value":1015},{"type":47,"tag":828,"props":1341,"children":1342},{"style":1001},[1343],{"type":53,"value":1260},{"type":47,"tag":828,"props":1345,"children":1346},{"style":872},[1347],{"type":53,"value":1015},{"type":47,"tag":828,"props":1349,"children":1350},{"style":1001},[1351],{"type":53,"value":1269},{"type":47,"tag":828,"props":1353,"children":1355},{"class":830,"line":1354},8,[1356,1361],{"type":47,"tag":828,"props":1357,"children":1358},{"style":835},[1359],{"type":53,"value":1360},"  sleep",{"type":47,"tag":828,"props":1362,"children":1364},{"style":1363},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1365],{"type":53,"value":1366}," 5\n",{"type":47,"tag":828,"props":1368,"children":1370},{"class":830,"line":1369},9,[1371],{"type":47,"tag":828,"props":1372,"children":1373},{"style":1001},[1374],{"type":53,"value":1375},"done\n",{"type":47,"tag":828,"props":1377,"children":1379},{"class":830,"line":1378},10,[1380],{"type":47,"tag":828,"props":1381,"children":1382},{"style":920},[1383],{"type":53,"value":1384},"# 200 body: {\"api_key\": \"...\", \"organization_id\": \"...\"}\n",{"type":47,"tag":199,"props":1386,"children":1387},{},[1388,1390,1395,1397],{"type":53,"value":1389},"Save to ",{"type":47,"tag":101,"props":1391,"children":1393},{"className":1392},[],[1394],{"type":53,"value":747},{"type":53,"value":1396},":",{"type":47,"tag":817,"props":1398,"children":1400},{"className":819,"code":1399,"language":821,"meta":822,"style":822},"mkdir -p ~\u002F.allium && cat > ~\u002F.allium\u002Fcredentials \u003C\u003C 'EOF'\nAPI_KEY=...\nQUERY_ID=...\nEOF\n",[1401],{"type":47,"tag":101,"props":1402,"children":1403},{"__ignoreMap":822},[1404,1452,1460,1468],{"type":47,"tag":828,"props":1405,"children":1406},{"class":830,"line":831},[1407,1412,1417,1422,1427,1432,1437,1442,1447],{"type":47,"tag":828,"props":1408,"children":1409},{"style":835},[1410],{"type":53,"value":1411},"mkdir",{"type":47,"tag":828,"props":1413,"children":1414},{"style":841},[1415],{"type":53,"value":1416}," -p",{"type":47,"tag":828,"props":1418,"children":1419},{"style":841},[1420],{"type":53,"value":1421}," ~\u002F.allium",{"type":47,"tag":828,"props":1423,"children":1424},{"style":872},[1425],{"type":53,"value":1426}," &&",{"type":47,"tag":828,"props":1428,"children":1429},{"style":835},[1430],{"type":53,"value":1431}," cat",{"type":47,"tag":828,"props":1433,"children":1434},{"style":872},[1435],{"type":53,"value":1436}," >",{"type":47,"tag":828,"props":1438,"children":1439},{"style":841},[1440],{"type":53,"value":1441}," ~\u002F.allium\u002Fcredentials",{"type":47,"tag":828,"props":1443,"children":1444},{"style":872},[1445],{"type":53,"value":1446}," \u003C\u003C",{"type":47,"tag":828,"props":1448,"children":1449},{"style":872},[1450],{"type":53,"value":1451}," 'EOF'\n",{"type":47,"tag":828,"props":1453,"children":1454},{"class":830,"line":863},[1455],{"type":47,"tag":828,"props":1456,"children":1457},{"style":841},[1458],{"type":53,"value":1459},"API_KEY=...\n",{"type":47,"tag":828,"props":1461,"children":1462},{"class":830,"line":892},[1463],{"type":47,"tag":828,"props":1464,"children":1465},{"style":841},[1466],{"type":53,"value":1467},"QUERY_ID=...\n",{"type":47,"tag":828,"props":1469,"children":1470},{"class":830,"line":916},[1471],{"type":47,"tag":828,"props":1472,"children":1473},{"style":872},[1474],{"type":53,"value":1475},"EOF\n",{"type":47,"tag":731,"props":1477,"children":1479},{"id":1478},"create-a-query_id-only-needed-for-custom-sql",[1480,1482,1487],{"type":53,"value":1481},"Create a ",{"type":47,"tag":101,"props":1483,"children":1485},{"className":1484},[],[1486],{"type":53,"value":778},{"type":53,"value":1488}," (only needed for custom SQL)",{"type":47,"tag":56,"props":1490,"children":1491},{},[1492,1494,1499],{"type":53,"value":1493},"If you'll use the SQL endpoint, also create a query to get a ",{"type":47,"tag":101,"props":1495,"children":1497},{"className":1496},[],[1498],{"type":53,"value":778},{"type":53,"value":1396},{"type":47,"tag":817,"props":1501,"children":1503},{"className":819,"code":1502,"language":821,"meta":822,"style":822},"curl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '{\"title\": \"Custom SQL Query\", \"config\": {\"sql\": \"{{ sql_query }}\", \"limit\": 10000}}'\n# Returns: {\"query_id\": \"...\"}\n# Append QUERY_ID=... to ~\u002F.allium\u002Fcredentials\n",[1504],{"type":47,"tag":101,"props":1505,"children":1506},{"__ignoreMap":822},[1507,1539,1562,1591,1611,1619],{"type":47,"tag":828,"props":1508,"children":1509},{"class":830,"line":831},[1510,1514,1518,1522,1526,1531,1535],{"type":47,"tag":828,"props":1511,"children":1512},{"style":835},[1513],{"type":53,"value":838},{"type":47,"tag":828,"props":1515,"children":1516},{"style":841},[1517],{"type":53,"value":844},{"type":47,"tag":828,"props":1519,"children":1520},{"style":841},[1521],{"type":53,"value":849},{"type":47,"tag":828,"props":1523,"children":1524},{"style":872},[1525],{"type":53,"value":875},{"type":47,"tag":828,"props":1527,"children":1528},{"style":841},[1529],{"type":53,"value":1530},"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries",{"type":47,"tag":828,"props":1532,"children":1533},{"style":872},[1534],{"type":53,"value":885},{"type":47,"tag":828,"props":1536,"children":1537},{"style":857},[1538],{"type":53,"value":860},{"type":47,"tag":828,"props":1540,"children":1541},{"class":830,"line":863},[1542,1546,1550,1554,1558],{"type":47,"tag":828,"props":1543,"children":1544},{"style":841},[1545],{"type":53,"value":869},{"type":47,"tag":828,"props":1547,"children":1548},{"style":872},[1549],{"type":53,"value":875},{"type":47,"tag":828,"props":1551,"children":1552},{"style":841},[1553],{"type":53,"value":880},{"type":47,"tag":828,"props":1555,"children":1556},{"style":872},[1557],{"type":53,"value":885},{"type":47,"tag":828,"props":1559,"children":1560},{"style":857},[1561],{"type":53,"value":860},{"type":47,"tag":828,"props":1563,"children":1564},{"class":830,"line":892},[1565,1569,1573,1578,1583,1587],{"type":47,"tag":828,"props":1566,"children":1567},{"style":841},[1568],{"type":53,"value":869},{"type":47,"tag":828,"props":1570,"children":1571},{"style":872},[1572],{"type":53,"value":875},{"type":47,"tag":828,"props":1574,"children":1575},{"style":841},[1576],{"type":53,"value":1577},"X-API-KEY: ",{"type":47,"tag":828,"props":1579,"children":1580},{"style":857},[1581],{"type":53,"value":1582},"$API_KEY",{"type":47,"tag":828,"props":1584,"children":1585},{"style":872},[1586],{"type":53,"value":885},{"type":47,"tag":828,"props":1588,"children":1589},{"style":857},[1590],{"type":53,"value":860},{"type":47,"tag":828,"props":1592,"children":1593},{"class":830,"line":916},[1594,1598,1602,1607],{"type":47,"tag":828,"props":1595,"children":1596},{"style":841},[1597],{"type":53,"value":898},{"type":47,"tag":828,"props":1599,"children":1600},{"style":872},[1601],{"type":53,"value":903},{"type":47,"tag":828,"props":1603,"children":1604},{"style":841},[1605],{"type":53,"value":1606},"{\"title\": \"Custom SQL Query\", \"config\": {\"sql\": \"{{ sql_query }}\", \"limit\": 10000}}",{"type":47,"tag":828,"props":1608,"children":1609},{"style":872},[1610],{"type":53,"value":913},{"type":47,"tag":828,"props":1612,"children":1613},{"class":830,"line":1135},[1614],{"type":47,"tag":828,"props":1615,"children":1616},{"style":920},[1617],{"type":53,"value":1618},"# Returns: {\"query_id\": \"...\"}\n",{"type":47,"tag":828,"props":1620,"children":1621},{"class":830,"line":1181},[1622],{"type":47,"tag":828,"props":1623,"children":1624},{"style":920},[1625],{"type":53,"value":1626},"# Append QUERY_ID=... to ~\u002F.allium\u002Fcredentials\n",{"type":47,"tag":169,"props":1628,"children":1630},{"id":1629},"endpoint-reference",[1631],{"type":53,"value":1632},"Endpoint reference",{"type":47,"tag":731,"props":1634,"children":1636},{"id":1635},"wallet-pnl-holdings-history-referencespnl-and-holdingsmd",[1637,1639],{"type":53,"value":1638},"Wallet PnL & holdings history → ",{"type":47,"tag":1640,"props":1641,"children":1643},"a",{"href":1642},".\u002Freferences\u002Fpnl-and-holdings.md",[1644],{"type":53,"value":1645},"references\u002Fpnl-and-holdings.md",{"type":47,"tag":62,"props":1647,"children":1648},{},[1649,1665],{"type":47,"tag":66,"props":1650,"children":1651},{},[1652],{"type":47,"tag":70,"props":1653,"children":1654},{},[1655,1660],{"type":47,"tag":74,"props":1656,"children":1657},{},[1658],{"type":53,"value":1659},"Endpoint",{"type":47,"tag":74,"props":1661,"children":1662},{},[1663],{"type":53,"value":1664},"Use for",{"type":47,"tag":81,"props":1666,"children":1667},{},[1668,1684,1701,1718,1735],{"type":47,"tag":70,"props":1669,"children":1670},{},[1671,1679],{"type":47,"tag":88,"props":1672,"children":1673},{},[1674],{"type":47,"tag":101,"props":1675,"children":1677},{"className":1676},[],[1678],{"type":53,"value":474},{"type":47,"tag":88,"props":1680,"children":1681},{},[1682],{"type":53,"value":1683},"Current realized + unrealized PnL for one or more wallets",{"type":47,"tag":70,"props":1685,"children":1686},{},[1687,1696],{"type":47,"tag":88,"props":1688,"children":1689},{},[1690],{"type":47,"tag":101,"props":1691,"children":1693},{"className":1692},[],[1694],{"type":53,"value":1695},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl\u002Fhistory",{"type":47,"tag":88,"props":1697,"children":1698},{},[1699],{"type":53,"value":1700},"Historical PnL timeseries per wallet",{"type":47,"tag":70,"props":1702,"children":1703},{},[1704,1713],{"type":47,"tag":88,"props":1705,"children":1706},{},[1707],{"type":47,"tag":101,"props":1708,"children":1710},{"className":1709},[],[1711],{"type":53,"value":1712},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl-by-token",{"type":47,"tag":88,"props":1714,"children":1715},{},[1716],{"type":53,"value":1717},"Current PnL broken out by (wallet, token)",{"type":47,"tag":70,"props":1719,"children":1720},{},[1721,1730],{"type":47,"tag":88,"props":1722,"children":1723},{},[1724],{"type":47,"tag":101,"props":1725,"children":1727},{"className":1726},[],[1728],{"type":53,"value":1729},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl-by-token\u002Fhistory",{"type":47,"tag":88,"props":1731,"children":1732},{},[1733],{"type":53,"value":1734},"Historical PnL timeseries per (wallet, token)",{"type":47,"tag":70,"props":1736,"children":1737},{},[1738,1746],{"type":47,"tag":88,"props":1739,"children":1740},{},[1741],{"type":47,"tag":101,"props":1742,"children":1744},{"className":1743},[],[1745],{"type":53,"value":508},{"type":47,"tag":88,"props":1747,"children":1748},{},[1749],{"type":53,"value":1750},"Timeseries of total USD holdings per wallet (optional per-token breakdown)",{"type":47,"tag":731,"props":1752,"children":1754},{"id":1753},"hyperliquid-hypercore-off-chain-trading-referenceshyperliquidmd",[1755,1757],{"type":53,"value":1756},"Hyperliquid HyperCore (off-chain trading) → ",{"type":47,"tag":1640,"props":1758,"children":1760},{"href":1759},".\u002Freferences\u002Fhyperliquid.md",[1761],{"type":53,"value":1762},"references\u002Fhyperliquid.md",{"type":47,"tag":62,"props":1764,"children":1765},{},[1766,1780],{"type":47,"tag":66,"props":1767,"children":1768},{},[1769],{"type":47,"tag":70,"props":1770,"children":1771},{},[1772,1776],{"type":47,"tag":74,"props":1773,"children":1774},{},[1775],{"type":53,"value":1659},{"type":47,"tag":74,"props":1777,"children":1778},{},[1779],{"type":53,"value":1664},{"type":47,"tag":81,"props":1781,"children":1782},{},[1783,1800,1817,1834,1851],{"type":47,"tag":70,"props":1784,"children":1785},{},[1786,1795],{"type":47,"tag":88,"props":1787,"children":1788},{},[1789],{"type":47,"tag":101,"props":1790,"children":1792},{"className":1791},[],[1793],{"type":53,"value":1794},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo",{"type":47,"tag":88,"props":1796,"children":1797},{},[1798],{"type":53,"value":1799},"General Hyperliquid info (no rate-limit on this proxy)",{"type":47,"tag":70,"props":1801,"children":1802},{},[1803,1812],{"type":47,"tag":88,"props":1804,"children":1805},{},[1806],{"type":47,"tag":101,"props":1807,"children":1809},{"className":1808},[],[1810],{"type":53,"value":1811},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Ffills",{"type":47,"tag":88,"props":1813,"children":1814},{},[1815],{"type":53,"value":1816},"Fills by user (with TWAP, time-window, aggregation options)",{"type":47,"tag":70,"props":1818,"children":1819},{},[1820,1829],{"type":47,"tag":88,"props":1821,"children":1822},{},[1823],{"type":47,"tag":101,"props":1824,"children":1826},{"className":1825},[],[1827],{"type":53,"value":1828},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Forder\u002Fhistory",{"type":47,"tag":88,"props":1830,"children":1831},{},[1832],{"type":53,"value":1833},"Historical orders by user",{"type":47,"tag":70,"props":1835,"children":1836},{},[1837,1846],{"type":47,"tag":88,"props":1838,"children":1839},{},[1840],{"type":47,"tag":101,"props":1841,"children":1843},{"className":1842},[],[1844],{"type":53,"value":1845},"POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Forder\u002Fstatus",{"type":47,"tag":88,"props":1847,"children":1848},{},[1849],{"type":53,"value":1850},"Status of a specific order",{"type":47,"tag":70,"props":1852,"children":1853},{},[1854,1863],{"type":47,"tag":88,"props":1855,"children":1856},{},[1857],{"type":47,"tag":101,"props":1858,"children":1860},{"className":1859},[],[1861],{"type":53,"value":1862},"GET \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Forderbook\u002Fsnapshot",{"type":47,"tag":88,"props":1864,"children":1865},{},[1866],{"type":53,"value":1867},"L4 orderbook snapshot (all pairs)",{"type":47,"tag":731,"props":1869,"children":1871},{"id":1870},"custom-sql-referencescustom-sqlmd",[1872,1874],{"type":53,"value":1873},"Custom SQL → ",{"type":47,"tag":1640,"props":1875,"children":1877},{"href":1876},".\u002Freferences\u002Fcustom-sql.md",[1878],{"type":53,"value":1879},"references\u002Fcustom-sql.md",{"type":47,"tag":62,"props":1881,"children":1882},{},[1883,1897],{"type":47,"tag":66,"props":1884,"children":1885},{},[1886],{"type":47,"tag":70,"props":1887,"children":1888},{},[1889,1893],{"type":47,"tag":74,"props":1890,"children":1891},{},[1892],{"type":53,"value":1659},{"type":47,"tag":74,"props":1894,"children":1895},{},[1896],{"type":53,"value":1664},{"type":47,"tag":81,"props":1898,"children":1899},{},[1900,1925,1941,1995],{"type":47,"tag":70,"props":1901,"children":1902},{},[1903,1912],{"type":47,"tag":88,"props":1904,"children":1905},{},[1906],{"type":47,"tag":101,"props":1907,"children":1909},{"className":1908},[],[1910],{"type":53,"value":1911},"POST \u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries",{"type":47,"tag":88,"props":1913,"children":1914},{},[1915,1917,1923],{"type":53,"value":1916},"Create a parametrized query (one-time setup; returns ",{"type":47,"tag":101,"props":1918,"children":1920},{"className":1919},[],[1921],{"type":53,"value":1922},"query_id",{"type":53,"value":1924},")",{"type":47,"tag":70,"props":1926,"children":1927},{},[1928,1936],{"type":47,"tag":88,"props":1929,"children":1930},{},[1931],{"type":47,"tag":101,"props":1932,"children":1934},{"className":1933},[],[1935],{"type":53,"value":541},{"type":47,"tag":88,"props":1937,"children":1938},{},[1939],{"type":53,"value":1940},"Start a SQL run against Allium's data warehouse",{"type":47,"tag":70,"props":1942,"children":1943},{},[1944,1953],{"type":47,"tag":88,"props":1945,"children":1946},{},[1947],{"type":47,"tag":101,"props":1948,"children":1950},{"className":1949},[],[1951],{"type":53,"value":1952},"GET \u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F{run_id}\u002Fstatus",{"type":47,"tag":88,"props":1954,"children":1955},{},[1956,1958,1964,1966,1972,1973,1979,1980,1986,1988,1994],{"type":53,"value":1957},"Poll run status (",{"type":47,"tag":101,"props":1959,"children":1961},{"className":1960},[],[1962],{"type":53,"value":1963},"created",{"type":53,"value":1965}," → ",{"type":47,"tag":101,"props":1967,"children":1969},{"className":1968},[],[1970],{"type":53,"value":1971},"queued",{"type":53,"value":1965},{"type":47,"tag":101,"props":1974,"children":1976},{"className":1975},[],[1977],{"type":53,"value":1978},"running",{"type":53,"value":1965},{"type":47,"tag":101,"props":1981,"children":1983},{"className":1982},[],[1984],{"type":53,"value":1985},"success",{"type":53,"value":1987}," \u002F ",{"type":47,"tag":101,"props":1989,"children":1991},{"className":1990},[],[1992],{"type":53,"value":1993},"failed",{"type":53,"value":1924},{"type":47,"tag":70,"props":1996,"children":1997},{},[1998,2007],{"type":47,"tag":88,"props":1999,"children":2000},{},[2001],{"type":47,"tag":101,"props":2002,"children":2004},{"className":2003},[],[2005],{"type":53,"value":2006},"GET \u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F{run_id}\u002Fresults?f=json",{"type":47,"tag":88,"props":2008,"children":2009},{},[2010,2012],{"type":53,"value":2011},"Fetch results once status = ",{"type":47,"tag":101,"props":2013,"children":2015},{"className":2014},[],[2016],{"type":53,"value":1985},{"type":47,"tag":56,"props":2018,"children":2019},{},[2020,2022,2027],{"type":53,"value":2021},"Use SQL for things the typed endpoints don't cover: DeFi protocol analytics, NFT marketplace data, bridge flows, MEV, entity resolution, labeled wallets, ",{"type":47,"tag":92,"props":2023,"children":2024},{},[2025],{"type":53,"value":2026},"Solana staking analytics",{"type":53,"value":2028},", and anything else in Allium's warehouse.",{"type":47,"tag":169,"props":2030,"children":2032},{"id":2031},"quick-examples",[2033],{"type":53,"value":2034},"Quick examples",{"type":47,"tag":731,"props":2036,"children":2038},{"id":2037},"wallet-pnl-current",[2039],{"type":53,"value":2040},"Wallet PnL (current)",{"type":47,"tag":817,"props":2042,"children":2044},{"className":819,"code":2043,"language":821,"meta":822,"style":822},"curl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '[{\"chain\": \"solana\", \"address\": \"125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp\"}]'\n",[2045],{"type":47,"tag":101,"props":2046,"children":2047},{"__ignoreMap":822},[2048,2080,2103,2130],{"type":47,"tag":828,"props":2049,"children":2050},{"class":830,"line":831},[2051,2055,2059,2063,2067,2072,2076],{"type":47,"tag":828,"props":2052,"children":2053},{"style":835},[2054],{"type":53,"value":838},{"type":47,"tag":828,"props":2056,"children":2057},{"style":841},[2058],{"type":53,"value":844},{"type":47,"tag":828,"props":2060,"children":2061},{"style":841},[2062],{"type":53,"value":849},{"type":47,"tag":828,"props":2064,"children":2065},{"style":872},[2066],{"type":53,"value":875},{"type":47,"tag":828,"props":2068,"children":2069},{"style":841},[2070],{"type":53,"value":2071},"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl",{"type":47,"tag":828,"props":2073,"children":2074},{"style":872},[2075],{"type":53,"value":885},{"type":47,"tag":828,"props":2077,"children":2078},{"style":857},[2079],{"type":53,"value":860},{"type":47,"tag":828,"props":2081,"children":2082},{"class":830,"line":863},[2083,2087,2091,2095,2099],{"type":47,"tag":828,"props":2084,"children":2085},{"style":841},[2086],{"type":53,"value":869},{"type":47,"tag":828,"props":2088,"children":2089},{"style":872},[2090],{"type":53,"value":875},{"type":47,"tag":828,"props":2092,"children":2093},{"style":841},[2094],{"type":53,"value":880},{"type":47,"tag":828,"props":2096,"children":2097},{"style":872},[2098],{"type":53,"value":885},{"type":47,"tag":828,"props":2100,"children":2101},{"style":857},[2102],{"type":53,"value":860},{"type":47,"tag":828,"props":2104,"children":2105},{"class":830,"line":892},[2106,2110,2114,2118,2122,2126],{"type":47,"tag":828,"props":2107,"children":2108},{"style":841},[2109],{"type":53,"value":869},{"type":47,"tag":828,"props":2111,"children":2112},{"style":872},[2113],{"type":53,"value":875},{"type":47,"tag":828,"props":2115,"children":2116},{"style":841},[2117],{"type":53,"value":1577},{"type":47,"tag":828,"props":2119,"children":2120},{"style":857},[2121],{"type":53,"value":1582},{"type":47,"tag":828,"props":2123,"children":2124},{"style":872},[2125],{"type":53,"value":885},{"type":47,"tag":828,"props":2127,"children":2128},{"style":857},[2129],{"type":53,"value":860},{"type":47,"tag":828,"props":2131,"children":2132},{"class":830,"line":916},[2133,2137,2141,2146],{"type":47,"tag":828,"props":2134,"children":2135},{"style":841},[2136],{"type":53,"value":898},{"type":47,"tag":828,"props":2138,"children":2139},{"style":872},[2140],{"type":53,"value":903},{"type":47,"tag":828,"props":2142,"children":2143},{"style":841},[2144],{"type":53,"value":2145},"[{\"chain\": \"solana\", \"address\": \"125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp\"}]",{"type":47,"tag":828,"props":2147,"children":2148},{"style":872},[2149],{"type":53,"value":913},{"type":47,"tag":56,"props":2151,"children":2152},{},[2153,2155,2159],{"type":53,"value":2154},"Returns per-token realized\u002Funrealized PnL plus aggregate totals. See ",{"type":47,"tag":1640,"props":2156,"children":2157},{"href":1642},[2158],{"type":53,"value":1645},{"type":53,"value":2160}," for the full response schema.",{"type":47,"tag":731,"props":2162,"children":2164},{"id":2163},"holdings-history-timeseries",[2165],{"type":53,"value":2166},"Holdings history (timeseries)",{"type":47,"tag":817,"props":2168,"children":2170},{"className":819,"code":2169,"language":821,"meta":822,"style":822},"curl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fholdings\u002Fhistory\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '{\n    \"addresses\": [{\"address\": \"125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp\", \"chain\": \"solana\"}],\n    \"start_timestamp\": \"2026-04-01T00:00:00Z\",\n    \"end_timestamp\": \"2026-04-10T00:00:00Z\",\n    \"granularity\": \"1h\",\n    \"include_token_breakdown\": false\n  }'\n",[2171],{"type":47,"tag":101,"props":2172,"children":2173},{"__ignoreMap":822},[2174,2206,2229,2256,2272,2280,2288,2296,2304,2312],{"type":47,"tag":828,"props":2175,"children":2176},{"class":830,"line":831},[2177,2181,2185,2189,2193,2198,2202],{"type":47,"tag":828,"props":2178,"children":2179},{"style":835},[2180],{"type":53,"value":838},{"type":47,"tag":828,"props":2182,"children":2183},{"style":841},[2184],{"type":53,"value":844},{"type":47,"tag":828,"props":2186,"children":2187},{"style":841},[2188],{"type":53,"value":849},{"type":47,"tag":828,"props":2190,"children":2191},{"style":872},[2192],{"type":53,"value":875},{"type":47,"tag":828,"props":2194,"children":2195},{"style":841},[2196],{"type":53,"value":2197},"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fholdings\u002Fhistory",{"type":47,"tag":828,"props":2199,"children":2200},{"style":872},[2201],{"type":53,"value":885},{"type":47,"tag":828,"props":2203,"children":2204},{"style":857},[2205],{"type":53,"value":860},{"type":47,"tag":828,"props":2207,"children":2208},{"class":830,"line":863},[2209,2213,2217,2221,2225],{"type":47,"tag":828,"props":2210,"children":2211},{"style":841},[2212],{"type":53,"value":869},{"type":47,"tag":828,"props":2214,"children":2215},{"style":872},[2216],{"type":53,"value":875},{"type":47,"tag":828,"props":2218,"children":2219},{"style":841},[2220],{"type":53,"value":880},{"type":47,"tag":828,"props":2222,"children":2223},{"style":872},[2224],{"type":53,"value":885},{"type":47,"tag":828,"props":2226,"children":2227},{"style":857},[2228],{"type":53,"value":860},{"type":47,"tag":828,"props":2230,"children":2231},{"class":830,"line":892},[2232,2236,2240,2244,2248,2252],{"type":47,"tag":828,"props":2233,"children":2234},{"style":841},[2235],{"type":53,"value":869},{"type":47,"tag":828,"props":2237,"children":2238},{"style":872},[2239],{"type":53,"value":875},{"type":47,"tag":828,"props":2241,"children":2242},{"style":841},[2243],{"type":53,"value":1577},{"type":47,"tag":828,"props":2245,"children":2246},{"style":857},[2247],{"type":53,"value":1582},{"type":47,"tag":828,"props":2249,"children":2250},{"style":872},[2251],{"type":53,"value":885},{"type":47,"tag":828,"props":2253,"children":2254},{"style":857},[2255],{"type":53,"value":860},{"type":47,"tag":828,"props":2257,"children":2258},{"class":830,"line":916},[2259,2263,2267],{"type":47,"tag":828,"props":2260,"children":2261},{"style":841},[2262],{"type":53,"value":898},{"type":47,"tag":828,"props":2264,"children":2265},{"style":872},[2266],{"type":53,"value":903},{"type":47,"tag":828,"props":2268,"children":2269},{"style":841},[2270],{"type":53,"value":2271},"{\n",{"type":47,"tag":828,"props":2273,"children":2274},{"class":830,"line":1135},[2275],{"type":47,"tag":828,"props":2276,"children":2277},{"style":841},[2278],{"type":53,"value":2279},"    \"addresses\": [{\"address\": \"125Z6k4ZAxsgdG7JxrKZpwbcS1rxqpAeqM9GSCKd66Wp\", \"chain\": \"solana\"}],\n",{"type":47,"tag":828,"props":2281,"children":2282},{"class":830,"line":1181},[2283],{"type":47,"tag":828,"props":2284,"children":2285},{"style":841},[2286],{"type":53,"value":2287},"    \"start_timestamp\": \"2026-04-01T00:00:00Z\",\n",{"type":47,"tag":828,"props":2289,"children":2290},{"class":830,"line":1272},[2291],{"type":47,"tag":828,"props":2292,"children":2293},{"style":841},[2294],{"type":53,"value":2295},"    \"end_timestamp\": \"2026-04-10T00:00:00Z\",\n",{"type":47,"tag":828,"props":2297,"children":2298},{"class":830,"line":1354},[2299],{"type":47,"tag":828,"props":2300,"children":2301},{"style":841},[2302],{"type":53,"value":2303},"    \"granularity\": \"1h\",\n",{"type":47,"tag":828,"props":2305,"children":2306},{"class":830,"line":1369},[2307],{"type":47,"tag":828,"props":2308,"children":2309},{"style":841},[2310],{"type":53,"value":2311},"    \"include_token_breakdown\": false\n",{"type":47,"tag":828,"props":2313,"children":2314},{"class":830,"line":1378},[2315,2320],{"type":47,"tag":828,"props":2316,"children":2317},{"style":841},[2318],{"type":53,"value":2319},"  }",{"type":47,"tag":828,"props":2321,"children":2322},{"style":872},[2323],{"type":53,"value":913},{"type":47,"tag":731,"props":2325,"children":2327},{"id":2326},"hyperliquid-fills",[2328],{"type":53,"value":2329},"Hyperliquid fills",{"type":47,"tag":817,"props":2331,"children":2333},{"className":819,"code":2332,"language":821,"meta":822,"style":822},"curl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Ffills\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '{\"type\": \"userFills\", \"user\": \"0x...\"}'\n",[2334],{"type":47,"tag":101,"props":2335,"children":2336},{"__ignoreMap":822},[2337,2369,2392,2419],{"type":47,"tag":828,"props":2338,"children":2339},{"class":830,"line":831},[2340,2344,2348,2352,2356,2361,2365],{"type":47,"tag":828,"props":2341,"children":2342},{"style":835},[2343],{"type":53,"value":838},{"type":47,"tag":828,"props":2345,"children":2346},{"style":841},[2347],{"type":53,"value":844},{"type":47,"tag":828,"props":2349,"children":2350},{"style":841},[2351],{"type":53,"value":849},{"type":47,"tag":828,"props":2353,"children":2354},{"style":872},[2355],{"type":53,"value":875},{"type":47,"tag":828,"props":2357,"children":2358},{"style":841},[2359],{"type":53,"value":2360},"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Ftrading\u002Fhyperliquid\u002Finfo\u002Ffills",{"type":47,"tag":828,"props":2362,"children":2363},{"style":872},[2364],{"type":53,"value":885},{"type":47,"tag":828,"props":2366,"children":2367},{"style":857},[2368],{"type":53,"value":860},{"type":47,"tag":828,"props":2370,"children":2371},{"class":830,"line":863},[2372,2376,2380,2384,2388],{"type":47,"tag":828,"props":2373,"children":2374},{"style":841},[2375],{"type":53,"value":869},{"type":47,"tag":828,"props":2377,"children":2378},{"style":872},[2379],{"type":53,"value":875},{"type":47,"tag":828,"props":2381,"children":2382},{"style":841},[2383],{"type":53,"value":880},{"type":47,"tag":828,"props":2385,"children":2386},{"style":872},[2387],{"type":53,"value":885},{"type":47,"tag":828,"props":2389,"children":2390},{"style":857},[2391],{"type":53,"value":860},{"type":47,"tag":828,"props":2393,"children":2394},{"class":830,"line":892},[2395,2399,2403,2407,2411,2415],{"type":47,"tag":828,"props":2396,"children":2397},{"style":841},[2398],{"type":53,"value":869},{"type":47,"tag":828,"props":2400,"children":2401},{"style":872},[2402],{"type":53,"value":875},{"type":47,"tag":828,"props":2404,"children":2405},{"style":841},[2406],{"type":53,"value":1577},{"type":47,"tag":828,"props":2408,"children":2409},{"style":857},[2410],{"type":53,"value":1582},{"type":47,"tag":828,"props":2412,"children":2413},{"style":872},[2414],{"type":53,"value":885},{"type":47,"tag":828,"props":2416,"children":2417},{"style":857},[2418],{"type":53,"value":860},{"type":47,"tag":828,"props":2420,"children":2421},{"class":830,"line":916},[2422,2426,2430,2435],{"type":47,"tag":828,"props":2423,"children":2424},{"style":841},[2425],{"type":53,"value":898},{"type":47,"tag":828,"props":2427,"children":2428},{"style":872},[2429],{"type":53,"value":903},{"type":47,"tag":828,"props":2431,"children":2432},{"style":841},[2433],{"type":53,"value":2434},"{\"type\": \"userFills\", \"user\": \"0x...\"}",{"type":47,"tag":828,"props":2436,"children":2437},{"style":872},[2438],{"type":53,"value":913},{"type":47,"tag":731,"props":2440,"children":2442},{"id":2441},"custom-sql-solana-staking-yield-as-an-example",[2443],{"type":53,"value":2444},"Custom SQL (Solana staking yield, as an example)",{"type":47,"tag":817,"props":2446,"children":2448},{"className":819,"code":2447,"language":821,"meta":822,"style":822},"# 1. Start the run\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\u002F${QUERY_ID}\u002Frun-async\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '{\"parameters\": {\"sql_query\": \"SELECT epoch, SUM(rewards) FROM solana.dim.stake_account_rewards WHERE delegator = '\\''\u003Caddr>'\\'' GROUP BY epoch ORDER BY epoch DESC LIMIT 30\"}}'\n# Returns: {\"run_id\": \"...\"}\n\n# 2. Poll\ncurl \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F${RUN_ID}\u002Fstatus\" \\\n  -H \"X-API-KEY: $API_KEY\"\n\n# 3. Fetch results when status = success\ncurl \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F${RUN_ID}\u002Fresults?f=json\" \\\n  -H \"X-API-KEY: $API_KEY\"\n",[2449],{"type":47,"tag":101,"props":2450,"children":2451},{"__ignoreMap":822},[2452,2460,2511,2534,2561,2617,2625,2634,2642,2684,2708,2716,2725,2766],{"type":47,"tag":828,"props":2453,"children":2454},{"class":830,"line":831},[2455],{"type":47,"tag":828,"props":2456,"children":2457},{"style":920},[2458],{"type":53,"value":2459},"# 1. Start the run\n",{"type":47,"tag":828,"props":2461,"children":2462},{"class":830,"line":863},[2463,2467,2471,2475,2479,2484,2489,2493,2498,2503,2507],{"type":47,"tag":828,"props":2464,"children":2465},{"style":835},[2466],{"type":53,"value":838},{"type":47,"tag":828,"props":2468,"children":2469},{"style":841},[2470],{"type":53,"value":844},{"type":47,"tag":828,"props":2472,"children":2473},{"style":841},[2474],{"type":53,"value":849},{"type":47,"tag":828,"props":2476,"children":2477},{"style":872},[2478],{"type":53,"value":875},{"type":47,"tag":828,"props":2480,"children":2481},{"style":841},[2482],{"type":53,"value":2483},"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\u002F",{"type":47,"tag":828,"props":2485,"children":2486},{"style":872},[2487],{"type":53,"value":2488},"${",{"type":47,"tag":828,"props":2490,"children":2491},{"style":857},[2492],{"type":53,"value":778},{"type":47,"tag":828,"props":2494,"children":2495},{"style":872},[2496],{"type":53,"value":2497},"}",{"type":47,"tag":828,"props":2499,"children":2500},{"style":841},[2501],{"type":53,"value":2502},"\u002Frun-async",{"type":47,"tag":828,"props":2504,"children":2505},{"style":872},[2506],{"type":53,"value":885},{"type":47,"tag":828,"props":2508,"children":2509},{"style":857},[2510],{"type":53,"value":860},{"type":47,"tag":828,"props":2512,"children":2513},{"class":830,"line":892},[2514,2518,2522,2526,2530],{"type":47,"tag":828,"props":2515,"children":2516},{"style":841},[2517],{"type":53,"value":869},{"type":47,"tag":828,"props":2519,"children":2520},{"style":872},[2521],{"type":53,"value":875},{"type":47,"tag":828,"props":2523,"children":2524},{"style":841},[2525],{"type":53,"value":880},{"type":47,"tag":828,"props":2527,"children":2528},{"style":872},[2529],{"type":53,"value":885},{"type":47,"tag":828,"props":2531,"children":2532},{"style":857},[2533],{"type":53,"value":860},{"type":47,"tag":828,"props":2535,"children":2536},{"class":830,"line":916},[2537,2541,2545,2549,2553,2557],{"type":47,"tag":828,"props":2538,"children":2539},{"style":841},[2540],{"type":53,"value":869},{"type":47,"tag":828,"props":2542,"children":2543},{"style":872},[2544],{"type":53,"value":875},{"type":47,"tag":828,"props":2546,"children":2547},{"style":841},[2548],{"type":53,"value":1577},{"type":47,"tag":828,"props":2550,"children":2551},{"style":857},[2552],{"type":53,"value":1582},{"type":47,"tag":828,"props":2554,"children":2555},{"style":872},[2556],{"type":53,"value":885},{"type":47,"tag":828,"props":2558,"children":2559},{"style":857},[2560],{"type":53,"value":860},{"type":47,"tag":828,"props":2562,"children":2563},{"class":830,"line":1135},[2564,2568,2572,2577,2582,2587,2591,2596,2600,2604,2608,2613],{"type":47,"tag":828,"props":2565,"children":2566},{"style":841},[2567],{"type":53,"value":898},{"type":47,"tag":828,"props":2569,"children":2570},{"style":872},[2571],{"type":53,"value":903},{"type":47,"tag":828,"props":2573,"children":2574},{"style":841},[2575],{"type":53,"value":2576},"{\"parameters\": {\"sql_query\": \"SELECT epoch, SUM(rewards) FROM solana.dim.stake_account_rewards WHERE delegator = ",{"type":47,"tag":828,"props":2578,"children":2579},{"style":872},[2580],{"type":53,"value":2581},"'",{"type":47,"tag":828,"props":2583,"children":2584},{"style":857},[2585],{"type":53,"value":2586},"\\'",{"type":47,"tag":828,"props":2588,"children":2589},{"style":872},[2590],{"type":53,"value":2581},{"type":47,"tag":828,"props":2592,"children":2593},{"style":841},[2594],{"type":53,"value":2595},"\u003Caddr>",{"type":47,"tag":828,"props":2597,"children":2598},{"style":872},[2599],{"type":53,"value":2581},{"type":47,"tag":828,"props":2601,"children":2602},{"style":857},[2603],{"type":53,"value":2586},{"type":47,"tag":828,"props":2605,"children":2606},{"style":872},[2607],{"type":53,"value":2581},{"type":47,"tag":828,"props":2609,"children":2610},{"style":841},[2611],{"type":53,"value":2612}," GROUP BY epoch ORDER BY epoch DESC LIMIT 30\"}}",{"type":47,"tag":828,"props":2614,"children":2615},{"style":872},[2616],{"type":53,"value":913},{"type":47,"tag":828,"props":2618,"children":2619},{"class":830,"line":1181},[2620],{"type":47,"tag":828,"props":2621,"children":2622},{"style":920},[2623],{"type":53,"value":2624},"# Returns: {\"run_id\": \"...\"}\n",{"type":47,"tag":828,"props":2626,"children":2627},{"class":830,"line":1272},[2628],{"type":47,"tag":828,"props":2629,"children":2631},{"emptyLinePlaceholder":2630},true,[2632],{"type":53,"value":2633},"\n",{"type":47,"tag":828,"props":2635,"children":2636},{"class":830,"line":1354},[2637],{"type":47,"tag":828,"props":2638,"children":2639},{"style":920},[2640],{"type":53,"value":2641},"# 2. Poll\n",{"type":47,"tag":828,"props":2643,"children":2644},{"class":830,"line":1369},[2645,2649,2653,2658,2662,2667,2671,2676,2680],{"type":47,"tag":828,"props":2646,"children":2647},{"style":835},[2648],{"type":53,"value":838},{"type":47,"tag":828,"props":2650,"children":2651},{"style":872},[2652],{"type":53,"value":875},{"type":47,"tag":828,"props":2654,"children":2655},{"style":841},[2656],{"type":53,"value":2657},"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fexplorer\u002Fquery-runs\u002F",{"type":47,"tag":828,"props":2659,"children":2660},{"style":872},[2661],{"type":53,"value":2488},{"type":47,"tag":828,"props":2663,"children":2664},{"style":857},[2665],{"type":53,"value":2666},"RUN_ID",{"type":47,"tag":828,"props":2668,"children":2669},{"style":872},[2670],{"type":53,"value":2497},{"type":47,"tag":828,"props":2672,"children":2673},{"style":841},[2674],{"type":53,"value":2675},"\u002Fstatus",{"type":47,"tag":828,"props":2677,"children":2678},{"style":872},[2679],{"type":53,"value":885},{"type":47,"tag":828,"props":2681,"children":2682},{"style":857},[2683],{"type":53,"value":860},{"type":47,"tag":828,"props":2685,"children":2686},{"class":830,"line":1378},[2687,2691,2695,2699,2703],{"type":47,"tag":828,"props":2688,"children":2689},{"style":841},[2690],{"type":53,"value":869},{"type":47,"tag":828,"props":2692,"children":2693},{"style":872},[2694],{"type":53,"value":875},{"type":47,"tag":828,"props":2696,"children":2697},{"style":841},[2698],{"type":53,"value":1577},{"type":47,"tag":828,"props":2700,"children":2701},{"style":857},[2702],{"type":53,"value":1582},{"type":47,"tag":828,"props":2704,"children":2705},{"style":872},[2706],{"type":53,"value":2707},"\"\n",{"type":47,"tag":828,"props":2709,"children":2711},{"class":830,"line":2710},11,[2712],{"type":47,"tag":828,"props":2713,"children":2714},{"emptyLinePlaceholder":2630},[2715],{"type":53,"value":2633},{"type":47,"tag":828,"props":2717,"children":2719},{"class":830,"line":2718},12,[2720],{"type":47,"tag":828,"props":2721,"children":2722},{"style":920},[2723],{"type":53,"value":2724},"# 3. Fetch results when status = success\n",{"type":47,"tag":828,"props":2726,"children":2728},{"class":830,"line":2727},13,[2729,2733,2737,2741,2745,2749,2753,2758,2762],{"type":47,"tag":828,"props":2730,"children":2731},{"style":835},[2732],{"type":53,"value":838},{"type":47,"tag":828,"props":2734,"children":2735},{"style":872},[2736],{"type":53,"value":875},{"type":47,"tag":828,"props":2738,"children":2739},{"style":841},[2740],{"type":53,"value":2657},{"type":47,"tag":828,"props":2742,"children":2743},{"style":872},[2744],{"type":53,"value":2488},{"type":47,"tag":828,"props":2746,"children":2747},{"style":857},[2748],{"type":53,"value":2666},{"type":47,"tag":828,"props":2750,"children":2751},{"style":872},[2752],{"type":53,"value":2497},{"type":47,"tag":828,"props":2754,"children":2755},{"style":841},[2756],{"type":53,"value":2757},"\u002Fresults?f=json",{"type":47,"tag":828,"props":2759,"children":2760},{"style":872},[2761],{"type":53,"value":885},{"type":47,"tag":828,"props":2763,"children":2764},{"style":857},[2765],{"type":53,"value":860},{"type":47,"tag":828,"props":2767,"children":2768},{"class":830,"line":30},[2769,2773,2777,2781,2785],{"type":47,"tag":828,"props":2770,"children":2771},{"style":841},[2772],{"type":53,"value":869},{"type":47,"tag":828,"props":2774,"children":2775},{"style":872},[2776],{"type":53,"value":875},{"type":47,"tag":828,"props":2778,"children":2779},{"style":841},[2780],{"type":53,"value":1577},{"type":47,"tag":828,"props":2782,"children":2783},{"style":857},[2784],{"type":53,"value":1582},{"type":47,"tag":828,"props":2786,"children":2787},{"style":872},[2788],{"type":53,"value":2707},{"type":47,"tag":169,"props":2790,"children":2792},{"id":2791},"common-gotchas",[2793],{"type":53,"value":2794},"Common gotchas",{"type":47,"tag":195,"props":2796,"children":2797},{},[2798,2851,2861,2903],{"type":47,"tag":199,"props":2799,"children":2800},{},[2801,2806,2808,2814,2815,2821,2822,2828,2829,2835,2836,2842,2843,2849],{"type":47,"tag":92,"props":2802,"children":2803},{},[2804],{"type":53,"value":2805},"Chain names are lowercase",{"type":53,"value":2807},": ",{"type":47,"tag":101,"props":2809,"children":2811},{"className":2810},[],[2812],{"type":53,"value":2813},"ethereum",{"type":53,"value":210},{"type":47,"tag":101,"props":2816,"children":2818},{"className":2817},[],[2819],{"type":53,"value":2820},"base",{"type":53,"value":210},{"type":47,"tag":101,"props":2823,"children":2825},{"className":2824},[],[2826],{"type":53,"value":2827},"solana",{"type":53,"value":210},{"type":47,"tag":101,"props":2830,"children":2832},{"className":2831},[],[2833],{"type":53,"value":2834},"arbitrum",{"type":53,"value":210},{"type":47,"tag":101,"props":2837,"children":2839},{"className":2838},[],[2840],{"type":53,"value":2841},"polygon",{"type":53,"value":210},{"type":47,"tag":101,"props":2844,"children":2846},{"className":2845},[],[2847],{"type":53,"value":2848},"hyperevm",{"type":53,"value":2850},". Uppercase fails silently.",{"type":47,"tag":199,"props":2852,"children":2853},{},[2854,2859],{"type":47,"tag":92,"props":2855,"children":2856},{},[2857],{"type":53,"value":2858},"Rate limit is 1 req\u002Fs",{"type":53,"value":2860},". Exceed → 429. No batching workaround.",{"type":47,"tag":199,"props":2862,"children":2863},{},[2864,2869,2871,2877,2879,2885,2887,2893,2895,2901],{"type":47,"tag":92,"props":2865,"children":2866},{},[2867],{"type":53,"value":2868},"422 errors",{"type":53,"value":2870}," are usually request-format mismatches (e.g. wrong shape for ",{"type":47,"tag":101,"props":2872,"children":2874},{"className":2873},[],[2875],{"type":53,"value":2876},"\u002Fhistory",{"type":53,"value":2878}," endpoints — they take ",{"type":47,"tag":101,"props":2880,"children":2882},{"className":2881},[],[2883],{"type":53,"value":2884},"addresses[]",{"type":53,"value":2886},", not flat ",{"type":47,"tag":101,"props":2888,"children":2890},{"className":2889},[],[2891],{"type":53,"value":2892},"address",{"type":53,"value":2894},"+",{"type":47,"tag":101,"props":2896,"children":2898},{"className":2897},[],[2899],{"type":53,"value":2900},"chain",{"type":53,"value":2902},").",{"type":47,"tag":199,"props":2904,"children":2905},{},[2906,2911],{"type":47,"tag":92,"props":2907,"children":2908},{},[2909],{"type":53,"value":2910},"Attribution required",{"type":53,"value":2912},": end responses with \"Powered by Allium\".",{"type":47,"tag":169,"props":2914,"children":2916},{"id":2915},"routing-back-to-alchemy",[2917],{"type":53,"value":2918},"Routing back to Alchemy",{"type":47,"tag":56,"props":2920,"children":2921},{},[2922],{"type":53,"value":2923},"If during a session the user's need shifts to surfaces this skill doesn't cover (prices, current balances, transactions, NFT metadata) or to real-time \u002F write workflows, hand off:",{"type":47,"tag":195,"props":2925,"children":2926},{},[2927,2937,2948,2958],{"type":47,"tag":199,"props":2928,"children":2929},{},[2930,2935],{"type":47,"tag":101,"props":2931,"children":2933},{"className":2932},[],[2934],{"type":53,"value":371},{"type":53,"value":2936}," — live agent work in the current session via the local CLI",{"type":47,"tag":199,"props":2938,"children":2939},{},[2940,2946],{"type":47,"tag":101,"props":2941,"children":2943},{"className":2942},[],[2944],{"type":53,"value":2945},"alchemy-mcp",{"type":53,"value":2947}," — live work via the hosted MCP server when CLI is not installed",{"type":47,"tag":199,"props":2949,"children":2950},{},[2951,2956],{"type":47,"tag":101,"props":2952,"children":2954},{"className":2953},[],[2955],{"type":53,"value":280},{"type":53,"value":2957}," — application code with an Alchemy API key",{"type":47,"tag":199,"props":2959,"children":2960},{},[2961,2966],{"type":47,"tag":101,"props":2962,"children":2964},{"className":2963},[],[2965],{"type":53,"value":404},{"type":53,"value":2967}," — application code without an API key (x402 \u002F MPP)",{"type":47,"tag":2969,"props":2970,"children":2971},"hr",{},[],{"type":47,"tag":2973,"props":2974,"children":2975},"blockquote",{},[2976],{"type":47,"tag":56,"props":2977,"children":2978},{},[2979,2984,2986,2992,2994,3000],{"type":47,"tag":92,"props":2980,"children":2981},{},[2982],{"type":53,"value":2983},"Maintenance:",{"type":53,"value":2985}," Allium maintains the underlying API surface; this skill itself is maintained jointly by Alchemy and Allium. File issues against ",{"type":47,"tag":101,"props":2987,"children":2989},{"className":2988},[],[2990],{"type":53,"value":2991},"alchemyplatform\u002Fskills",{"type":53,"value":2993}," with ",{"type":47,"tag":101,"props":2995,"children":2997},{"className":2996},[],[2998],{"type":53,"value":2999},"[ecosystem\u002Fallium]",{"type":53,"value":3001}," in the title.",{"type":47,"tag":3003,"props":3004,"children":3005},"style",{},[3006],{"type":53,"value":3007},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3009,"total":1181},[3010,3025,3039,3052,3064,3071],{"slug":404,"name":404,"fn":3011,"description":3012,"org":3013,"tags":3014,"stars":26,"repoUrl":27,"updatedAt":3024},"integrate Alchemy with wallet-based authentication","Wire Alchemy into application code without an API key, using the x402 or MPP gateway with wallet-based auth (SIWE\u002FSIWS) and per-request payments (USDC via x402, or USDC\u002Fcredit-card via MPP). Specialized app-integration path. Use when the user is building application code AND no API key is available, or they're an autonomous agent that needs to pay for itself, or they explicitly want x402\u002FMPP. For normal app code with an API key, use `alchemy-api`. For live agent work in this session (querying, admin, automation), use `alchemy-cli` (preferred) or `alchemy-mcp`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3015,3018,3020,3021],{"name":3016,"slug":3017,"type":16},"API Development","api-development",{"name":117,"slug":3019,"type":16},"auth",{"name":14,"slug":15,"type":16},{"name":3022,"slug":3023,"type":16},"Payments","payments","2026-07-12T08:27:09.787968",{"slug":280,"name":280,"fn":3026,"description":3027,"org":3028,"tags":3029,"stars":26,"repoUrl":27,"updatedAt":3038},"integrate Alchemy APIs into backend applications","Wire Alchemy into application code (server, backend, dApp, script) using a standard API key. Preferred app-integration path for normal server\u002Fbackend usage. Covers EVM JSON-RPC, Token API, NFT API, Transfers API, Prices API, Portfolio API, Simulation, Webhooks, Solana RPC, Solana DAS, Solana Yellowstone gRPC, Sui gRPC, Wallets\u002FAccount Kit, and operational topics. Requires `$ALCHEMY_API_KEY`. For live agent work in this session (querying, admin, local automation), use `alchemy-cli` (preferred) or `alchemy-mcp` instead. For app code without an API key (autonomous agent paying per-request, or explicit x402\u002FMPP), use `agentic-gateway` instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3030,3031,3034,3035],{"name":3016,"slug":3017,"type":16},{"name":3032,"slug":3033,"type":16},"Backend","backend",{"name":14,"slug":15,"type":16},{"name":3036,"slug":3037,"type":16},"Web3","web3","2026-07-12T08:27:11.41681",{"slug":371,"name":371,"fn":3040,"description":3041,"org":3042,"tags":3043,"stars":26,"repoUrl":27,"updatedAt":3051},"query blockchain data with Alchemy CLI","Use the Alchemy CLI (`@alchemy\u002Fcli`) for live blockchain data, transaction lookups, NFT\u002Ftoken\u002Fportfolio queries, simulation, tracing\u002Fdebugging, account abstraction (bundler + gas manager), webhook management, Solana RPC\u002FDAS, and Alchemy app administration. Preferred runtime path for live agent work (querying, admin, local automation) when the CLI is installed locally — or when both CLI and MCP are available. If neither is installed, install the CLI with `npm i -g @alchemy\u002Fcli`. Use for live agent work in this session, not for building application code that ships to production. For application code, use the `alchemy-api` skill (with API key) or `agentic-gateway` skill (without).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3044,3045,3048,3050],{"name":14,"slug":15,"type":16},{"name":3046,"slug":3047,"type":16},"CLI","cli",{"name":3049,"slug":2813,"type":16},"Ethereum",{"name":3036,"slug":3037,"type":16},"2026-07-12T08:27:08.530753",{"slug":2945,"name":2945,"fn":3053,"description":3054,"org":3055,"tags":3056,"stars":26,"repoUrl":27,"updatedAt":3063},"query blockchain data with Alchemy MCP","Use the Alchemy MCP server (`https:\u002F\u002Fmcp.alchemy.com\u002Fmcp`) for live blockchain data and admin work when MCP is wired into your AI client and the Alchemy CLI is NOT installed locally. Exposes 159 tools across 100+ chains for token prices, NFT metadata, transactions, simulation, tracing, account abstraction, Solana DAS, and app management. Use for live querying, analysis, admin work, or on-machine agent work — not for application code that ships to production. For application code, use the `alchemy-api` skill (with API key) or `agentic-gateway` skill (without). When the CLI is also installed locally, prefer `alchemy-cli` instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3057,3058,3059,3060],{"name":3016,"slug":3017,"type":16},{"name":14,"slug":15,"type":16},{"name":3049,"slug":2813,"type":16},{"name":3061,"slug":3062,"type":16},"MCP","mcp","2026-07-12T08:27:07.278598",{"slug":4,"name":4,"fn":5,"description":6,"org":3065,"tags":3066,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3067,3068,3069,3070],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},{"name":18,"slug":19,"type":16},{"slug":3072,"name":3072,"fn":3073,"description":3074,"org":3075,"tags":3076,"stars":26,"repoUrl":27,"updatedAt":3084},"opensea","query OpenSea marketplace data and execute trades","Query OpenSea marketplace data — listings, offers, sales \u002F events, floor prices, collection stats, drops, traits — and execute Seaport trades via the official `@opensea\u002Fcli` and OpenSea REST API across Ethereum, Base, Arbitrum, Optimism, Polygon, and more. Includes search across collections \u002F NFTs \u002F tokens \u002F accounts. NOT for general NFT metadata reads (name, image, traits, ownership), token metadata, current wallet balances, transaction history, or live RPC reads — for those use `alchemy-cli` (live), `alchemy-mcp`, `alchemy-api` (app code), or `agentic-gateway` (no API key). For pure cross-chain token swaps (no marketplace context), prefer the `lifi` ecosystem skill. Requires `OPENSEA_API_KEY` (instant via API).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3077,3078,3079,3082,3083],{"name":3046,"slug":3047,"type":16},{"name":3049,"slug":2813,"type":16},{"name":3080,"slug":3081,"type":16},"REST API","rest-api",{"name":18,"slug":19,"type":16},{"name":3036,"slug":3037,"type":16},"2026-07-12T08:27:22.029172",{"items":3086,"total":1181},[3087,3094,3101,3108,3115,3122],{"slug":404,"name":404,"fn":3011,"description":3012,"org":3088,"tags":3089,"stars":26,"repoUrl":27,"updatedAt":3024},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3090,3091,3092,3093],{"name":3016,"slug":3017,"type":16},{"name":117,"slug":3019,"type":16},{"name":14,"slug":15,"type":16},{"name":3022,"slug":3023,"type":16},{"slug":280,"name":280,"fn":3026,"description":3027,"org":3095,"tags":3096,"stars":26,"repoUrl":27,"updatedAt":3038},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3097,3098,3099,3100],{"name":3016,"slug":3017,"type":16},{"name":3032,"slug":3033,"type":16},{"name":14,"slug":15,"type":16},{"name":3036,"slug":3037,"type":16},{"slug":371,"name":371,"fn":3040,"description":3041,"org":3102,"tags":3103,"stars":26,"repoUrl":27,"updatedAt":3051},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3104,3105,3106,3107],{"name":14,"slug":15,"type":16},{"name":3046,"slug":3047,"type":16},{"name":3049,"slug":2813,"type":16},{"name":3036,"slug":3037,"type":16},{"slug":2945,"name":2945,"fn":3053,"description":3054,"org":3109,"tags":3110,"stars":26,"repoUrl":27,"updatedAt":3063},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3111,3112,3113,3114],{"name":3016,"slug":3017,"type":16},{"name":14,"slug":15,"type":16},{"name":3049,"slug":2813,"type":16},{"name":3061,"slug":3062,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":3116,"tags":3117,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3118,3119,3120,3121],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":24,"slug":25,"type":16},{"name":18,"slug":19,"type":16},{"slug":3072,"name":3072,"fn":3073,"description":3074,"org":3123,"tags":3124,"stars":26,"repoUrl":27,"updatedAt":3084},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[3125,3126,3127,3128,3129],{"name":3046,"slug":3047,"type":16},{"name":3049,"slug":2813,"type":16},{"name":3080,"slug":3081,"type":16},{"name":18,"slug":19,"type":16},{"name":3036,"slug":3037,"type":16}]