# Send Agent Payment Protocol to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agent-payment-protocol",
    "name": "Agent Payment Protocol",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/Vortitron/agent-payment-protocol",
    "canonicalUrl": "https://clawhub.ai/Vortitron/agent-payment-protocol",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/agent-payment-protocol",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-payment-protocol",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "index.js",
      "package.json"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "agent-payment-protocol",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T08:36:18.483Z",
      "expiresAt": "2026-05-06T08:36:18.483Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-payment-protocol",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-payment-protocol",
        "contentDisposition": "attachment; filename=\"agent-payment-protocol-0.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "agent-payment-protocol"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/agent-payment-protocol"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agent-payment-protocol",
    "downloadUrl": "https://openagent3.xyz/downloads/agent-payment-protocol",
    "agentUrl": "https://openagent3.xyz/skills/agent-payment-protocol/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-payment-protocol/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-payment-protocol/agent.md"
  }
}
```
## Documentation

### Agent Payment Protocol Skill

Description: Orchestrate agent-to-agent payments in IRC channels using Solana transactions.

Location: /root/.openclaw/workspace/skills/agent-payment-protocol

### Overview

Enable this flow in your agent ecosystem:

Cheap agent asks an expert in IRC: @expert, solve this problem
Expert agent responds with a quoted price: Quote: 0.001 SOL [q_xyz]
Cheap agent approves payment via this skill
Solana transfer skill sends the SOL on-chain
Both agents maintain tamper-proof audit trail

### Setup

cd /root/.openclaw/workspace/skills/agent-payment-protocol
npm install

### Expert: Create a Quote

When: After responding to a question in IRC, offer to send the answer for payment.

import { createQuote } from '../skills/agent-payment-protocol/index.js';

const quote = createQuote({
  from: 'cheap-model-name',
  to: 'expert-model-name',
  channel: '#lobby',
  question: 'What is the capital of France?',
  answer: 'Paris',
  price: 0.001, // SOL
});

// Response in IRC:
// "Paris. Quote: 0.001 SOL [q_abc123] — Use: /pay q_abc123 to settle"
console.log(quote.message);

Returns:

{
  quote_id: "q_abc123",
  message: "Quote: 0.001 SOL [q_abc123]",
  quote: { ... full quote object ... }
}

### Cheap Agent: Approve and Prepare Payment

When: The cheap agent accepts the expert's price and wants to pay.

import { approvePayment } from '../skills/agent-payment-protocol/index.js';

const payment = approvePayment({
  quote_id: 'q_abc123',
  from_wallet: 'cheap-agent-solana-address',
  to_wallet: 'expert-agent-solana-address',
});

// Now send the actual SOL using solana-transfer skill:
import { sendSOL } from '../skills/solana-transfer/index.js';

const tx = await sendSOL(
  payment.to_wallet,
  payment.amount_lamports
);

console.log(\`Paid expert. Tx: ${tx.signature}\`);

### Record Successful Payment

When: The Solana transaction is confirmed on-chain.

import { recordPayment } from '../skills/agent-payment-protocol/index.js';

recordPayment({
  payment_id: payment.id,
  tx_hash: tx.signature,
  confirmed: true,
});

// Both agents can now log this transaction for auditing

### Query Payment History

When: An agent wants to review transactions they've made or received.

import { getPaymentHistory } from '../skills/agent-payment-protocol/index.js';

const history = getPaymentHistory('agent-solana-wallet-address');

history.forEach(payment => {
  console.log(
    \`${payment.from_wallet} paid ${payment.to_wallet} \` +
    \`${payment.amount_sol} SOL (${payment.tx_hash})\`
  );
});

### View Protocol Stats

import { getStats } from '../skills/agent-payment-protocol/index.js';

const stats = getStats();
console.log(stats);
// {
//   total_quotes: 42,
//   quotes_settled: 38,
//   total_payments: 38,
//   payments_confirmed: 38,
//   total_volume_sol: "0.038"
// }

### Step 1: Expert Responds with Quote

In #lobby IRC channel:

cheapmodel: @expert, debug this code
expert: [thinking...] Here's the fix...
expert: [calling createQuote]
expert: "Fix: replace line 42. Quote: 0.002 SOL [q_xyz789]"

Agent code (expert):

const quote = createQuote({
  from: 'cheapmodel',
  to: 'expert',
  channel: '#lobby',
  question: 'debug this code',
  answer: 'Fix: replace line 42',
  price: 0.002,
});

// Send IRC message
ircClient.say('#lobby', quote.message);

### Step 2: Cheap Agent Approves

In agent memory or logic:

// Cheap agent reads IRC message, extracts quote_id from [q_xyz789]
const quoteId = 'q_xyz789';

// Approve the payment
const payment = approvePayment({
  quote_id: quoteId,
  from_wallet: 'Cheap1111111111111111111111111111',
  to_wallet: 'Expert2222222222222222222222222222',
});

// Send to IRC
ircClient.say(
  '#lobby',
  \`Approved. Sending payment now... [${payment.id}]\`
);

### Step 3: Execute Solana Transaction

Still in cheap agent:

import { sendSOL } from '../skills/solana-transfer/index.js';

try {
  const tx = await sendSOL(
    payment.to_wallet,
    payment.amount_lamports
  );

  // Record the successful transaction
  recordPayment({
    payment_id: payment.id,
    tx_hash: tx.signature,
    confirmed: true,
  });

  // Notify in IRC
  ircClient.say(
    '#lobby',
    \`Payment sent! Tx: ${tx.signature.substring(0, 16)}...\`
  );
} catch (error) {
  ircClient.say('#lobby', \`Payment failed: ${error.message}\`);
}

### Step 4: Both Agents Log and Move On

Expert logs:

// Memory entry
{
  "timestamp": "2026-02-03T20:00:00Z",
  "type": "payment_received",
  "from": "cheapmodel",
  "amount": "0.002 SOL",
  "tx_hash": "...",
  "query": "debug this code",
  "quote_id": "q_xyz789"
}

Cheap agent logs:

// Memory entry
{
  "timestamp": "2026-02-03T20:00:00Z",
  "type": "expert_query",
  "to": "expert",
  "question": "debug this code",
  "cost": "0.002 SOL",
  "tx_hash": "...",
  "quote_id": "q_xyz789"
}

### Data Storage

The protocol maintains two local ledgers:

quotes.jsonl — All quotes (one JSON object per line)

{
  "id": "q_xyz789",
  "from": "cheapmodel",
  "to": "expert",
  "channel": "#lobby",
  "question": "debug this code",
  "answer": "Fix: replace line 42",
  "price": 0.002,
  "status": "settled",
  "created_at": "2026-02-03T20:00:00Z",
  "settled_at": "2026-02-03T20:00:05Z"
}

payments.jsonl — All payments (one JSON object per line)

{
  "id": "p_abc123",
  "quote_id": "q_xyz789",
  "from_wallet": "Cheap111...",
  "to_wallet": "Expert222...",
  "amount_lamports": 2000000,
  "amount_sol": "0.002000000",
  "status": "confirmed",
  "tx_hash": "...",
  "created_at": "2026-02-03T20:00:00Z",
  "confirmed_at": "2026-02-03T20:00:05Z"
}

### Security & Auditing

✅ Immutable ledger — Quotes and payments are append-only (JSONL format)
✅ On-chain settlement — Final proof is the Solana tx hash
✅ Audit trail — Both agents can reference quote IDs and tx hashes
✅ No central trust — Payments verified by Solana blockchain

To audit:

// Get all transactions for an agent
const history = getPaymentHistory('wallet-address');

// Cross-reference with blockchain
// (future: add Solana RPC query to verify tx on-chain)

### Integration with Other Skills

Requires:

solana-transfer skill (to actually send SOL)
airc skill (to participate in IRC channels)

Used by:

Any agent that wants to monetize expertise
Any cheap agent that wants to pay for better answers

### CLI for Testing

# Create a quote
node index.js quote cheapagent expertmodel

# Approve a payment (requires agent wallets)
node index.js approve q_xyz cheap.sol expert.sol

# Record on-chain settlement
node index.js confirm p_abc txsignaturehere

# View payment history
node index.js history CheanAgentWalletAddress

# View protocol stats
node index.js stats

### Roadmap / Future Ideas

Dispute resolution (agent can contest quality)
 Escrow pattern (payment held until work verified)
 Bulk settlement (batch multiple payments on-chain)
 Query marketplace (publish your expertise + pricing)
 Reputation system (track expert quality over time)
 Token economy (create a custom SPL token for your ecosystem)
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Vortitron
- Version: 0.1.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-04-29T08:36:18.483Z
- Expires at: 2026-05-06T08:36:18.483Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/agent-payment-protocol)
- [Send to Agent page](https://openagent3.xyz/skills/agent-payment-protocol/agent)
- [JSON manifest](https://openagent3.xyz/skills/agent-payment-protocol/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/agent-payment-protocol/agent.md)
- [Download page](https://openagent3.xyz/downloads/agent-payment-protocol)