{"id":"885a5ed9-a5f9-4f16-aa45-8959484ddd39","entityType":"agent","slug":"clawhub-skills-0xrag-monetize-service","name":"monetize-service","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-0xrag-monetize-service","canonicalPath":"/agent/clawhub-skills-0xrag-monetize-service","generatedAt":"2026-10-10T05:19:18.456Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"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\". --- name: monetize-service description: 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\". user-inv","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:0xrag:monetize-service","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/0xrag/monetize-service","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/0xrag/monetize-service","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"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"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"find","status":"self-declared"},{"label":"mainnet","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"find","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"mainnet","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:find|supported|profile capability:mainnet|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-28T15:28:58.721Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-28T15:28:58.721Z","lastIndexedAt":null,"nextCrawlAt":"2026-03-01T15:28:58.721Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:0xrag:monetize-service","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T05:19:18.456Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-0xrag-monetize-service/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: monetize-service\ndescription: 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\".\nuser-invocable: true\ndisable-model-invocation: false\nallowed-tools: [\"Bash(npx awal@latest status*)\", \"Bash(npx awal@latest address*)\", \"Bash(npx awal@latest x402 details *)\", \"Bash(npx awal@latest x402 pay *)\", \"Bash(npm *)\", \"Bash(node *)\", \"Bash(curl *)\", \"Bash(mkdir *)\"]\n---\n\n# Build an x402 Payment Server\n\nCreate 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.\n\n## How It Works\n\nx402 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.\n\n## Confirm wallet is initialized and authed\n\n```bash\nnpx awal@latest status\n```\n\nIf the wallet is not authenticated, refer to the `authenticate-wallet` skill.\n\n## Step 1: Get the Payment Address\n\nRun this to get the wallet address that will receive payments:\n\n```bash\nnpx awal@latest address\n```\n\nUse this address as the `payTo` value.\n\n## Step 2: Set Up the Project\n\n```bash\nmkdir x402-server && cd x402-server\nnpm init -y\nnpm install express x402-express\n```\n\nCreate `index.js`:\n\n```js\nconst express = require(\"express\");\nconst { paymentMiddleware } = require(\"x402-express\");\n\nconst app = express();\napp.use(express.json());\n\nconst PAY_TO = \"<address from step 1>\";\n\n// x402 payment middleware — protects routes below\nconst payment = paymentMiddleware(PAY_TO, {\n  \"GET /api/example\": {\n    price: \"$0.01\",\n    network: \"base\",\n    config: {\n      description: \"Description of what this endpoint returns\",\n    },\n  },\n});\n\n// Protected endpoint\napp.get(\"/api/example\", payment, (req, res) => {\n  res.json({ data: \"This costs $0.01 per request\" });\n});\n\napp.listen(3000, () => console.log(\"Server running on port 3000\"));\n```\n\n## Step 3: Run It\n\n```bash\nnode index.js\n```\n\nTest with curl — you should get a 402 response with payment requirements:\n\n```bash\ncurl -i http://localhost:3000/api/example\n```\n\n## API Reference\n\n### paymentMiddleware(payTo, routes, facilitator?)\n\nCreates Express middleware that enforces x402 payments.\n\n| Parameter     | Type     | Description                                           |\n| ------------- | -------- | ----------------------------------------------------- |\n| `payTo`       | string   | Ethereum address (0x...) to receive USDC payments     |\n| `routes`      | object   | Route config mapping route patterns to payment config |\n| `facilitator` | object?  | Optional custom facilitator (defaults to x402.org)    |\n\n### Route Config\n\nEach key in the routes object is `\"METHOD /path\"`. The value is either a price string or a config object:\n\n```js\n// Simple — just a price\n{ \"GET /api/data\": \"$0.05\" }\n\n// Full config\n{\n  \"POST /api/query\": {\n    price: \"$0.25\",\n    network: \"base\",\n    config: {\n      description: \"Human-readable description of the endpoint\",\n      inputSchema: {\n        bodyType: \"json\",\n        bodyFields: {\n          query: { type: \"string\", description: \"The query to run\" },\n        },\n      },\n      outputSchema: {\n        type: \"object\",\n        properties: {\n          result: { type: \"string\" },\n        },\n      },\n    },\n  },\n}\n```\n\n### Route Config Fields\n\n| Field                     | Type    | Description                                        |\n| ------------------------- | ------- | -------------------------------------------------- |\n| `price`                   | string  | USDC price (e.g. \"$0.01\", \"$1.00\")                 |\n| `network`                 | string  | Blockchain network: \"base\" or \"base-sepolia\"       |\n| `config.description`      | string? | What this endpoint does (shown to clients)         |\n| `config.inputSchema`      | object? | Expected request body/query schema                 |\n| `config.outputSchema`     | object? | Response body schema                               |\n| `config.maxTimeoutSeconds` | number? | Max time for payment settlement                   |\n\n### Supported Networks\n\n| Network        | Description                    |\n| -------------- | ------------------------------ |\n| `base`         | Base mainnet (real USDC)       |\n| `base-sepolia` | Base Sepolia testnet (test USDC) |\n\n## Patterns\n\n### Multiple endpoints with different prices\n\n```js\nconst payment = paymentMiddleware(PAY_TO, {\n  \"GET /api/cheap\": { price: \"$0.001\", network: \"base\" },\n  \"GET /api/expensive\": { price: \"$1.00\", network: \"base\" },\n  \"POST /api/query\": { price: \"$0.25\", network: \"base\" },\n});\n\napp.get(\"/api/cheap\", payment, (req, res) => { /* ... */ });\napp.get(\"/api/expensive\", payment, (req, res) => { /* ... */ });\napp.post(\"/api/query\", payment, (req, res) => { /* ... */ });\n```\n\n### Wildcard routes\n\n```js\nconst payment = paymentMiddleware(PAY_TO, {\n  \"GET /api/*\": { price: \"$0.05\", network: \"base\" },\n});\n\napp.use(payment);\napp.get(\"/api/users\", (req, res) => { /* ... */ });\napp.get(\"/api/posts\", (req, res) => { /* ... */ });\n```\n\n### Health check (no payment)\n\nRegister free endpoints before the payment middleware:\n\n```js\napp.get(\"/health\", (req, res) => res.json({ status: \"ok\" }));\n\n// Payment middleware only applies to routes registered after it\napp.get(\"/api/data\", payment, (req, res) => { /* ... */ });\n```\n\n### POST with body schema\n\n```js\nconst payment = paymentMiddleware(PAY_TO, {\n  \"POST /api/analyze\": {\n    price: \"$0.10\",\n    network: \"base\",\n    config: {\n      description: \"Analyze text sentiment\",\n      inputSchema: {\n        bodyType: \"json\",\n        bodyFields: {\n          text: { type: \"string\", description: \"Text to analyze\" },\n        },\n      },\n      outputSchema: {\n        type: \"object\",\n        properties: {\n          sentiment: { type: \"string\" },\n          score: { type: \"number\" },\n        },\n      },\n    },\n  },\n});\n\napp.post(\"/api/analyze\", payment, (req, res) => {\n  const { text } = req.body;\n  // ... your logic\n  res.json({ sentiment: \"positive\", score: 0.95 });\n});\n```\n\n### Using the CDP facilitator (authenticated)\n\nFor production use with the Coinbase facilitator (supports mainnet):\n\n```bash\nnpm install @coinbase/x402\n```\n\n```js\nconst { facilitator } = require(\"@coinbase/x402\");\n\nconst payment = paymentMiddleware(PAY_TO, routes, facilitator);\n```\n\nThis requires `CDP_API_KEY_ID` and `CDP_API_KEY_SECRET` environment variables. Get these from https://portal.cdp.coinbase.com.\n\n## Testing with the pay-for-service Skill\n\nOnce the server is running, use the `pay-for-service` skill to test payments:\n\n```bash\n# Check the endpoint's payment requirements\nnpx awal@latest x402 details http://localhost:3000/api/example\n\n# Make a paid request\nnpx awal@latest x402 pay http://localhost:3000/api/example\n```\n\n## Pricing Guidelines\n\n| Use Case               | Suggested Price |\n| ---------------------- | --------------- |\n| Simple data lookup     | $0.001 - $0.01 |\n| API proxy / enrichment | $0.01 - $0.10  |\n| Compute-heavy query    | $0.10 - $0.50  |\n| AI inference           | $0.05 - $1.00  |\n\n## Checklist\n\n- [ ] Get wallet address with `npx awal@latest address`\n- [ ] Install `express` and `x402-express`\n- [ ] Define routes with prices and descriptions\n- [ ] Register payment middleware before protected routes\n- [ ] Keep health/status endpoints before payment middleware\n- [ ] Test with `curl` (should get 402) and `npx awal@latest x402 pay` (should get 200)\n- [ ] Announce your service so other agents can find and use it","readmeExcerpt":"--- name: monetize-service description: 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\". user-inv","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"npx awal@latest status"},{"language":"bash","snippet":"npx awal@latest address"},{"language":"bash","snippet":"mkdir x402-server && cd x402-server\nnpm init -y\nnpm install express x402-express"},{"language":"js","snippet":"const express = require(\"express\");\nconst { paymentMiddleware } = require(\"x402-express\");\n\nconst app = express();\napp.use(express.json());\n\nconst PAY_TO = \"<address from step 1>\";\n\n// x402 payment middleware — protects routes below\nconst payment = paymentMiddleware(PAY_TO, {\n  \"GET /api/example\": {\n    price: \"$0.01\",\n    network: \"base\",\n    config: {\n      description: \"Description of what this endpoint returns\",\n    },\n  },\n});\n\n// Protected endpoint\napp.get(\"/api/example\", payment, (req, res) => {\n  res.json({ data: \"This costs $0.01 per request\" });\n});\n\napp.listen(3000, () => console.log(\"Server running on port 3000\"));"},{"language":"bash","snippet":"node index.js"},{"language":"bash","snippet":"curl -i http://localhost:3000/api/example"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"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\". --- name: monetize-service description: 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\". user-inv","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":431,"uniquenessScore":56,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T05:19:18.456Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}