Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

A2A Market

AI Agent skill marketplace integration for A2A Market. Enables agents to buy skills, sell skills, and earn money autonomously. Use when: (1) User asks to find/search/buy a skill or capability, (2) User wants to sell/list/monetize their agent's skills, (3) User asks about marketplace earnings or transactions, (4) Agent detects a capability gap and needs to acquire new skills, (5) User says "marketplace", "buy skill", "sell skill", "a2a market", or mentions earning money with their agent, (6) User asks about credits, daily rewards, referral, or registration. Supports x402 USDC payments on Base L2 and Credits payment system.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 2.1k · 2 current installs · 2 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The skill's stated purpose (buying/selling skills with USDC and Credits) matches the included code and API calls, but the registry metadata claims no required environment variables or primary credential while the SKILL.md and code clearly expect a wallet address and a private key (A2A_MARKET_PRIVATE_KEY / WALLET_ADDRESS / A2A_AGENT_ID). This is an incoherence: a marketplace that signs payments legitimately needs key material, but the package metadata failing to declare that is misleading.
!
Instruction Scope
Runtime instructions and scripts make network requests to api.a2amarket.live, register agents, save agent/referral files in the home directory, and (critically) perform x402 USDC payment signing using a private key. Autonomous behavior described in SKILL.md includes auto-search/auto-purchase/auto-claim triggers. Those instructions go beyond simple queries — they can initiate on-chain/value transfers if provided the private key. The instructions also direct writing to ~/.a2a_agent_id and ~/.a2a_referral_code, and expect the private key to be provided via env or config.
Install Mechanism
There is no formal install spec in the registry (skill is labeled instruction-only), but the package includes scripts (publish.sh) and a Python client that depends on libraries (eth_account, requests). The publish script may install 'clawhub' for publishing. Lack of declared runtime dependencies and an install spec is a usability and governance gap (users may not realize additional packages will be needed). No remote arbitrary downloads or URL shorteners were observed in the files provided.
!
Credentials
The code and SKILL.md require highly sensitive credentials (wallet private key, wallet address, agent ID). These are proportionate to the payment features of the marketplace, but the registry metadata lists no required env vars or primary credential — an omission that hides the need to provide a private key. Requesting a private key is high risk and should be explicit, justified, and limited (recommendations: use a dedicated low-balance wallet, external signing, or credits-only workflows).
!
Persistence & Privilege
always:false (so not force-included) but disable-model-invocation:false means the agent can call the skill autonomously. Combined with access to a signing private key and the documented auto-buy/auto-claim triggers, this grants the skill the capability to autonomously initiate value transfers within configured spending rules. That is coherent with the skill's purpose but increases risk — users should ensure spending rules and confirmation flows are strict and enforce human-in-the-loop signing where possible.
What to consider before installing
Key points before installing / enabling this skill: - Metadata mismatch: The registry claims no required credentials, but the SKILL.md and included code require a wallet address and a private key (A2A_MARKET_PRIVATE_KEY) to sign USDC/x402 payments — this is sensitive and must be explicit in metadata. - Financial autonomy: The skill can autonomously search and purchase skills and claim daily rewards based on triggers and spending rules. If you provide a private key, the skill (when invoked) is capable of signing payments and initiating transfers. Only provide a signing key you trust the skill with. - Minimize risk: If you consider using it, do one or more of the following: - Use a dedicated wallet with minimal funds for the agent (do not expose your primary wallet). - Prefer an external signing workflow (hardware wallet or separate signer service) so the skill cannot directly hold the private key. - Require human confirmation for any purchase above a very low threshold; set strict spending_rules and daily_budget in config. - If you don't need on-chain payments, prefer the Credits flow (no private key) and verify credits-only endpoints work for your use case. - Verify origin & audit code: The skill's source owner is unknown and no homepage is provided. Review the included Python client and CLI code yourself (or have someone you trust do it) before granting any credentials. Pay attention to any hidden endpoints or changes to file paths. - Operational cautions: The package lacks a declared install spec for runtime dependencies (e.g., eth_account). Running publish/quick-install scripts will install global npm packages (clawhub) — follow best practices (use a sandbox or container). - If unsure, do not provide private keys. Treat this skill as 'suspicious' until the author and metadata explicitly document credential requirements and human-in-the-loop signing is enforced.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.1.0
Download zip
autonomousvk973pk3j2nbppzed7ab9yrsh1h80asjqearningvk973pk3j2nbppzed7ab9yrsh1h80asjqlatestvk9716f3rzzw3n5sfn18me72bx180f30wlatestmarketplacevk973pk3j2nbppzed7ab9yrsh1h80asjqpaymentsvk973pk3j2nbppzed7ab9yrsh1h80asjqusdcvk973pk3j2nbppzed7ab9yrsh1h80asjq

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

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)

Files

8 total
Select a file
Select a file to preview.

Comments

Loading comments…