[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H1F84VK024P5FNKBM4QVZP":3,"skill-same:01M6H1F84VK024P5FNKBM4QVZP":82},{"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":19,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6H1F84VK024P5FNKBM4QVZP","mpp",null,"Machine Payments Protocol (MPP) for agent-to-service payments. Pay for APIs, LLM inference, image generation, and web search via HTTP 402. Use when asked about machine payments, paying for API calls, MPP protocol, Tempo wallet, or agent commerce.","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\u002Fpayments\u002Fmpp\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmpp\u002FSKILL.md",[],[5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"use","when","for","calls","pay","agent commerce","commerce","machine","via","generation","Wallet","image","llm inference","web search","api","Image Generation","payments","search","http","web","2026-11-10 10:12:30",false,"---\nname: mpp\ndescription: >\n  Machine Payments Protocol (MPP) for agent-to-service payments. Pay for APIs, LLM inference,\n  image generation, and web search via HTTP 402. Use when asked about machine payments,\n  paying for API calls, MPP protocol, Tempo wallet, or agent commerce.\n---\n\n# Machine Payments Protocol (MPP)\n\nThe open protocol for machine-to-machine payments. Agents pay for services in the same HTTP request — no API keys, no signups, no billing accounts.\n\n## How It Works\n\n1. Client requests a paid resource\n2. Server returns `402 Payment Required` with supported payment methods\n3. Client pays and retries with a `Credential` (proof of payment)\n4. Server verifies payment, returns the resource with a `Receipt` (proof of delivery)\n\n## Quick Start with Tempo Wallet (Recommended)\n\nPaste this into your agent to set up Tempo Wallet:\n```\nRead https:\u002F\u002Ftempo.xyz\u002FSKILL.md and set up tempo\n```\n\nOr manually:\n\n**Install CLI**:\n```\nexec command=\"curl -fsSL https:\u002F\u002Ftempo.xyz\u002Finstall | bash\"\n```\n\n**Connect wallet**:\n```\nexec command=\"tempo wallet login\"\n```\n\n**List available services**:\n```\nexec command=\"tempo wallet services\"\n```\n\n**Make a paid request**:\n```\nexec command=\"tempo request -X POST --json '{\\\"prompt\\\": \\\"a sunset over the ocean\\\"}' https:\u002F\u002Ffal.mpp.tempo.xyz\u002Ffal-ai\u002Fflux\u002Fdev\"\n```\n\n## Quick Start with mppx CLI\n\n**Install**:\n```\nexec command=\"npm install -g mppx\"\n```\n\n**Create account**:\n```\nexec command=\"mppx account create\"\n```\n\n**Make a paid request**:\n```\nexec command=\"mppx https:\u002F\u002Fmpp.dev\u002Fapi\u002Fping\u002Fpaid\"\n```\n\n## Payment Methods\n\n| Method | Type | Use Case |\n|--------|------|----------|\n| **Tempo** | Stablecoin (USDC) | Recommended. One-time charges and sessions |\n| **Stripe** | Cards, wallets | Traditional payment methods |\n| **Lightning** | Bitcoin (BOLT11) | Bitcoin payments over Lightning Network |\n| **Card** | Encrypted tokens | Direct card payments |\n| **Custom** | Build your own | Extend with custom payment flows |\n\n## Payment Intents\n\n| Intent | Description |\n|--------|-------------|\n| **Charge** | One-time payment per request |\n| **Session** | Pay-as-you-go with payment channels (low-cost, high-throughput) |\n| **Stream** | Per-token billing over Server-Sent Events |\n\n## SDKs\n\n| Language | Package | Install |\n|----------|---------|---------|\n| TypeScript | `mppx` | `npm install mppx` |\n| Python | `pympp` | `pip install pympp` |\n| Rust | `mpp` | `cargo add mpp` |\n\n## TypeScript Client Example\n\n```typescript\nimport { Mppx, Method } from 'mppx'\n\n\u002F\u002F Create payment-aware fetch\nconst mppx = await Mppx.create({\n  methods: [Method.tempo.charge(), Method.tempo.session()]\n})\n\n\u002F\u002F Fetch automatically handles 402 → pay → retry\nconst res = await fetch('https:\u002F\u002Fapi.example.com\u002Fgenerate', {\n  method: 'POST',\n  body: JSON.stringify({ prompt: 'hello' })\n})\n```\n\n## Use Cases for Agents\n\n- **Pay for LLM inference** — call LLM providers via MPP, pay per token\n- **Generate images** — request from fal.ai, pay per request\n- **Search the web** — query Parallel for real-time results, pay per query\n- **Agent-to-agent commerce** — agents pay each other for services (ERC-8183 compatible)\n- **Self-sustaining agents** — combine with stETH treasury to fund operations from yield\n\n## Integration with Ottie\n\nOttie agents can use MPP to:\n1. Pay for external API calls autonomously (LLM, image gen, search)\n2. Accept payments for Ottie's own skills as an MCP service\n3. Combine with `steth-treasury` for yield-funded autonomous spending\n4. Use `venice-private-ai` for private inference + MPP for paid public APIs\n\n## Resources\n\n- **Protocol spec**: https:\u002F\u002Fpaymentauth.org\n- **Documentation**: https:\u002F\u002Fmpp.dev\n- **Tempo Wallet**: https:\u002F\u002Fwallet.tempo.xyz\n- **SDKs**: https:\u002F\u002Fmpp.dev\u002Fsdk\n","# Machine Payments Protocol (MPP)\n\nThe open protocol for machine-to-machine payments. Agents pay for services in the same HTTP request — no API keys, no signups, no billing accounts.\n\n## How It Works\n\n1. Client requests a paid resource\n2. Server returns `402 Payment Required` with supported payment methods\n3. Client pays and retries with a `Credential` (proof of payment)\n4. Server verifies payment, returns the resource with a `Receipt` (proof of delivery)\n\n## Quick Start with Tempo Wallet (Recommended)\n\nPaste this into your agent to set up Tempo Wallet:\n```\nRead https:\u002F\u002Ftempo.xyz\u002FSKILL.md and set up tempo\n```\n\nOr manually:\n\n**Install CLI**:\n```\nexec command=\"curl -fsSL https:\u002F\u002Ftempo.xyz\u002Finstall | bash\"\n```\n\n**Connect wallet**:\n```\nexec command=\"tempo wallet login\"\n```\n\n**List available services**:\n```\nexec command=\"tempo wallet services\"\n```\n\n**Make a paid request**:\n```\nexec command=\"tempo request -X POST --json '{\\\"prompt\\\": \\\"a sunset over the ocean\\\"}' https:\u002F\u002Ffal.mpp.tempo.xyz\u002Ffal-ai\u002Fflux\u002Fdev\"\n```\n\n## Quick Start with mppx CLI\n\n**Install**:\n```\nexec command=\"npm install -g mppx\"\n```\n\n**Create account**:\n```\nexec command=\"mppx account create\"\n```\n\n**Make a paid request**:\n```\nexec command=\"mppx https:\u002F\u002Fmpp.dev\u002Fapi\u002Fping\u002Fpaid\"\n```\n\n## Payment Methods\n\n| Method | Type | Use Case |\n|--------|------|----------|\n| **Tempo** | Stablecoin (USDC) | Recommended. One-time charges and sessions |\n| **Stripe** | Cards, wallets | Traditional payment methods |\n| **Lightning** | Bitcoin (BOLT11) | Bitcoin payments over Lightning Network |\n| **Card** | Encrypted tokens | Direct card payments |\n| **Custom** | Build your own | Extend with custom payment flows |\n\n## Payment Intents\n\n| Intent | Description |\n|--------|-------------|\n| **Charge** | One-time payment per request |\n| **Session** | Pay-as-you-go with payment channels (low-cost, high-throughput) |\n| **Stream** | Per-token billing over Server-Sent Events |\n\n## SDKs\n\n| Language | Package | Install |\n|----------|---------|---------|\n| TypeScript | `mppx` | `npm install mppx` |\n| Python | `pympp` | `pip install pympp` |\n| Rust | `mpp` | `cargo add mpp` |\n\n## TypeScript Client Example\n\n```typescript\nimport { Mppx, Method } from 'mppx'\n\n\u002F\u002F Create payment-aware fetch\nconst mppx = await Mppx.create({\n  methods: [Method.tempo.charge(), Method.tempo.session()]\n})\n\n\u002F\u002F Fetch automatically handles 402 → pay → retry\nconst res = await fetch('https:\u002F\u002Fapi.example.com\u002Fgenerate', {\n  method: 'POST',\n  body: JSON.stringify({ prompt: 'hello' })\n})\n```\n\n## Use Cases for Agents\n\n- **Pay for LLM inference** — call LLM providers via MPP, pay per token\n- **Generate images** — request from fal.ai, pay per request\n- **Search the web** — query Parallel for real-time results, pay per query\n- **Agent-to-agent commerce** — agents pay each other for services (ERC-8183 compatible)\n- **Self-sustaining agents** — combine with stETH treasury to fund operations from yield\n\n## Integration with Ottie\n\nOttie agents can use MPP to:\n1. Pay for external API calls autonomously (LLM, image gen, search)\n2. Accept payments for Ottie's own skills as an MCP service\n3. Combine with `steth-treasury` for yield-funded autonomous spending\n4. Use `venice-private-ai` for private inference + MPP for paid public APIs\n\n## Resources\n\n- **Protocol spec**: https:\u002F\u002Fpaymentauth.org\n- **Documentation**: https:\u002F\u002Fmpp.dev\n- **Tempo Wallet**: https:\u002F\u002Fwallet.tempo.xyz\n- **SDKs**: https:\u002F\u002Fmpp.dev\u002Fsdk\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fpayments\u002Fmpp",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":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill mpp",{"tool":60,"command":61},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill mpp",{"tool":63,"command":64},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill mpp","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmpp\u002FSKILL.md",true,[68,72,78],{"path":69,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":16},"LICENSE","许可证",34562,{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"SOURCE.md","REFERENCE","参考文档",177,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmpp\u002FSOURCE.md",{"path":79,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":80,"sourceHtmlUrl":81},"TRUST.auto.yaml",2327,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002Fmpp\u002FTRUST.auto.yaml",[83,112,133,150,163,173],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":87,"licenseFileUrl":88,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":40},"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",[],[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":117,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":40},"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",[],[121,122,123,34,124,125,126,127,128,129,22,130,131,132],"mexc spot websocket","spot","websocket","workflows","public","listen","streams","depth","keys","api keys","maintenance","protobuf",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":137,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":40},"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",[],[141,122,142,143,144,30,145,130,22,129,146,147,148,125,149,124,34],"mexc spot rest","REST","admin","signing","requests","actions","secure","data","orders",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":154,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":40},"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",[],[158,159,123,160,161,131,22,162,128,127,125,124],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":164,"name":165,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":87,"licenseFileUrl":166,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":40},"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",[],[170,171,172],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":87,"licenseFileUrl":177,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":40},"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",[],[181,182,183,184,185,186,187,20,188,189,190],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","code","share"]