[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H19WFC1HAJC7WKDWHG3GBA":3,"skill-same:01M6H19WFC1HAJC7WKDWHG3GBA":96},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":16,"sourceHtmlUrl":17,"categories":18,"keywords":29,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":59,"commitSha":60,"skillDirectory":61,"forksCount":62,"repositoryHtmlUrl":63,"repositoryHomepageUrl":6,"ownerHtmlUrl":64,"ownerBlogUrl":65,"ownerDescription":66,"updatedAt":67,"install":68,"resources":81},"01M6H19WFC1HAJC7WKDWHG3GBA","allium-onchain-data",null,"Query blockchain data via Allium APIs. Token prices, wallet balances, transactions, historical data. Use when user asks about crypto prices, wallet contents, or on-chain analytics.","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"MIT","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmoonpay-official-allium-onchain-data\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmoonpay-official-allium-onchain-data\u002FSKILL.md",[19,24],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000013","分析与可视化","SCENARIO","使用场景",{"categoryNo":25,"categoryName":26,"taxonomyType":27,"taxonomyTypeDesc":28},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"data","allium onchain data","onchain","allium","when","analytics","balances","blockchain-data","prices","on-chain","about","multi","via","chain","token","multi-chain","query","crypto","Wallet","use","transactions","sql","2026-11-10 10:12:30",false,"---\nname: allium-onchain-data\ndescription: >-\n  Query blockchain data via Allium APIs. Token prices, wallet balances,\n  transactions, historical data. Use when user asks about crypto prices,\n  wallet contents, or on-chain analytics.\ntags: [blockchain-data, prices, wallets, analytics, multi-chain, on-chain, sql]\n---\n\n# Allium Blockchain Data\n\n**Your job:** Get on-chain data without fumbling. Wrong endpoint = wasted call. Wrong format = 422.\n\n|                |                                          |\n| -------------- | ---------------------------------------- |\n| **Base URL**   | `https:\u002F\u002Fapi.allium.so`                  |\n| **Auth**       | `X-API-KEY: {key}` header                |\n| **Rate limit** | 1\u002Fsecond. Exceed it → 429.               |\n| **Citation**   | End with \"Powered by Allium\" — required. |\n\n---\n\n## Prerequisites\n\n- `curl` and `jq` installed\n- An Allium account — register via `\u002Fregister-v2` OAuth flow below (free tier available)\n- API key saved to `~\u002F.allium\u002Fcredentials`\n\n---\n\n## Credentials\n\nCheck `~\u002F.allium\u002Fcredentials` on every session start:\n\n**File exists with `API_KEY`** → load `API_KEY` (and `QUERY_ID` if present). Don't prompt.\n\n**File missing** → determine user state:\n\n| State                      | Action                                                                                                          |\n| -------------------------- | --------------------------------------------------------------------------------------------------------------- |\n| No API key                 | Register via `\u002Fregister-v2` OAuth flow (see below). Save `API_KEY`, then create a query for `QUERY_ID`.         |\n| Has API key from elsewhere | Tell user to write it to the file themselves (never paste keys in chat). Then create a query to get `QUERY_ID`. |\n\nSave format:\n\n```bash\nmkdir -p ~\u002F.allium && cat > ~\u002F.allium\u002Fcredentials \u003C\u003C 'EOF'\nAPI_KEY=...\nQUERY_ID=...\nEOF\nchmod 600 ~\u002F.allium\u002Fcredentials  # restrict read access to current user only\n```\n\n### Register (No API Key)\n\nOAuth flow. **5-min timeout** — complete promptly.\n\n1. **Ask** user for name and email (one prompt).\n2. **POST** to initiate:\n\n```bash\ncurl -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 user — tell them to open it and sign in with Google (must match email).\n4. **Auto-poll immediately** — don't wait for user to confirm. Start a background polling loop right after showing the URL:\n\n```bash\n# Poll every 5s until 200 or 404. Run this in background immediately.\nTOKEN=\"...\"  # 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```\n\n5. **On 200** — save `API_KEY` to `~\u002F.allium\u002Fcredentials`, then create query below for `QUERY_ID`. No user prompt needed between poll and save.\n\n### Create Query (Has API Key, No 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 to ~\u002F.allium\u002Fcredentials\n```\n\n---\n\n## Step 0: Check Supported Chains (REQUIRED)\n\nCall this **once per session** to know which chains each `\u002Fdeveloper\u002F` endpoint supports. Cache the result — it covers all endpoints. **Skip for Explorer SQL and Docs endpoints.**\n\n```bash\ncurl \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fsupported-chains\u002Frealtime-apis\u002Fsimple\"\n```\n\nReturns `{ \"\u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\": [\"ethereum\", \"solana\", ...], ... }` — a map of endpoint → supported chains. Use it to:\n\n- **Validate** the chain before calling. Wrong chain = silent empty result or error.\n- **Discover** which endpoints cover a chain the user asks about.\n\n---\n\n## Pick Your Endpoint\n\nWrong choice wastes a call. Match the task:\n\n| You need                | Hit this                                             |\n| ----------------------- | ---------------------------------------------------- |\n| Supported chains        | `GET \u002Fapi\u002Fv1\u002Fsupported-chains\u002Frealtime-apis\u002Fsimple`  |\n| Current price           | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices`                      |\n| Price at timestamp      | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\u002Fat-timestamp`         |\n| Historical OHLCV        | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\u002Fhistory`              |\n| Token stats             | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\u002Fstats`                |\n| Token info by address   | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftokens\u002Fchain-address`        |\n| List tokens             | `GET \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftokens`                       |\n| Search tokens           | `GET \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftokens\u002Fsearch`                |\n| Wallet balances         | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fbalances`             |\n| Wallet balances history | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fbalances\u002Fhistory`     |\n| Wallet transactions     | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Ftransactions`         |\n| Wallet PnL              | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl`                  |\n| Custom SQL              | `POST \u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\u002F{query_id}\u002Frun-async` |\n| Browse docs             | `GET \u002Fapi\u002Fv1\u002Fdocs\u002Fdocs\u002Fbrowse`                       |\n| Search schemas          | `GET \u002Fapi\u002Fv1\u002Fdocs\u002Fschemas\u002Fsearch`                    |\n| Browse schemas          | `GET \u002Fapi\u002Fv1\u002Fdocs\u002Fschemas\u002Fbrowse`                    |\n\n---\n\n## Common Tokens\n\nDon't guess addresses. Use these:\n\n| Token     | Chain    | Address                                       |\n| --------- | -------- | --------------------------------------------- |\n| **ETH**   | ethereum | `0x0000000000000000000000000000000000000000`  |\n| **WETH**  | ethereum | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`  |\n| **USDC**  | ethereum | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`  |\n| **USDC**  | base     | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`  |\n| **cbBTC** | ethereum | `0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf`  |\n| **SOL**   | solana   | `So11111111111111111111111111111111111111112` |\n| **HYPE**  | hyperevm | `0x5555555555555555555555555555555555555555`  |\n\n**Chain names are lowercase.** `ethereum`, `base`, `solana`, `arbitrum`, `polygon`, `hyperevm`. Uppercase fails silently.\n\n---\n\n## Quick Examples\n\n### Current Price\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '[{\"token_address\": \"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf\", \"chain\": \"ethereum\"}]'\n```\n\n### Historical Prices (Last 7 Days)\n\n**Format matters.** Not `token_address` + `chain` — use `addresses[]` array:\n\n```bash\nEND_TS=$(date +%s)\nSTART_TS=$((END_TS - 7*24*60*60))\n\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\u002Fhistory\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d \"{\\\"addresses\\\": [{\\\"token_address\\\": \\\"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf\\\", \\\"chain\\\": \\\"ethereum\\\"}], \\\"start_timestamp\\\": $START_TS, \\\"end_timestamp\\\": $END_TS, \\\"time_granularity\\\": \\\"1d\\\"}\"\n```\n\n---\n\n## Related Skills\n\n- **moonpay-check-wallet** — Check MoonPay wallet balances before querying on-chain\n- **moonpay-swap-tokens** — Act on findings by swapping tokens\n- **moonpay-x402** — Pay-per-request API access via x402 micropayments\n","# Allium Blockchain Data\n\n**Your job:** Get on-chain data without fumbling. Wrong endpoint = wasted call. Wrong format = 422.\n\n|                |                                          |\n| -------------- | ---------------------------------------- |\n| **Base URL**   | `https:\u002F\u002Fapi.allium.so`                  |\n| **Auth**       | `X-API-KEY: {key}` header                |\n| **Rate limit** | 1\u002Fsecond. Exceed it → 429.               |\n| **Citation**   | End with \"Powered by Allium\" — required. |\n\n---\n\n## Prerequisites\n\n- `curl` and `jq` installed\n- An Allium account — register via `\u002Fregister-v2` OAuth flow below (free tier available)\n- API key saved to `~\u002F.allium\u002Fcredentials`\n\n---\n\n## Credentials\n\nCheck `~\u002F.allium\u002Fcredentials` on every session start:\n\n**File exists with `API_KEY`** → load `API_KEY` (and `QUERY_ID` if present). Don't prompt.\n\n**File missing** → determine user state:\n\n| State                      | Action                                                                                                          |\n| -------------------------- | --------------------------------------------------------------------------------------------------------------- |\n| No API key                 | Register via `\u002Fregister-v2` OAuth flow (see below). Save `API_KEY`, then create a query for `QUERY_ID`.         |\n| Has API key from elsewhere | Tell user to write it to the file themselves (never paste keys in chat). Then create a query to get `QUERY_ID`. |\n\nSave format:\n\n```bash\nmkdir -p ~\u002F.allium && cat > ~\u002F.allium\u002Fcredentials \u003C\u003C 'EOF'\nAPI_KEY=...\nQUERY_ID=...\nEOF\nchmod 600 ~\u002F.allium\u002Fcredentials  # restrict read access to current user only\n```\n\n### Register (No API Key)\n\nOAuth flow. **5-min timeout** — complete promptly.\n\n1. **Ask** user for name and email (one prompt).\n2. **POST** to initiate:\n\n```bash\ncurl -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 user — tell them to open it and sign in with Google (must match email).\n4. **Auto-poll immediately** — don't wait for user to confirm. Start a background polling loop right after showing the URL:\n\n```bash\n# Poll every 5s until 200 or 404. Run this in background immediately.\nTOKEN=\"...\"  # 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```\n\n5. **On 200** — save `API_KEY` to `~\u002F.allium\u002Fcredentials`, then create query below for `QUERY_ID`. No user prompt needed between poll and save.\n\n### Create Query (Has API Key, No 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 to ~\u002F.allium\u002Fcredentials\n```\n\n---\n\n## Step 0: Check Supported Chains (REQUIRED)\n\nCall this **once per session** to know which chains each `\u002Fdeveloper\u002F` endpoint supports. Cache the result — it covers all endpoints. **Skip for Explorer SQL and Docs endpoints.**\n\n```bash\ncurl \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fsupported-chains\u002Frealtime-apis\u002Fsimple\"\n```\n\nReturns `{ \"\u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\": [\"ethereum\", \"solana\", ...], ... }` — a map of endpoint → supported chains. Use it to:\n\n- **Validate** the chain before calling. Wrong chain = silent empty result or error.\n- **Discover** which endpoints cover a chain the user asks about.\n\n---\n\n## Pick Your Endpoint\n\nWrong choice wastes a call. Match the task:\n\n| You need                | Hit this                                             |\n| ----------------------- | ---------------------------------------------------- |\n| Supported chains        | `GET \u002Fapi\u002Fv1\u002Fsupported-chains\u002Frealtime-apis\u002Fsimple`  |\n| Current price           | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices`                      |\n| Price at timestamp      | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\u002Fat-timestamp`         |\n| Historical OHLCV        | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\u002Fhistory`              |\n| Token stats             | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\u002Fstats`                |\n| Token info by address   | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftokens\u002Fchain-address`        |\n| List tokens             | `GET \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftokens`                       |\n| Search tokens           | `GET \u002Fapi\u002Fv1\u002Fdeveloper\u002Ftokens\u002Fsearch`                |\n| Wallet balances         | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fbalances`             |\n| Wallet balances history | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fbalances\u002Fhistory`     |\n| Wallet transactions     | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Ftransactions`         |\n| Wallet PnL              | `POST \u002Fapi\u002Fv1\u002Fdeveloper\u002Fwallet\u002Fpnl`                  |\n| Custom SQL              | `POST \u002Fapi\u002Fv1\u002Fexplorer\u002Fqueries\u002F{query_id}\u002Frun-async` |\n| Browse docs             | `GET \u002Fapi\u002Fv1\u002Fdocs\u002Fdocs\u002Fbrowse`                       |\n| Search schemas          | `GET \u002Fapi\u002Fv1\u002Fdocs\u002Fschemas\u002Fsearch`                    |\n| Browse schemas          | `GET \u002Fapi\u002Fv1\u002Fdocs\u002Fschemas\u002Fbrowse`                    |\n\n---\n\n## Common Tokens\n\nDon't guess addresses. Use these:\n\n| Token     | Chain    | Address                                       |\n| --------- | -------- | --------------------------------------------- |\n| **ETH**   | ethereum | `0x0000000000000000000000000000000000000000`  |\n| **WETH**  | ethereum | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`  |\n| **USDC**  | ethereum | `0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`  |\n| **USDC**  | base     | `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`  |\n| **cbBTC** | ethereum | `0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf`  |\n| **SOL**   | solana   | `So11111111111111111111111111111111111111112` |\n| **HYPE**  | hyperevm | `0x5555555555555555555555555555555555555555`  |\n\n**Chain names are lowercase.** `ethereum`, `base`, `solana`, `arbitrum`, `polygon`, `hyperevm`. Uppercase fails silently.\n\n---\n\n## Quick Examples\n\n### Current Price\n\n```bash\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d '[{\"token_address\": \"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf\", \"chain\": \"ethereum\"}]'\n```\n\n### Historical Prices (Last 7 Days)\n\n**Format matters.** Not `token_address` + `chain` — use `addresses[]` array:\n\n```bash\nEND_TS=$(date +%s)\nSTART_TS=$((END_TS - 7*24*60*60))\n\ncurl -X POST \"https:\u002F\u002Fapi.allium.so\u002Fapi\u002Fv1\u002Fdeveloper\u002Fprices\u002Fhistory\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"X-API-KEY: $API_KEY\" \\\n  -d \"{\\\"addresses\\\": [{\\\"token_address\\\": \\\"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf\\\", \\\"chain\\\": \\\"ethereum\\\"}], \\\"start_timestamp\\\": $START_TS, \\\"end_timestamp\\\": $END_TS, \\\"time_granularity\\\": \\\"1d\\\"}\"\n```\n\n---\n\n## Related Skills\n\n- **moonpay-check-wallet** — Check MoonPay wallet balances before querying on-chain\n- **moonpay-swap-tokens** — Act on findings by swapping tokens\n- **moonpay-x402** — Pay-per-request API access via x402 micropayments\n",{"name":5,"tags":57,"description":7},[37,38,58,35,45,39,51],"wallets","main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fpayments\u002Fmoonpay-official-allium-onchain-data",17,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia","https:\u002F\u002Feth2030.com","Hardcore infra. Building @alt-research and applied cryptography.","2026-11-13 02:31:19",{"source":8,"skillName":5,"commands":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill allium-onchain-data",{"tool":74,"command":75},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill allium-onchain-data",{"tool":77,"command":78},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill allium-onchain-data","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmoonpay-official-allium-onchain-data\u002FSKILL.md",true,[82,86,92],{"path":83,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":16},"LICENSE","许可证",1070,{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"SOURCE.md","REFERENCE","参考文档",151,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmoonpay-official-allium-onchain-data\u002FSOURCE.md",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"TRUST.auto.yaml",2197,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmoonpay-official-allium-onchain-data\u002FTRUST.auto.yaml",[97,125,148,164,177,187],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":101,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":52},"01M712C436EQYE43342Q4E7GG1","recipe-performance","Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold\u002Fwarm\u002Fbackground-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout\u002Fpaint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FSKILL.md",[],[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":129,"licenseFileUrl":130,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":52},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FSKILL.md",[],[134,135,136,137,138,139,140,141,142,143,144,145,146,147],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":129,"licenseFileUrl":152,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":52},"01M70XT0MBXN3WZY1BKN0CPNKR","mexc-spot-rest","MEXC Spot REST workflows for public data, signed account requests, orders, wallet\u002Fadmin actions, and secure signing without exposing API keys.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FSKILL.md",[],[156,135,157,158,159,48,160,145,144,143,161,162,30,139,163,138,137],"mexc spot rest","REST","admin","signing","requests","actions","secure","orders",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":129,"licenseFileUrl":168,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":52},"01M70XSYSVZ2N0N91XCAR2CAK0","mexc-futures-websocket","MEXC Futures WebSocket workflows for public streams, private account\u002Forder\u002Fposition streams, ping\u002Fpong, subscriptions, and depth maintenance.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FSKILL.md",[],[172,173,136,174,175,146,144,176,142,141,139,138],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":178,"name":179,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":180,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":52},"01M6H0ZWHVE5W04WG2DKQE2SQC","0xklen-version-and-refresh-sanctions-lists","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FSKILL.md",[],[184,185,186],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":191,"sourceHtmlUrl":192,"categories":193,"keywords":194,"publishedAt":52},"01M6H0Z28Q3R8J0S799GJQWXM3","verify-tests-cover-changed-lines","Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FSKILL.md",[],[195,196,197,198,199,200,201,49,202,203,204],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","code","share"]