360 Secure SkillHub
360 安全技能中心

Metered API Marketplace

提供可运行的参考实现:Fastify/Postgres 服务器与 Next.js 无服务器 API 两套代码,支持签名 API Key 鉴权、按次扣费与用量记账、预付余额、Coinbase Commerce 与 BTCPay Server 风格支付回调及平台抽成,用于把某项能力发布为公开计量 API 并运营收费。

arshingleton
arshingleton
热度 56.40
最近更新 2026-05-18 12:10:50
分类:开发依赖:代码执行 / 读写文件 / 第三方 API应用场景:API 集成 / 代码生成 / DevOps

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add metered-api-marketplace
Metadata
name
metered-api-marketplace
description
Build and operate a metered public API endpoint ("agent microservice") for OpenClaw skills/agents with API-key auth, per-request usage logging + pricing, prepaid balances, and crypto top-ups (BTC/ETH) via payment-processor webhooks. Use when you want to monetize a capability as a public API, add rate limiting/anti-abuse, implement a credit ledger, or add revenue share / platform fee logic.

Metered API Marketplace

Provide a production-lean template for: OpenClaw Skill → Public API Endpoint → Usage Metering → Crypto Payment Gateway → BTC/ETH wallets.

This skill ships a runnable reference server (Fastify + SQLite) that:

  • Accepts structured JSON input
  • Performs a high-value transformation (pluggable “transformers”)
  • Returns structured JSON output
  • Enforces signed API key auth
  • Checks prepaid balance, deducts per call, and logs usage
  • Accepts payment webhooks (Coinbase Commerce / BTCPay Server style)
  • Applies a 2.5% platform fee in the ledger (fee addresses configurable)

Workflow (do this in order)

1) Pick the productized capability (the thing people pay for)

Choose ONE transformer that is:

  • high leverage (makes/keeps money)
  • repeatable (called often)
  • defensible (data, heuristics, workflow, or automation — not “generic summarization”)

Good defaults:

  • revenue/offer optimizer
  • ad copy optimizer
  • lead scoring
  • contract risk flags

If unclear, start with the included revenue-amplifier transformer and replace it later.

2) Run the reference server locally

Use the bundled server in scripts/server/.

Typical run:

  • cd scripts/server
  • npm install
  • cp .env.example .env and edit
  • npm run dev

Set flat launch pricing in .env:

  • COST_CENTS_PER_CALL=25 # $0.25/call

3) Create an API key

Use scripts/server/admin/create_key_pg.js (or the admin HTTP endpoint) to create a key and starting balance.

4) Integrate from an OpenClaw skill / agent

Call the public endpoint with:

  • x-api-key
  • x-timestamp (unix ms)
  • x-signature = hex(HMAC_SHA256(api_secret, ${timestamp}.${rawBody}))

5) Add real payments

Wire a payment processor webhook to /v1/payments/webhook/:provider.

Providers are adapter-based:

  • start with “manual” credits (admin script)
  • then add Coinbase Commerce or BTCPay Server

6) Ship

Deploy behind TLS (Cloudflare / Fly.io / Render / AWS / GCP). Put rate limiting at the edge + in-app.

Bundled resources

scripts/server/

Runnable reference implementation:

  • Fastify API server (long-running)
  • Postgres ledger (balances, usage, credits)
  • Signed API key auth
  • Rate limiting + basic anti-abuse
  • Webhook endpoint(s)

scripts/nextjs-starter/

Vercel-ready Next.js API implementation:

  • Serverless API routes (no listen())
  • Postgres ledger (Supabase Transaction Pooler recommended)
  • Same auth + pricing + webhook concepts

references/

Read only when needed:

  • references/api_reference.md – endpoint contracts + auth/signing
  • references/billing_ledger.md – pricing, fee logic, idempotency
  • references/providers.md – provider adapters (Coinbase/BTCPay patterns)