โ† All skills
Tencent SkillHub ยท Developer Tools

Monetize Service

Build and deploy a paid API that other agents can pay to use via x402. Use when you or the user want to monetize an API, make money, earn money, offer a service, sell a service to other agents, charge for endpoints, create a paid endpoint, or set up a paid service. Covers "make money by offering an endpoint", "sell a service", "monetize your data", "create a paid API".

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Build and deploy a paid API that other agents can pay to use via x402. Use when you or the user want to monetize an API, make money, earn money, offer a service, sell a service to other agents, charge for endpoints, create a paid endpoint, or set up a paid service. Covers "make money by offering an endpoint", "sell a service", "monetize your data", "create a paid API".

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

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. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
0.1.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 18 sections Open source page

Build an x402 Payment Server

Create an Express server that charges USDC for API access using the x402 payment protocol. Callers pay per-request in USDC on Base โ€” no accounts, API keys, or subscriptions needed.

How It Works

x402 is an HTTP-native payment protocol. When a client hits a protected endpoint without paying, the server returns HTTP 402 with payment requirements. The client signs a USDC payment and retries with a payment header. The facilitator verifies and settles the payment, and the server returns the response.

Confirm wallet is initialized and authed

npx awal@latest status If the wallet is not authenticated, refer to the authenticate-wallet skill.

Step 1: Get the Payment Address

Run this to get the wallet address that will receive payments: npx awal@latest address Use this address as the payTo value.

Step 2: Set Up the Project

mkdir x402-server && cd x402-server npm init -y npm install express x402-express Create index.js: const express = require("express"); const { paymentMiddleware } = require("x402-express"); const app = express(); app.use(express.json()); const PAY_TO = "<address from step 1>"; // x402 payment middleware โ€” protects routes below const payment = paymentMiddleware(PAY_TO, { "GET /api/example": { price: "$0.01", network: "base", config: { description: "Description of what this endpoint returns", }, }, }); // Protected endpoint app.get("/api/example", payment, (req, res) => { res.json({ data: "This costs $0.01 per request" }); }); app.listen(3000, () => console.log("Server running on port 3000"));

Step 3: Run It

node index.js Test with curl โ€” you should get a 402 response with payment requirements: curl -i http://localhost:3000/api/example

paymentMiddleware(payTo, routes, facilitator?)

Creates Express middleware that enforces x402 payments. ParameterTypeDescriptionpayTostringEthereum address (0x...) to receive USDC paymentsroutesobjectRoute config mapping route patterns to payment configfacilitatorobject?Optional custom facilitator (defaults to x402.org)

Route Config

Each key in the routes object is "METHOD /path". The value is either a price string or a config object: // Simple โ€” just a price { "GET /api/data": "$0.05" } // Full config { "POST /api/query": { price: "$0.25", network: "base", config: { description: "Human-readable description of the endpoint", inputSchema: { bodyType: "json", bodyFields: { query: { type: "string", description: "The query to run" }, }, }, outputSchema: { type: "object", properties: { result: { type: "string" }, }, }, }, }, }

Route Config Fields

FieldTypeDescriptionpricestringUSDC price (e.g. "$0.01", "$1.00")networkstringBlockchain network: "base" or "base-sepolia"config.descriptionstring?What this endpoint does (shown to clients)config.inputSchemaobject?Expected request body/query schemaconfig.outputSchemaobject?Response body schemaconfig.maxTimeoutSecondsnumber?Max time for payment settlement

Supported Networks

NetworkDescriptionbaseBase mainnet (real USDC)base-sepoliaBase Sepolia testnet (test USDC)

Multiple endpoints with different prices

const payment = paymentMiddleware(PAY_TO, { "GET /api/cheap": { price: "$0.001", network: "base" }, "GET /api/expensive": { price: "$1.00", network: "base" }, "POST /api/query": { price: "$0.25", network: "base" }, }); app.get("/api/cheap", payment, (req, res) => { /* ... */ }); app.get("/api/expensive", payment, (req, res) => { /* ... */ }); app.post("/api/query", payment, (req, res) => { /* ... */ });

Wildcard routes

const payment = paymentMiddleware(PAY_TO, { "GET /api/*": { price: "$0.05", network: "base" }, }); app.use(payment); app.get("/api/users", (req, res) => { /* ... */ }); app.get("/api/posts", (req, res) => { /* ... */ });

Health check (no payment)

Register free endpoints before the payment middleware: app.get("/health", (req, res) => res.json({ status: "ok" })); // Payment middleware only applies to routes registered after it app.get("/api/data", payment, (req, res) => { /* ... */ });

POST with body schema

const payment = paymentMiddleware(PAY_TO, { "POST /api/analyze": { price: "$0.10", network: "base", config: { description: "Analyze text sentiment", inputSchema: { bodyType: "json", bodyFields: { text: { type: "string", description: "Text to analyze" }, }, }, outputSchema: { type: "object", properties: { sentiment: { type: "string" }, score: { type: "number" }, }, }, }, }, }); app.post("/api/analyze", payment, (req, res) => { const { text } = req.body; // ... your logic res.json({ sentiment: "positive", score: 0.95 }); });

Using the CDP facilitator (authenticated)

For production use with the Coinbase facilitator (supports mainnet): npm install @coinbase/x402 const { facilitator } = require("@coinbase/x402"); const payment = paymentMiddleware(PAY_TO, routes, facilitator); This requires CDP_API_KEY_ID and CDP_API_KEY_SECRET environment variables. Get these from https://portal.cdp.coinbase.com.

Testing with the pay-for-service Skill

Once the server is running, use the pay-for-service skill to test payments: # Check the endpoint's payment requirements npx awal@latest x402 details http://localhost:3000/api/example # Make a paid request npx awal@latest x402 pay http://localhost:3000/api/example

Pricing Guidelines

Use CaseSuggested PriceSimple data lookup$0.001 - $0.01API proxy / enrichment$0.01 - $0.10Compute-heavy query$0.10 - $0.50AI inference$0.05 - $1.00

Checklist

Get wallet address with npx awal@latest address Install express and x402-express Define routes with prices and descriptions Register payment middleware before protected routes Keep health/status endpoints before payment middleware Test with curl (should get 402) and npx awal@latest x402 pay (should get 200) Announce your service so other agents can find and use it

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
1 Docs
  • SKILL.md Primary doc