[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MWM80GVNFG0XECSHYNTP60":3,"skill-same:01M6MWM80GVNFG0XECSHYNTP60":71},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":14,"categories":15,"keywords":21,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":6,"ownerDescription":35,"updatedAt":36,"install":37,"resources":50},"01M6MWM80GVNFG0XECSHYNTP60","agent-payment-protocol",null,"Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-payment-protocol\u002FSKILL.md",[16],{"categoryNo":17,"categoryName":18,"taxonomyType":19,"taxonomyTypeDesc":20},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[22,23,24],"protocol","payment","agent payment protocol","2026-11-10 10:12:30",false,"# Agent Payment Protocol Skill\n\n**Description:** Orchestrate agent-to-agent payments in IRC channels using Solana transactions.\n\n**Location:** `\u002Froot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fagent-payment-protocol`\n\n---\n\n## Overview\n\nEnable this flow in your agent ecosystem:\n\n1. **Cheap agent** asks an expert in IRC: `@expert, solve this problem`\n2. **Expert agent** responds with a quoted price: `Quote: 0.001 SOL [q_xyz]`\n3. **Cheap agent** approves payment via this skill\n4. **Solana transfer skill** sends the SOL on-chain\n5. Both agents maintain tamper-proof audit trail\n\n---\n\n## Setup\n\n```bash\ncd \u002Froot\u002F.openclaw\u002Fworkspace\u002Fskills\u002Fagent-payment-protocol\nnpm install\n```\n\n---\n\n## Core Functions\n\n### Expert: Create a Quote\n\n**When:** After responding to a question in IRC, offer to send the answer for payment.\n\n```javascript\nimport { createQuote } from '..\u002Fskills\u002Fagent-payment-protocol\u002Findex.js';\n\nconst quote = createQuote({\n  from: 'cheap-model-name',\n  to: 'expert-model-name',\n  channel: '#lobby',\n  question: 'What is the capital of France?',\n  answer: 'Paris',\n  price: 0.001, \u002F\u002F SOL\n});\n\n\u002F\u002F Response in IRC:\n\u002F\u002F \"Paris. Quote: 0.001 SOL [q_abc123] — Use: \u002Fpay q_abc123 to settle\"\nconsole.log(quote.message);\n```\n\nReturns:\n```\n{\n  quote_id: \"q_abc123\",\n  message: \"Quote: 0.001 SOL [q_abc123]\",\n  quote: { ... full quote object ... }\n}\n```\n\n### Cheap Agent: Approve and Prepare Payment\n\n**When:** The cheap agent accepts the expert's price and wants to pay.\n\n```javascript\nimport { approvePayment } from '..\u002Fskills\u002Fagent-payment-protocol\u002Findex.js';\n\nconst payment = approvePayment({\n  quote_id: 'q_abc123',\n  from_wallet: 'cheap-agent-solana-address',\n  to_wallet: 'expert-agent-solana-address',\n});\n\n\u002F\u002F Now send the actual SOL using solana-transfer skill:\nimport { sendSOL } from '..\u002Fskills\u002Fsolana-transfer\u002Findex.js';\n\nconst tx = await sendSOL(\n  payment.to_wallet,\n  payment.amount_lamports\n);\n\nconsole.log(`Paid expert. Tx: ${tx.signature}`);\n```\n\n### Record Successful Payment\n\n**When:** The Solana transaction is confirmed on-chain.\n\n```javascript\nimport { recordPayment } from '..\u002Fskills\u002Fagent-payment-protocol\u002Findex.js';\n\nrecordPayment({\n  payment_id: payment.id,\n  tx_hash: tx.signature,\n  confirmed: true,\n});\n\n\u002F\u002F Both agents can now log this transaction for auditing\n```\n\n### Query Payment History\n\n**When:** An agent wants to review transactions they've made or received.\n\n```javascript\nimport { getPaymentHistory } from '..\u002Fskills\u002Fagent-payment-protocol\u002Findex.js';\n\nconst history = getPaymentHistory('agent-solana-wallet-address');\n\nhistory.forEach(payment => {\n  console.log(\n    `${payment.from_wallet} paid ${payment.to_wallet} ` +\n    `${payment.amount_sol} SOL (${payment.tx_hash})`\n  );\n});\n```\n\n### View Protocol Stats\n\n```javascript\nimport { getStats } from '..\u002Fskills\u002Fagent-payment-protocol\u002Findex.js';\n\nconst stats = getStats();\nconsole.log(stats);\n\u002F\u002F {\n\u002F\u002F   total_quotes: 42,\n\u002F\u002F   quotes_settled: 38,\n\u002F\u002F   total_payments: 38,\n\u002F\u002F   payments_confirmed: 38,\n\u002F\u002F   total_volume_sol: \"0.038\"\n\u002F\u002F }\n```\n\n---\n\n## Complete Workflow Example\n\n### Step 1: Expert Responds with Quote\n\n**In #lobby IRC channel:**\n```\ncheapmodel: @expert, debug this code\nexpert: [thinking...] Here's the fix...\nexpert: [calling createQuote]\nexpert: \"Fix: replace line 42. Quote: 0.002 SOL [q_xyz789]\"\n```\n\n**Agent code (expert):**\n```javascript\nconst quote = createQuote({\n  from: 'cheapmodel',\n  to: 'expert',\n  channel: '#lobby',\n  question: 'debug this code',\n  answer: 'Fix: replace line 42',\n  price: 0.002,\n});\n\n\u002F\u002F Send IRC message\nircClient.say('#lobby', quote.message);\n```\n\n### Step 2: Cheap Agent Approves\n\n**In agent memory or logic:**\n```javascript\n\u002F\u002F Cheap agent reads IRC message, extracts quote_id from [q_xyz789]\nconst quoteId = 'q_xyz789';\n\n\u002F\u002F Approve the payment\nconst payment = approvePayment({\n  quote_id: quoteId,\n  from_wallet: 'Cheap1111111111111111111111111111',\n  to_wallet: 'Expert2222222222222222222222222222',\n});\n\n\u002F\u002F Send to IRC\nircClient.say(\n  '#lobby',\n  `Approved. Sending payment now... [${payment.id}]`\n);\n```\n\n### Step 3: Execute Solana Transaction\n\n**Still in cheap agent:**\n```javascript\nimport { sendSOL } from '..\u002Fskills\u002Fsolana-transfer\u002Findex.js';\n\ntry {\n  const tx = await sendSOL(\n    payment.to_wallet,\n    payment.amount_lamports\n  );\n\n  \u002F\u002F Record the successful transaction\n  recordPayment({\n    payment_id: payment.id,\n    tx_hash: tx.signature,\n    confirmed: true,\n  });\n\n  \u002F\u002F Notify in IRC\n  ircClient.say(\n    '#lobby',\n    `Payment sent! Tx: ${tx.signature.substring(0, 16)}...`\n  );\n} catch (error) {\n  ircClient.say('#lobby', `Payment failed: ${error.message}`);\n}\n```\n\n### Step 4: Both Agents Log and Move On\n\n**Expert logs:**\n```javascript\n\u002F\u002F Memory entry\n{\n  \"timestamp\": \"2026-02-03T20:00:00Z\",\n  \"type\": \"payment_received\",\n  \"from\": \"cheapmodel\",\n  \"amount\": \"0.002 SOL\",\n  \"tx_hash\": \"...\",\n  \"query\": \"debug this code\",\n  \"quote_id\": \"q_xyz789\"\n}\n```\n\n**Cheap agent logs:**\n```javascript\n\u002F\u002F Memory entry\n{\n  \"timestamp\": \"2026-02-03T20:00:00Z\",\n  \"type\": \"expert_query\",\n  \"to\": \"expert\",\n  \"question\": \"debug this code\",\n  \"cost\": \"0.002 SOL\",\n  \"tx_hash\": \"...\",\n  \"quote_id\": \"q_xyz789\"\n}\n```\n\n---\n\n## Data Storage\n\nThe protocol maintains two local ledgers:\n\n**`quotes.jsonl`** — All quotes (one JSON object per line)\n```json\n{\n  \"id\": \"q_xyz789\",\n  \"from\": \"cheapmodel\",\n  \"to\": \"expert\",\n  \"channel\": \"#lobby\",\n  \"question\": \"debug this code\",\n  \"answer\": \"Fix: replace line 42\",\n  \"price\": 0.002,\n  \"status\": \"settled\",\n  \"created_at\": \"2026-02-03T20:00:00Z\",\n  \"settled_at\": \"2026-02-03T20:00:05Z\"\n}\n```\n\n**`payments.jsonl`** — All payments (one JSON object per line)\n```json\n{\n  \"id\": \"p_abc123\",\n  \"quote_id\": \"q_xyz789\",\n  \"from_wallet\": \"Cheap111...\",\n  \"to_wallet\": \"Expert222...\",\n  \"amount_lamports\": 2000000,\n  \"amount_sol\": \"0.002000000\",\n  \"status\": \"confirmed\",\n  \"tx_hash\": \"...\",\n  \"created_at\": \"2026-02-03T20:00:00Z\",\n  \"confirmed_at\": \"2026-02-03T20:00:05Z\"\n}\n```\n\n---\n\n## Security & Auditing\n\n✅ **Immutable ledger** — Quotes and payments are append-only (JSONL format)\n✅ **On-chain settlement** — Final proof is the Solana tx hash\n✅ **Audit trail** — Both agents can reference quote IDs and tx hashes\n✅ **No central trust** — Payments verified by Solana blockchain\n\n**To audit:**\n```javascript\n\u002F\u002F Get all transactions for an agent\nconst history = getPaymentHistory('wallet-address');\n\n\u002F\u002F Cross-reference with blockchain\n\u002F\u002F (future: add Solana RPC query to verify tx on-chain)\n```\n\n---\n\n## Integration with Other Skills\n\n**Requires:**\n- `solana-transfer` skill (to actually send SOL)\n- `airc` skill (to participate in IRC channels)\n\n**Used by:**\n- Any agent that wants to monetize expertise\n- Any cheap agent that wants to pay for better answers\n\n---\n\n## CLI for Testing\n\n```bash\n# Create a quote\nnode index.js quote cheapagent expertmodel\n\n# Approve a payment (requires agent wallets)\nnode index.js approve q_xyz cheap.sol expert.sol\n\n# Record on-chain settlement\nnode index.js confirm p_abc txsignaturehere\n\n# View payment history\nnode index.js history CheanAgentWalletAddress\n\n# View protocol stats\nnode index.js stats\n```\n\n---\n\n## Roadmap \u002F Future Ideas\n\n- [ ] Dispute resolution (agent can contest quality)\n- [ ] Escrow pattern (payment held until work verified)\n- [ ] Bulk settlement (batch multiple payments on-chain)\n- [ ] Query marketplace (publish your expertise + pricing)\n- [ ] Reputation system (track expert quality over time)\n- [ ] Token economy (create a custom SPL token for your ecosystem)\n",{},"main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","人工智能与大型语言模型\u002Fagent-payment-protocol",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":7,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill agent-payment-protocol",{"tool":43,"command":44},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill agent-payment-protocol",{"tool":46,"command":47},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill agent-payment-protocol","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-payment-protocol\u002FSKILL.md",true,[51,57,63,67],{"path":52,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":55,"sourceHtmlUrl":56},"_meta.json","REFERENCE","参考文档",299,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-payment-protocol\u002F_meta.json",{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"index.js","SCRIPT","脚本",8336,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-payment-protocol\u002Findex.js",{"path":64,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":65,"sourceHtmlUrl":66},"package.json",365,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-payment-protocol\u002Fpackage.json",{"path":68,"resourceType":53,"resourceTypeDesc":54,"sizeBytes":69,"sourceHtmlUrl":70},"README.md",2467,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F人工智能与大型语言模型\u002Fagent-payment-protocol\u002FREADME.md",[72,96,128,139,149,179],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":25},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[74,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],"safe","ethereum","defi","Optimization","user","use","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":97,"name":98,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":110,"publishedAt":25},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[101,104,105],{"categoryNo":102,"categoryName":103,"taxonomyType":19,"taxonomyTypeDesc":20},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":17,"categoryName":18,"taxonomyType":19,"taxonomyTypeDesc":20},{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[111,112,113,114,115,116,117,81,118,85,119,120,121,122,123,124,125,126,127],"api","zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":129,"name":130,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":136,"publishedAt":25},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[133,134,135],{"categoryNo":102,"categoryName":103,"taxonomyType":19,"taxonomyTypeDesc":20},{"categoryNo":17,"categoryName":18,"taxonomyType":19,"taxonomyTypeDesc":20},{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},[111,137,138,112,113,114,115,116,117,81,118,85,120,121,122,123,124,125,126,127],"api skill","zerion api skill",{"skillNo":140,"name":141,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":147,"publishedAt":25},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[144,145,146],{"categoryNo":102,"categoryName":103,"taxonomyType":19,"taxonomyTypeDesc":20},{"categoryNo":17,"categoryName":18,"taxonomyType":19,"taxonomyTypeDesc":20},{"categoryNo":106,"categoryName":107,"taxonomyType":108,"taxonomyTypeDesc":109},[114,111,148,112,113,115,116,81,118,85,119,120,121,122,123,124,125,126,127],"zerion api mcp",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":158,"publishedAt":25},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[155],{"categoryNo":156,"categoryName":157,"taxonomyType":108,"taxonomyTypeDesc":109},"01JBSEEDCAT000000000000040","财务",[159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178],"finance","yahoo finance","forex","yahoo","yahoo finance forex","github","https","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data","for",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":25},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[185],{"categoryNo":156,"categoryName":157,"taxonomyType":108,"taxonomyTypeDesc":109},[159,160,162,187,188,189,190,191,192,170,193,194,195,196,197,198,199,200,127,177],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]