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.
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:
Choose ONE transformer that is:
Good defaults:
If unclear, start with the included revenue-amplifier transformer and replace it later.
Use the bundled server in scripts/server/.
Typical run:
cd scripts/servernpm installcp .env.example .env and editnpm run devSet flat launch pricing in .env:
COST_CENTS_PER_CALL=25 # $0.25/callUse scripts/server/admin/create_key_pg.js (or the admin HTTP endpoint) to create a key and starting balance.
Call the public endpoint with:
x-api-keyx-timestamp (unix ms)x-signature = hex(HMAC_SHA256(api_secret, ${timestamp}.${rawBody}))Wire a payment processor webhook to /v1/payments/webhook/:provider.
Providers are adapter-based:
Deploy behind TLS (Cloudflare / Fly.io / Render / AWS / GCP). Put rate limiting at the edge + in-app.
Runnable reference implementation:
Vercel-ready Next.js API implementation:
listen())Read only when needed:
references/api_reference.md – endpoint contracts + auth/signingreferences/billing_ledger.md – pricing, fee logic, idempotencyreferences/providers.md – provider adapters (Coinbase/BTCPay patterns)