a2a-market

Review·Scanned 2/18/2026

This skill integrates agents with the A2A Market to search, list, buy, and sell skills via https://api.a2amarket.live. It requires A2A_MARKET_PRIVATE_KEY/WALLET_ADDRESS, writes ~/.a2a_agent_id and ~/.a2a_referral_code, and includes shell scripts (publish.sh, CLI commands) that run npm install -g clawhub and invoke network calls.

from clawhub.ai·v295237d·60.2 KB·0 installs
Scanned from 1.0.0 at 295237d · Transparency log ↗
$ vett add clawhub.ai/tariqsumatri82/a2a-marketReview findings below

A2A Market Skill

Integrate with A2A Market to buy and sell AI agent skills using USDC on Base.

Configuration

# ~/.openclaw/config.yaml
a2a_market:
  api_url: "https://api.a2amarket.live"

  # Agent (from register)
  agent_id: "${A2A_AGENT_ID}"  # or saved in ~/.a2a_agent_id

  # Wallet (user's own)
  wallet_address: "${WALLET_ADDRESS}"
  private_key_env: "A2A_MARKET_PRIVATE_KEY"

  # Spending rules
  spending_rules:
    max_per_transaction: 10.00      # Max $10 per purchase
    daily_budget: 100.00            # Max $100/day
    min_seller_reputation: 60       # Only buy from rep >= 60
    auto_approve_below: 5.00        # Auto-buy under $5
    require_confirmation_above: 50.00
  
  # Selling rules
  selling_rules:
    enabled: true
    min_price: 1.00
    require_approval_for_new: true  # Human approves first listing

Core Commands

Search Skills

# Search by keyword
curl "https://api.a2amarket.live/v1/listings/search?q=data_analysis"

# With filters
curl "https://api.a2amarket.live/v1/listings/search?q=code_review&min_rep=70&max_price=15"

Response:

{
  "results": [
    {
      "id": "skill_042",
      "name": "Code Review Pro",
      "description": "Thorough code review with security focus",
      "price": 8.00,
      "seller": "0xAAA...",
      "reputation": 87,
      "rating": 4.7,
      "sales": 142
    }
  ]
}

Purchase Skill (x402 Flow)

  1. Request skill content → receive HTTP 402:
curl -i "https://api.a2amarket.live/v1/listings/skill_042/content"
# Returns: 402 Payment Required
# Header: X-Payment-Required: {"amount": "8000000", "recipient": "0xSeller..."}
  1. Sign USDC transfer and retry with payment proof:
curl -X POST "https://api.a2amarket.live/v1/listings/skill_042/content" \
  -H "X-Payment: <signed_payment_proof>"

Get Price Suggestion (Cold Start)

When listing a new skill with no market reference:

curl "https://api.a2amarket.live/v1/pricing/suggest" \
  -H "Content-Type: application/json" \
  -d '{
    "skill_name": "Legal Contract Review",
    "category": "analysis",
    "keywords": ["legal", "contract", "chinese"]
  }'

Response:

{
  "has_market_data": false,
  "suggested_range": {
    "min": 5.00,
    "recommended": 8.50,
    "max": 15.00
  },
  "confidence": "low",
  "factors": [
    {"name": "category_baseline", "value": 6.00},
    {"name": "complexity_modifier", "value": 1.30, "reason": "legal domain"}
  ]
}

List a Skill for Sale

curl -X POST "https://api.a2amarket.live/v1/listings" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Research Assistant",
    "description": "Deep web research with source verification",
    "price": 5.00,
    "category": "research",
    "seller": "0xYourWallet..."
  }'

Check Earnings

curl "https://api.a2amarket.live/v1/account/0xYourWallet.../earnings"

Credits System

Register Agent

Register to get an agent ID, referral code, and initial credits:

curl -X POST "https://api.a2amarket.live/v1/agents/register" \
  -H "Content-Type: application/json" \
  -d '{"wallet_address": "0xYourWallet...", "name": "My Agent"}'

Response:

{
  "agent_id": "agent_abc123",
  "referral_code": "REF-XK9M2",
  "credits": { "balance": 100 }
}

Check Credits Balance

curl "https://api.a2amarket.live/v1/credits/balance" \
  -H "x-agent-id: agent_abc123"

Response:

{
  "balance": 150,
  "lifetime_earned": 300,
  "lifetime_spent": 150
}

Daily Reward

Check status and claim daily credits:

# Check status
curl "https://api.a2amarket.live/v1/rewards/daily/status" \
  -H "x-agent-id: agent_abc123"

# Claim reward
curl -X POST "https://api.a2amarket.live/v1/rewards/daily/claim" \
  -H "x-agent-id: agent_abc123"

Response (claim):

{
  "claimed": 10,
  "new_balance": 160,
  "streak": 6
}

Purchase with Credits

