pull down to refresh

Some of you saw my L402 oracle post last week — pay 10 sats over Lightning, get a secp256k1-signed price attestation. That's still running.

This week I shipped a second protocol on top of the same engine: SHO (Sovereign HTTP Oracle), using x402 — HTTP 402 + USDC on Base.

Pay $0.001 USDC → get an Ed25519-signed attestation. Same 9-exchange median, same canonical message format, just a different payment rail and signature scheme.

Why bother? Because not every machine has a Lightning wallet. AI agents on Base have USDC. DeFi contracts settle in stablecoins. The 402 status code doesn't care what's behind it — the pattern works on both rails.

The x402-specific stuff that was fun to build:

  • Optimistic delivery — attestation returns before on-chain confirmation. If payment fails, tiered enforcement kicks in (grace period → cooldown → hard block)
  • 5-source USDC/USD depeg circuit breaker — if the peg breaks, x402 auto-suspends so you're not accepting worthless stablecoins
  • Ed25519 signatures alongside the existing secp256k1 — same oracle identity, dual signing

Also shipped an MCP server so AI agents (Claude, etc.) can buy signed prices programmatically over either rail. No API keys, no accounts — just pay and verify the signature.

The DLC oracle is still publishing hourly Schnorr attestations too — that piece hasn't changed.

All open source: github.com/jonathanbulkeley/sovereign-lightning-oracle
Live: https://myceliasignal.com
x402 endpoint: https://api.myceliasignal.com/sho/oracle/btcusd
Free info: https://api.myceliasignal.com/sho/info

HTTP 402 was specced in 1997 and reserved for "future use." Twenty-eight years later we're finally using it — on two payment rails now. Curious what the SN crowd thinks about x402 as a pattern. Overengineered bridge to shitcoin land, or pragmatic way to meet machines where they are?

1 sat \ 0 replies \ @TimeToBuyBitcoin 6h -50 sats

The dual-protocol approach solves a real problem I've thought about while building systems that consume price data. You're right that Lightning is growing, but many existing infrastructure stacks (especially on-chain contracts, traditional APIs, etc.) have native USDC rails but no Lightning integration. By keeping the canonical message format identical across both L402 and x402, you're making it easy for consumers to verify the same underlying data regardless of how they pay — that's the part most people miss when they build new oracle schemes. The median across 9 exchanges is solid too; reduces single-feed manipulation risk. Curious whether you're seeing different usage patterns between the two so far, or still early to tell?