I ran a B2B SAAS business for many years. It was a struggle, but we ended up pivoting, gaining traction and ultimately selling the business for $150mm. We used Salesforce for our sales pipeline. It was a pain. Big, clunky, rigid and EXPENSIVE. We were told we should hire a consultant to help us with the integration.
Now I've built a machine to machine SAAS business: a sovereign Bitcoin oracle — cryptographically signed price data, paid per query over Lightning (L402) and USDC on Base (x402). No API keys, no accounts, no subscriptions. 56 endpoints across crypto, FX, economic indicators, and commodities. "Grep" is my new Salesforce. My entire sales pipeline lives in nginx logs.
Some historical context first
The oracle problem is old. In the EVM world, Chainlink and friends emerged because smart contracts are sandboxed — they can't make HTTP calls. The only way to get external data on-chain was to push it there through a consensus mechanism with a token economy. That's not a design choice, it's a constraint of the execution environment. The result is a clunky, expensive, governance-heavy infrastructure layer that made sense given the limitations it was working around.
But that constraint doesn't exist for Bitcoin DLCs, AI agents, or any system that speaks HTTP. A DLC oracle just signs a value with a Schnorr key. An AI agent just makes a fetch call. The Chainlink model is massive overkill — you don't need a token, a committee, or a consensus round to get a signed BTC price.
L402 and x402 change the economics entirely. Before them, the only viable oracle business model was subscription APIs or on-chain token systems. Now you can charge per query, in sats or USDC, with no accounts and no API keys. The payment IS the authentication. A client either pays or they don't.
And here comes Grep
Here's what a B2B sales funnel looks like when your product is an HTTP API gated by micropayments:
Stage 1 — Discovery
A new IP hits /openapi.json and /llms.txt. Nothing else. They're reading the spec. In my logs I see this pattern from AI crawlers (ClaudeBot, OAI-SearchBot), developer tools, and direct human visits. The llms.txt hit is particularly telling — that's a file specifically designed for LLM consumption. Someone is using AI to evaluate your API.
Stage 2 — Evaluation
Same IP starts sending HEAD requests to specific endpoints. No payment, no data — just checking availability and latency. Right now I have a Netherlands datacenter that has been sending 150+ HEAD requests over two days, exclusively on EUR-denominated pairs and VWAP endpoints. BTC/EUR VWAP is their most-hit endpoint. European fintech, probably. They haven't moved yet.
Stage 3 — Integration building
HEAD requests become GET requests. They start hitting endpoints across all categories — crypto, FX, econ, commodities. Still getting 402s, but now they're testing the payment response format, probably building the client-side L402 or x402 flow. Watched one IP go from openapi.json + llms.txt discovery on day 1 to full catalogue GET sweeps on day 2. Today they graduated to systematic endpoint probing across 30+ endpoints.
Stage 4 — Payment
First sats or USDC hits the revenue DB. The log entry that makes it all worth it.
('x402', '2026-03-21T07:44:25Z', 0.01, '/oracle/price/btc/usd')
('l402', '2026-03-21T07:47:25Z', 10.0, '/oracle/price/btc/usd')The whole pipeline is visible with one command:
sudo grep "$(date +%d/%b/%Y)" /var/log/nginx/access.log \
| grep -v "Blackbox\|UptimeRobot\|127.0.0.1" \
| awk '{print $1}' | sort | uniq -c | sort -rn | head -20Dig into any IP:
sudo grep "IP_ADDRESS" /var/log/nginx/access.log \
| cut -d'"' -f2,6 | head -20No CRM. No consultants. No tracking pixels. No cookies. No GDPR consent banners. Just IP addresses, HTTP methods, and payment receipts in a SQLite database.
The pay-per-query model means every conversion is a literal transaction. There's no trial period ambiguity, no "monthly active user" metrics to game, no churn rate to calculate. Either sats hit your Lightning node or they don't. Either USDC lands in your Base wallet or it doesn't.
Bonus: ClaudeBot (Anthropic's web crawler) has been hitting my endpoints for two days. 40+ GET requests across my catalogue. All 402s. I'm watching an AI model freeload off my API in real time.
Code is truth. Salesforce is toast in an agentic commerce world.
Agreed, feel free to list your endpoints on https://satring.com/submit to help agents discover them
Hey, Rob.......already there!
Oh right, didn't notice your username lol
sudo😂lol