[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GRVF8RM850FAMHDQENZA2K":3,"skill-same:01M6GRVF8RM850FAMHDQENZA2K":73},{"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":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":46,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6GRVF8RM850FAMHDQENZA2K","gas",null,"Use when quoting a gas or dollar cost for a transaction or deployment, when cost is the reason to pick mainnet over an L2, when setting EIP-1559 fee fields or cutting L2 fees, or when calling Ethereum expensive or cheap. Not for non-cost chain selection (`l2s`).","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Faustintgriffith-official-gas\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"fees","when","fields","reason","for","l2s","l2","chain","transaction","deployment","calling","selection","cost","use","pick","ethereum","2026-11-10 10:12:30",false,"---\nname: gas\ndescription: Use when quoting a gas or dollar cost for a transaction or deployment, when cost is the reason to pick mainnet over an L2, when setting EIP-1559 fee fields or cutting L2 fees, or when calling Ethereum expensive or cheap. Not for non-cost chain selection (`l2s`).\n---\n\n# Gas and Chain Cost\n\nYour trained gas-price and ETH-price priors are stale. Never quote a transaction cost or exclude a chain for cost reasons without measuring the relevant chain now.\n\n```bash\n# Use the project's own RPC provider (Alchemy, Infura, QuickNode) for the chain under consideration.\ncast gas-price --rpc-url \"$MAINNET_RPC_URL\"\ncast gas-price --rpc-url \"$BASE_RPC_URL\"\n\n# No provider key yet? Public endpoints work for a one-off read, but are rate-limited.\n# Never ship them in an app. Mainnet: https:\u002F\u002Fethereum-rpc.publicnode.com  Base: https:\u002F\u002Fmainnet.base.org\n```\n\n`cast gas-price` returns the base fee plus a suggested tip — what a transaction actually pays, so it is the reading the formula below takes. `cast base-fee` returns the base fee alone; use it for setting `maxFeePerGas`, and never add a separate priority fee on top of a `gas-price` reading.\n\nDo not replace a failed lookup with a remembered number. Fetch ETH\u002FUSD live before quoting dollars: the mainnet Chainlink feed at `0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419` (`latestRoundData`, 8 decimals), or `https:\u002F\u002Fapi.coinbase.com\u002Fv2\u002Fprices\u002FETH-USD\u002Fspot`.\n\nEstimate the actual operation when possible. Otherwise state and justify the gas-used assumption:\n\n```text\n# Mainnet, and the execution half of any L2\ncost_usd = gas_used × gas_price_gwei × 1e-9 × eth_usd\n\n# On an OP-stack L2 or Base the L1 data fee is a separate component and is not in\n# gas_price. Read l1Fee off a recent receipt, or GasPriceOracle.getL1Fee at\n# 0x420000000000000000000000000000000000000F — do not estimate it.\n# Since Isthmus a chain may also charge an operator fee. It is 0 on most\n# chains; read it with GasPriceOracle.getOperatorFee(gas_used), don't hand-compute.\ncost_usd = (gas_used × gas_price_gwei × 1e-9 + l1_fee_eth + operator_fee_eth) × eth_usd\n```\n\n`cast gas-price` and `cast base-fee` print wei, not gwei — divide by 1e9. Check the converted figure back against the raw reading; a dropped or extra factor of 1e9 is the most common way a correctly measured chain still yields a stale-looking cost.\n\nChoose from the measured workload:\n\n- Keep mainnet viable for low-frequency, high-value actions unless another requirement favors an L2.\n- Prefer an L2 for high-frequency, low-value, latency-sensitive, or L2-native activity.\n- Do not choose an L2 merely because you remember mainnet gas being expensive.\n\nDerive EIP-1559 fee fields from the target chain immediately before submission. Do not hardcode them or port a mainnet priority-fee constant to an L2.\n\nFor L2 optimization, measure which component dominates before deciding what to cut: compare `gasUsed × effectiveGasPrice` against `l1Fee` on current receipts. Do not import a pre-Dencun calldata-cost assumption, and do not assume the reverse either. Non-OP-stack rollups use different fee models, so measure them independently.\n\n---\n\nBefore you finish: send a one-line note via [feedback\u002FSKILL.md](https:\u002F\u002Fethskills.com\u002Ffeedback\u002FSKILL.md) — issue or praise.\n","# Gas and Chain Cost\n\nYour trained gas-price and ETH-price priors are stale. Never quote a transaction cost or exclude a chain for cost reasons without measuring the relevant chain now.\n\n```bash\n# Use the project's own RPC provider (Alchemy, Infura, QuickNode) for the chain under consideration.\ncast gas-price --rpc-url \"$MAINNET_RPC_URL\"\ncast gas-price --rpc-url \"$BASE_RPC_URL\"\n\n# No provider key yet? Public endpoints work for a one-off read, but are rate-limited.\n# Never ship them in an app. Mainnet: https:\u002F\u002Fethereum-rpc.publicnode.com  Base: https:\u002F\u002Fmainnet.base.org\n```\n\n`cast gas-price` returns the base fee plus a suggested tip — what a transaction actually pays, so it is the reading the formula below takes. `cast base-fee` returns the base fee alone; use it for setting `maxFeePerGas`, and never add a separate priority fee on top of a `gas-price` reading.\n\nDo not replace a failed lookup with a remembered number. Fetch ETH\u002FUSD live before quoting dollars: the mainnet Chainlink feed at `0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419` (`latestRoundData`, 8 decimals), or `https:\u002F\u002Fapi.coinbase.com\u002Fv2\u002Fprices\u002FETH-USD\u002Fspot`.\n\nEstimate the actual operation when possible. Otherwise state and justify the gas-used assumption:\n\n```text\n# Mainnet, and the execution half of any L2\ncost_usd = gas_used × gas_price_gwei × 1e-9 × eth_usd\n\n# On an OP-stack L2 or Base the L1 data fee is a separate component and is not in\n# gas_price. Read l1Fee off a recent receipt, or GasPriceOracle.getL1Fee at\n# 0x420000000000000000000000000000000000000F — do not estimate it.\n# Since Isthmus a chain may also charge an operator fee. It is 0 on most\n# chains; read it with GasPriceOracle.getOperatorFee(gas_used), don't hand-compute.\ncost_usd = (gas_used × gas_price_gwei × 1e-9 + l1_fee_eth + operator_fee_eth) × eth_usd\n```\n\n`cast gas-price` and `cast base-fee` print wei, not gwei — divide by 1e9. Check the converted figure back against the raw reading; a dropped or extra factor of 1e9 is the most common way a correctly measured chain still yields a stale-looking cost.\n\nChoose from the measured workload:\n\n- Keep mainnet viable for low-frequency, high-value actions unless another requirement favors an L2.\n- Prefer an L2 for high-frequency, low-value, latency-sensitive, or L2-native activity.\n- Do not choose an L2 merely because you remember mainnet gas being expensive.\n\nDerive EIP-1559 fee fields from the target chain immediately before submission. Do not hardcode them or port a mainnet priority-fee constant to an L2.\n\nFor L2 optimization, measure which component dominates before deciding what to cut: compare `gasUsed × effectiveGasPrice` against `l1Fee` on current receipts. Do not import a pre-Dencun calldata-cost assumption, and do not assume the reverse either. Non-OP-stack rollups use different fee models, so measure them independently.\n\n---\n\nBefore you finish: send a one-line note via [feedback\u002FSKILL.md](https:\u002F\u002Fethskills.com\u002Ffeedback\u002FSKILL.md) — issue or praise.\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fdev-tools\u002Faustintgriffith-official-gas",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-14 02:27:51",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill gas",{"tool":55,"command":56},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill gas",{"tool":58,"command":59},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill gas","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Faustintgriffith-official-gas\u002FSKILL.md",true,[63,69],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"SOURCE.md","REFERENCE","参考文档",340,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Faustintgriffith-official-gas\u002FSOURCE.md",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"TRUST.auto.yaml",2250,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Faustintgriffith-official-gas\u002FTRUST.auto.yaml",[74,103,125,143,156,166],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":78,"licenseFileUrl":79,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":35},"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.","MIT","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",[],[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":107,"licenseFileUrl":108,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":35},"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",[],[112,113,114,115,116,117,118,119,120,121,23,122,123,124],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","api keys","maintenance","protobuf",{"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":107,"licenseFileUrl":129,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":35},"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",[],[133,113,134,135,136,137,138,122,23,121,139,140,141,117,142,116,115],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":107,"licenseFileUrl":147,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":35},"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",[],[151,152,114,153,154,123,23,155,120,119,117,116],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":157,"name":158,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":78,"licenseFileUrl":159,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":35},"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",[],[163,164,165],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":78,"licenseFileUrl":170,"sourceHtmlUrl":171,"categories":172,"keywords":173,"publishedAt":35},"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",[],[174,175,176,177,178,179,180,32,181,182,183],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","code","share"]