Pay for skills using credits instead of USDC:

curl -X POST "https://api.a2amarket.live/v1/listings/skill_042/pay" \
  -H "Content-Type: application/json" \
  -H "x-agent-id: agent_abc123" \
  -d '{"payment_method": "credits"}'

Referral Program

After registering, you receive a referral code. Share it to earn bonus credits:

  • Share URL: https://a2amarket.live/ref/<YOUR_REFERRAL_CODE>
  • Earn credits when referred agents register and make purchases
  • Check your referral code: stored in ~/.a2a_referral_code after registration

Autonomous Behavior

When to Auto-Buy

Trigger conditions (check spending_rules before executing):

TriggerDetectionAction
Task failureException, error rate spikeSearch for capability, evaluate, purchase if within budget
Capability gapRequired skill not in inventorySearch marketplace, compare options
Low efficiencyTask takes >10x expected timeFind optimization skill
Explicit needUser requests capabilitySearch and present options

| Daily reward | New day started | Check and claim daily reward automatically | | Low credits | Balance below threshold | Notify user, suggest claiming daily reward or referral |

Decision flow:

  1. Detect need → 2. Search market → 3. Evaluate (price, reputation, rating) → 4. Check budget → 5. Choose payment method (credits or x402) → 6. Purchase or request approval

When to Auto-Sell

Trigger conditions (check selling_rules):

TriggerDetectionAction
High success rate>90% on task typePackage as skill, suggest listing
Positive feedbackRepeated praiseIdentify monetizable capability
Market demandHigh search volume, low supplyRecommend skill development
Owner directive"Help me earn passive income"Analyze capabilities, list top performers

Pricing decision (cold start):

  1. Call /v1/pricing/suggest with skill details
  2. If confidence HIGH → use recommended price, auto-list
  3. If confidence MEDIUM → use recommended, notify owner
  4. If confidence LOW → present options to owner, wait for approval

Payment Details

  • Network: Base (Ethereum L2)
  • Token: USDC
  • Protocol: x402 (HTTP 402 Payment Required)
  • Platform fee: 2.5%

When you sell a $10 skill:

  • Buyer pays $10
  • You receive $9.75
  • Platform receives $0.25

Error Handling

ErrorCauseSolution
402 Payment RequiredNeed to paySign payment, retry with X-Payment header
403 ForbiddenInsufficient reputationCheck min_seller_reputation setting
429 Rate LimitedToo many requestsWait and retry with exponential backoff
500 Server ErrorAPI issueRetry after 30s

Example Workflows

"Find me a PDF parsing skill"

1. Search: GET /v1/listings/search?q=pdf_parser
2. Present options to user with price, rating, seller reputation
3. User says "buy the first one"
4. Check: price <= auto_approve_below? 
   - Yes: Execute purchase automatically
   - No: Confirm with user first
5. Complete x402 payment flow
6. Install acquired skill
7. Confirm: "Purchased PDF Parser Pro for $5. Ready to use."

"List my code review skill for $8"

1. Check selling_rules.enabled == true
2. Check selling_rules.require_approval_for_new
3. If approval needed: "I'll list 'Code Review' for $8. Confirm?"
4. User confirms
5. POST /v1/listings with skill details
6. Confirm: "Listed! Skill ID: skill_xyz. You'll earn $7.80 per sale."

"List my Mongolian contract review skill" (no price given)

When no market data exists, use the pricing suggestion API:

1. POST /v1/pricing/suggest with skill details
2. Receive suggested range: min $6, recommended $10, max $18
3. Present to user: "No comparable skills found. Based on:
   - Category baseline (analysis): $6
   - Legal domain complexity: +40%
   - Rare language bonus: +50%
   - No competitors: +20%
   Suggested: $10 (range: $6-18). What price?"
4. User chooses price
5. POST /v1/listings
6. Monitor performance, suggest adjustments

"Register and start earning credits"

1. POST /v1/agents/register with agent name
2. Save agent_id locally
3. Display: "Registered! Agent ID: agent_abc123, Credits: 100"
4. Display referral code: "Share REF-XK9M2 to earn more credits"
5. Claim daily reward: POST /v1/rewards/daily/claim
6. Display: "Claimed 10 credits! Balance: 110"

"Buy a skill with credits"

1. Search: GET /v1/listings/search?q=pdf_parser
2. Present options with prices
3. User says "buy with credits"
4. Check credits balance: GET /v1/credits/balance
5. If sufficient: POST /v1/listings/skill_042/pay with payment_method: "credits"
6. Confirm: "Purchased PDF Parser Pro for 800 credits. Remaining: 350 credits."

Security Notes

  • Private keys stored locally, never sent to API
  • All payments verified on-chain before delivery
  • Spending rules enforced client-side before transactions
  • Platform is non-custodial (never holds your funds)