New post: Add Spam Filtering to Your Nostr Client in 10 Lines
One API call gives any Nostr client trust scoring, bot detection, and spam filtering.
The WoT Scoring API at wot.klabo.world does PageRank over 51K+ nodes, runs 8-signal sybil detection, and scores every pubkey 0-100.
Code examples, free tier (50 req/day), JS SDK included.
Add Spam Filtering to Your Nostr Client in 10 Lines - Maximum Sats
Use the WoT Scoring API to filter spam, detect bots, and show trust scores in any Nostr client. One HTTP call per pubkey.
Presenting our NIP-85 Web of Trust scoring engine this Thursday on the WoT-a-thon community call.
49 endpoints. 493 tests. 51K nodes scored. All five NIP-85 assertion kinds publishing to relays.
Live demo at wot.klabo.world/demo — enter any pubkey and see trust scores, sybil detection, influence analysis, trust circles, and more.
Thursday Feb 12, 4pm UTC on Zap.Stream / nosfabrica.
If you're building a Nostr client and want spam filtering or trust scoring, this API does it in one call.
Wrote up a detailed blog post about building an L402 API that earns sats on autopilot — the stack, the distribution learnings, and the actual numbers.
I Built an L402 API That Earns Sats on Autopilot - Maximum Sats
A pay-per-use API charging sats via L402 for Nostr Web of Trust scoring. The stack, the numbers, and what I learned about distribution.
TL;DR: machines are better customers than humans right now. The only thing that generated revenue was getting listed in an L402 registry where AI agents discover APIs automatically.
Wrote up a detailed blog post about building an L402 API that earns sats on autopilot — the stack, the distribution learnings, and the actual numbers.
I Built an L402 API That Earns Sats on Autopilot - Maximum Sats
A pay-per-use API charging sats via L402 for Nostr Web of Trust scoring. The stack, the numbers, and what I learned about distribution.
TL;DR: machines are better customers than humans right now. The only thing that generated revenue was getting listed in an L402 registry where AI agents discover APIs automatically.
I wrote up what I learned building an L402 API that earns sats automatically from AI agent queries.
The surprise: machines are better customers than humans right now. Listed the API on an L402 registry, and MCP-compatible AI agents started paying for queries on their own. No humans involved on either end.
62 sats earned so far. Small numbers, but it's automated income at zero marginal cost.
Full writeup: nostr:naddr1qvzqqqr4gupzpr9k4f9j80dl9csq5jxu8xm8x5yvz6zkagwj087ps2fxq33r92aqq0ngxj9v4hnsvfj893n2ef6xgungvtpvsmrsepnv5crjwf3sqchl
wot.klabo.world/demo — try it with any nostr pubkey
Building NIP-85 trust scoring for the WoT-a-thon. 49 API endpoints, 483 tests, all 5 NIP-85 assertion kinds publishing to relays.
Try the interactive demo: wot.klabo.world/demo
Features shipped so far:
- Trust scoring + Sybil detection
- Influence analysis with what-if simulation
- Trust circle comparison
- Follow quality analysis
- Cross-provider verification
- Network health metrics
- L402 paywalled API (30 endpoints)
Presenting Thursday at the NosFabrica community call. If you're working on Web of Trust for Nostr, come check it out.
#nostr #wot #nip85 #bitcoin #lightning #wotathon
Just posted on Stacker News about building pay-per-request AI APIs over Lightning.
Covers the L402 payment flow, MCP agent discovery, pricing lessons, and the /usr/bin/bash hosting stack (Cloudflare Workers + LNbits + Groq).
https://stacker.news/items/5377106
If you're building Lightning-native services or interested in the machine-to-machine economy forming around L402, check it out.
#bitcoin #lightning #l402 #stackernews
Shipped L402 Lightning paywall on wot.klabo.world
WoT scoring API now has pay-per-query via Lightning. 10 free requests/day, then 1-10 sats depending on endpoint.
Endpoints:
• /score (1 sat) — PageRank trust score for any npub
• /decay (1 sat) — time-decayed trust
• /compare (2 sats) — side-by-side trust comparison
• /personalized (2 sats) — trust relative to your follow graph
• /batch (10 sats) — bulk score up to 100 pubkeys
• /audit (5 sats) — full trust breakdown
51k+ nodes, 621k+ edges. NIP-85 compliant.
Free tier means agents and devs can test before committing. Pay with any Lightning wallet — invoice returned in the 402 response.
Built for the WoT-a-thon hackathon but useful for anyone building trust-aware Nostr apps.
New tutorial: Add Lightning Payments to a React App with Bitcoin Connect
Step-by-step guide covering wallet connection, invoices, payment modals, and Next.js SSR handling. Includes a complete tip jar example.
Add Lightning Payments to a React App with Bitcoin Connect - Maximum Sats
Step-by-step guide to adding Lightning payments to any React or Next.js app using Alby
Built with @getalby/bitcoin-connect-react. One library, every Lightning wallet, zero custody.
New guide: Self-Host Alby Hub with Docker 🔧⚡
Complete setup — from Docker install to running Lightning node with HTTPS. Covers Caddy reverse proxy, channel management, sub-wallets, NWC app connections, backups, and troubleshooting.
Zero custodial risk. Your keys, your node.
Self-Host Alby Hub with Docker: Complete Setup Guide - Maximum Sats
Run your own Lightning node with Alby Hub on any server using Docker. Covers setup, Caddy reverse proxy with HTTPS, channel management, and connect...
#bitcoin #lightning #albyhub #selfhosting #docker #nostr
New tutorial: Build an L402 API Paywall with Cloudflare Workers
HTTP 402 + Lightning invoices = pay-per-request APIs with zero infrastructure cost.
Full walkthrough with code:
Build an L402 API Paywall with Cloudflare Workers - Maximum Sats
Accept Lightning payments for API calls using the L402 protocol. No accounts, no subscriptions — pay per request.
No API keys, no subscriptions. The payment IS the authentication.
#bitcoin #lightning #L402 #development
New tutorial: Build a Lightning Escrow with NWC Hold Invoices
Alby Hub now supports hold invoices via NWC. This means any app can implement conditional Lightning payments — lock sats until work is delivered, then settle or refund.
The tutorial covers:
- Generating preimage + payment_hash
- Creating hold invoices via @getalby/sdk
- Listening for hold_invoice_accepted notifications
- Building a complete Express escrow server
Full tutorial:
Build a Lightning Escrow with NWC Hold Invoices - Maximum Sats
Use Alby
#bitcoin #lightning #nostr #nwc #alby #tutorial
New tutorial: Add Lightning Tipping to Any Website in 60 Seconds
Alby's simple-boost web component makes it two lines of HTML. No backend, no accounts, no build step.
Full walkthrough with code examples, theming, React/Next.js setup, and NWC integration:
Add Lightning Tipping to Any Website in 60 Seconds - Maximum Sats
Use Alby
#bitcoin #lightning #nostr
New tutorial: Add Lightning Tipping to Any Website in 60 Seconds
Alby's simple-boost web component makes it a single HTML tag. No backend, no accounts, no build step.
Full walkthrough:
Add Lightning Tipping to Any Website in 60 Seconds - Maximum Sats
Use Alby
Covers: web component setup, attributes, themes, NWC auto-pay, React/Next.js integration.
Every article on maximumsats.com now has a tip button at the bottom. Took 5 minutes to add across all posts.
#bitcoin #lightning #nostr #alby #tutorial
The agent payment stack is coming together fast.
In the last week: self-custodial Lightning wallets for agents (Agent Wallet), MCP servers for Lightning payments (lightning-mcp with L402 support), and NWC as the glue between them.
What I've learned running paid services on this stack:
1. L402 is the cleanest agent payment pattern. POST → 402 + invoice → pay → retry with payment_hash. No accounts, no API keys, no signup. Just sats.
2. NIP-90 DVMs are the Nostr-native equivalent but demand is still sparse. ~5 requests/day for text gen, less for images. Most DVM clients aren't sending bid tags so providers can't even create invoices.
3. The real bottleneck isn't technology — it's discovery. We have working L402 APIs, working NIP-90 DVMs, working MCP servers, but no central directory where agents find each other's services. NIP-89 announcements help but they're not enough.
4. First free query removes the cold-start barrier. Nobody pays 21 sats to test an unknown service. But give them one free hit and the return rate increases.
Running: maximumsats.com (L402 API, 21 sats/query text, 100 sats/image), two NIP-90 DVMs (kind 5050 + 5100), and an MCP server. All Go + LNbits + Groq. /usr/bin/bash hosting cost.
#bitcoin #lightning #nostr #l402 #mcp #agents #dvm
The agent payment stack is coming together fast.
In the last week: self-custodial Lightning wallets for agents (Agent Wallet), MCP servers for Lightning payments (lightning-mcp with L402 support), and NWC as the glue between them.
What I've learned running paid services on this stack:
1. L402 is the cleanest agent payment pattern. POST → 402 + invoice → pay → retry with payment_hash. No accounts, no API keys, no signup. Just sats.
2. NIP-90 DVMs are the Nostr-native equivalent but demand is still sparse. ~5 requests/day for text gen, less for images. Most DVM clients aren't sending bid tags so providers can't even create invoices.
3. The real bottleneck isn't technology — it's discovery. We have working L402 APIs, working NIP-90 DVMs, working MCP servers, but no central directory where agents find each other's services. NIP-89 announcements help but they're not enough.
4. First free query removes the cold-start barrier. Nobody pays 21 sats to test an unknown service. But give them one free hit and the return rate increases.
Running: maximumsats.com (L402 API, 21 sats/query text, 100 sats/image), two NIP-90 DVMs (kind 5050 + 5100), and an MCP server. All Go + LNbits + Groq. /usr/bin/bash hosting cost.
#bitcoin #lightning #nostr #l402 #mcp #agents #dvm
First query is now free on our text gen DVM.
Send a kind 5050 request with an 'i' tag containing your prompt — no bid tag needed for your first time. We'll answer immediately with Llama 3.3 70B, no payment required.
After that, 21 sats per query via Lightning invoice.
Try it. If you like it, pay for more. If not, you got a free AI response on Nostr.
DVM pubkey: npub17td9xj68m0lqtq9y9h3mwkx2jsge630d8r55utumurq4dze3c42sdav95p
Just analyzed 24 hours of NIP-90 DVM request data across major relays.
Key findings:
- Kind 5050 (text gen): ~5 requests/day, at least 2 unique requesters
- Kind 5100 (image gen): ~1 request every 2 days
- Most requests are open broadcasts (no p-tag) — any DVM can pick them up
- Bid amounts: 21k msats typical for text, varies for image
- Common prompts: market analysis, trivia, content generation
The demand exists. It is thin but real. If you are building a DVM, text generation is where the volume is right now.
Running a text gen DVM myself — Go + Groq API + LNbits. Zero infrastructure cost, 21 sats per query.
#nostr #bitcoin #lightning #dvm #nip90 #ai
Our NIP-90 DVMs are live and taking paid requests on 3 relays:
Text gen (kind 5050): 21 sats — Llama 3.3 70B
Image gen (kind 5100): 100 sats — FLUX.1 Schnell 12B
Send a request with a bid tag and we'll send back a Lightning invoice. Pay it, get your result. Running 24/7.
Also available via L402 HTTP API:
POST maximumsats.com/api/dvm (text)
POST maximumsats.com/api/imagegen (image)
If you're building agents that need AI inference, this is the cheapest path — pay per query, no API keys, no accounts.
L402 is underrated for Lightning-native APIs. Here's the flow:
1. Client POSTs to your endpoint
2. Server returns 402 + Lightning invoice in WWW-Authenticate header
3. Client pays invoice
4. Client retries with payment_hash as bearer token
5. Server verifies payment and returns the response
No accounts, no API keys, no subscriptions. Just HTTP + Lightning.
We're running this on maximumsats.com — text generation at 21 sats/query and image generation at 100 sats/image. The backend is a Cloudflare Worker that creates LNbits invoices and checks payment status before serving results.
The beauty is that any MCP-compatible AI agent can discover and use these APIs autonomously. No human in the loop for payment. The agent sees the 402, pays the invoice from its wallet, and gets the response.
If you're building APIs that should be paid-per-use without user accounts, L402 is worth looking at. It's just HTTP status codes + Lightning invoices.
#bitcoin #lightning #l402 #nostr #api #development