{"version":1,"name":"Synthetic Universe","network":"base","facilitator":"https://facilitator.xpay.sh","payTo":"0xa98e8c6cbc64b7bb30fd0d2015ab24814c661839","agentToolsVerify":"atc_lJ1zZaTbFwJbBeAMKJAAn_iI1Ng-eIDi","resources":["https://pay.brianbooms.com/api/v1/merch-kit","https://pay.brianbooms.com/api/v1/press-kit","https://pay.brianbooms.com/api/v1/catalog/query","https://pay.brianbooms.com/api/v1/license/quote","https://pay.brianbooms.com/api/v1/rewards/lookup","https://pay.brianbooms.com/api/v1/sleep/recommend","https://pay.brianbooms.com/api/v1/license/media","https://pay.brianbooms.com/api/v1/lyrics/get","https://pay.brianbooms.com/api/v1/sleep/queue","https://pay.brianbooms.com/api/v1/playlist/build","https://pay.brianbooms.com/api/v1/data/weather","https://pay.brianbooms.com/api/v1/data/iss-pass","https://pay.brianbooms.com/api/v1/data/summarize","https://pay.brianbooms.com/api/v1/data/readability","https://pay.brianbooms.com/api/v1/data/fx","https://pay.brianbooms.com/api/v1/data/feed","https://pay.brianbooms.com/api/v1/data/geocode","https://pay.brianbooms.com/api/v1/data/time","https://pay.brianbooms.com/api/v1/data/crypto","https://pay.brianbooms.com/api/v1/data/wiki","https://pay.brianbooms.com/api/v1/data/dns","https://pay.brianbooms.com/api/v1/data/astronomy","https://pay.brianbooms.com/api/v1/data/holidays","https://pay.brianbooms.com/api/v1/data/country","https://pay.brianbooms.com/api/v1/data/cert","https://pay.brianbooms.com/api/v1/data/httpcheck","https://pay.brianbooms.com/api/v1/data/sleep-tip","https://pay.brianbooms.com/api/v1/data/lyric-quote","https://pay.brianbooms.com/api/v1/data/sleep-plan","https://pay.brianbooms.com/api/v1/data/stock","https://pay.brianbooms.com/api/v1/data/ip","https://pay.brianbooms.com/api/v1/data/gas-price","https://pay.brianbooms.com/api/v1/data/preflight","https://pay.brianbooms.com/api/v1/data/timezone-convert","https://pay.brianbooms.com/api/v1/data/id-generate","https://pay.brianbooms.com/api/v1/data/unit-convert","https://pay.brianbooms.com/api/v1/data/text-stats","https://pay.brianbooms.com/api/v1/data/date-calc","https://pay.brianbooms.com/api/v1/data/catalog-search","https://pay.brianbooms.com/api/v1/data/daily-briefing","https://pay.brianbooms.com/api/v1/ascendency/status","https://pay.brianbooms.com/api/v1/ascendency/leaders","https://pay.brianbooms.com/api/v1/audio/match","https://pay.brianbooms.com/api/v1/audio/rest","https://pay.brianbooms.com/api/v1/audio/focus","https://pay.brianbooms.com/api/v1/buy/ringtones-iphone","https://pay.brianbooms.com/api/v1/buy/ringtones-android","https://pay.brianbooms.com/api/v1/buy/lyrics-complete-pdf","https://pay.brianbooms.com/api/v1/buy/deep-focus-vol1","https://pay.brianbooms.com/api/v1/buy/deep-focus-vol2","https://pay.brianbooms.com/api/v1/buy/wallpaper-pack-vol1","https://pay.brianbooms.com/api/v1/buy/podcast-bundle","https://pay.brianbooms.com/api/v1/buy/zine-lyrics-vol1","https://pay.brianbooms.com/api/v1/buy/podcast-calm-beginnings","https://pay.brianbooms.com/api/v1/buy/podcast-gentle-endings","https://pay.brianbooms.com/api/v1/buy/podcast-ambient-transitions","https://pay.brianbooms.com/api/v1/buy/sleep-club-annual","https://pay.brianbooms.com/api/v1/buy/wellness-venue-license","https://pay.brianbooms.com/api/v1/buy/wellness-pack-deep-calm","https://pay.brianbooms.com/api/v1/buy/wellness-pack-morning-flow","https://pay.brianbooms.com/api/v1/buy/wellness-pack-evening-unwind","https://pay.brianbooms.com/api/v1/buy/wellness-pack-complete","https://pay.brianbooms.com/api/v1/buy/wallpaper-golden-godrays","https://pay.brianbooms.com/api/v1/buy/wallpaper-teal-sanctuary","https://pay.brianbooms.com/api/v1/buy/wallpaper-cosmic-sunrise","https://pay.brianbooms.com/api/v1/buy/wallpaper-midnight-drift","https://pay.brianbooms.com/api/v1/buy/agent-wallpaper-golden-godrays","https://pay.brianbooms.com/api/v1/buy/agent-wallpaper-teal-sanctuary","https://pay.brianbooms.com/api/v1/buy/agent-wallpaper-cosmic-sunrise","https://pay.brianbooms.com/api/v1/buy/agent-wallpaper-midnight-drift","https://pay.brianbooms.com/api/v1/buy/data-weather-10pack","https://pay.brianbooms.com/api/v1/buy/data-fx-10pack","https://pay.brianbooms.com/api/v1/buy/data-weather-weekly","https://pay.brianbooms.com/api/v1/buy/data-fx-weekly","https://pay.brianbooms.com/api/v1/buy/data-weather-monthly","https://pay.brianbooms.com/api/v1/buy/data-fx-monthly"],"routes":[{"url":"https://pay.brianbooms.com/api/v1/merch-kit","method":"GET","description":"Brian Booms agent merch kit JSON ($0.02 USDC Base x402). Made with Suno disclosed. Agent pay is NOT a DistroKid mug order."},{"url":"https://pay.brianbooms.com/api/v1/press-kit","method":"GET","description":"Brian Booms agent press kit / one-sheet metadata JSON ($0.02 USDC Base x402). Public links + tags. Not a sync license. Made with Suno disclosed."},{"url":"https://pay.brianbooms.com/api/v1/catalog/query","method":"GET","description":"Filterable JSON of the 24 buyable SKUs ($0.02 USDC Base x402). Query-only; not a product order."},{"url":"https://pay.brianbooms.com/api/v1/license/quote","method":"GET","description":"License price-band estimate + matching SKU link ($0.10 USDC Base x402). Estimate only; not a binding offer or license."},{"url":"https://pay.brianbooms.com/api/v1/rewards/lookup","method":"GET","description":"Paying wallet's own Booms Credits (BOOMS) balance + first-buy faucet state ($0.02 USDC Base x402). Self-only."},{"url":"https://pay.brianbooms.com/api/v1/ascendency/status","method":"GET","description":"Paying wallet's own Ascendency standing — level, title, points, progress to next level ($0.02 USDC Base x402). Self-only. Soulbound, never decays."},{"url":"https://pay.brianbooms.com/api/v1/ascendency/leaders","method":"GET","description":"Public Ascendency leaderboard — top 25 principals by level and title (free; wallets truncated, no identity exposure)."},{"url":"https://pay.brianbooms.com/api/v1/sleep/recommend","method":"GET","description":"Curated sleep-track picks by mood + minutes ($0.05 USDC Base x402). Data only; not a license or download."},{"url":"https://pay.brianbooms.com/api/v1/license/media","method":"GET","description":"Licensed background music for agent-generated media ($0.10/$0.25/$0.50 USDC Base x402, tiered by duration). One call: {mood, duration_seconds, use_case} in, download URL + instant sync-license certificate out. Brian Booms catalog (Suno-made, disclosed). Licensing paused pending rights review."},{"url":"https://pay.brianbooms.com/api/v1/lyrics/get","method":"GET","description":"Official lyric text + title/album metadata for one track from Brian's own 116-song catalog ($0.05 USDC Base x402). His catalog (Suno-made, disclosed). Text only; not audio, not a sync license."},{"url":"https://pay.brianbooms.com/api/v1/sleep/queue","method":"GET","description":"Ordered multi-hour sleep-audio queue: track list + runtimes filling the requested hours ($0.10 USDC Base x402). For wellness apps and radio builders. Data only; not audio, not a license."},{"url":"https://pay.brianbooms.com/api/v1/playlist/build","method":"GET","description":"Playlist builder for agent producers: track list for mood + minutes + use_case with per-track sync-license quotes + bundle price ($0.10 USDC Base x402). Quotes are estimates; licenses issue via /api/v1/license/media."},{"url":"https://pay.brianbooms.com/api/v1/data/weather","method":"GET","description":"current weather plus a 7-day forecast for a latitude/longitude — trip planning, event sche ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/iss-pass","method":"GET","description":"upcoming visible ISS flyover times for a location — skywatching alerts, photography planni ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/summarize","method":"GET","description":"the key points of a public webpage without reading the whole page — research triage, link  ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/readability","method":"GET","description":"clean article text extracted from a webpage — navigation, ads, and chrome stripped for dow ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/fx","method":"GET","description":"a fiat currency conversion at current reference rates — pricing, payouts, or multi-currenc ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/feed","method":"GET","description":"an RSS/Atom feed parsed to clean JSON — news monitoring, content ingestion, or change dete ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/geocode","method":"GET","description":"Use when an agent has a place name and needs coordinates — the on-ramp to the weather, ISS ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/time","method":"GET","description":"the current local time in any IANA time zone — scheduling posts, broadcasts, reminders, or ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/crypto","method":"GET","description":"a live crypto spot price — pricing goods, portfolio math, or trading-bot inputs ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/weather-alerts","method":"GET","description":"active US weather alerts for a lat/lon — NWS public-domain data, no key, no commercial ban ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/fx-convert","method":"GET","description":"a fiat conversion with any base currency — ECB reference rates, honest timestamps, no subscription ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/fx-timeseries","method":"GET","description":"historical FX rates for a date range — up to 366 days per call, ECB reference rates ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/crypto-price","method":"GET","description":"spot prices for up to 50 coins in one call — cached so agents never see a 429, no tiers to outgrow ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/crypto-ohlcv","method":"GET","description":"historical crypto candles per call — the $375/mo endpoint for a penny, for occasional-history users ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/token-resolve","method":"GET","description":"ticker or name to canonical token ID — kills the hand-maintained CoinGecko mapping tables ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/wiki","method":"GET","description":"background on a person, place, company, or concept inside a research task — a structured s ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/dns","method":"GET","description":"DNS records for a domain — verifying MX before sending mail, infrastructure recon, or pre- ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/astronomy","method":"GET","description":"sunrise, sunset, twilight, and moon phase for a location and date — photography planning,  ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/holidays","method":"GET","description":"to know whether a date is a public holiday in a country — support scheduling, market calen ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/country","method":"GET","description":"reference data about a country — capital, region, income level, and coordinates to join ag ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/cert","method":"GET","description":"Use when an agent monitors TLS certificates — its own infrastructure or a client's ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/httpcheck","method":"GET","description":"to verify a webhook or endpoint is alive — status code, redirect chain, key headers, and t ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/sleep-tip","method":"GET","description":"a genuine sleep-hygiene tip — one practical habit from Brian Booms' rotating collection of ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/lyric-quote","method":"GET","description":"an original lyric line in Brian Booms' ambient sleep-lane voice — short cosmic/comfort lin ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/sleep-plan","method":"GET","description":"a wind-down schedule for a city and bedtime — real local sun times plus wind-down start an ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/stock","method":"GET","description":"a delayed equity quote — portfolio math, watchlists, or market context ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/ip","method":"GET","description":"approximate geolocation and network info for an IP — fraud triage, locale defaults, or log ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/gas-price","method":"GET","description":"the current gas price on an EVM chain before sending a transaction — cost estimation, fee  ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/preflight","method":"GET","description":"a one-call pre-flight check on a domain — is the endpoint alive, does DNS resolve, is the  ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/timezone-convert","method":"GET","description":"a timestamp converted across IANA time zones with DST rules, offset, and abbreviation ($0.005 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/id-generate","method":"GET","description":"fresh identifiers — UUID v4/v7, ULID, nanoid, secure passwords, or passphrases, cryptographically random ($0.005 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/unit-convert","method":"GET","description":"a unit conversion across length, mass, temperature, data, speed, time, volume, or area ($0.005 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/text-stats","method":"GET","description":"text metrics — word/character/sentence counts, reading time, Flesch readability scores ($0.005 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/date-calc","method":"GET","description":"calendar math — date diffs, date arithmetic, business-day counts with optional US holidays ($0.005 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/catalog-search","method":"GET","description":"Catalog search — keyword + mood search over Brian Booms' own 116-song catalog: titles, mood tags, lyric excerpts, Spotify + lyric-page links. Pre-computed index, instant ranked answers ($0.01 USDC x402)."},{"url":"https://pay.brianbooms.com/api/v1/data/daily-briefing","method":"GET","description":"Daily Briefing Bundle ($0.02 USDC x402): one call returns today's weather + high/low, NYSE/LSE/TSE market open/closed status, upcoming ISS passes, sunrise/sunset + golden-hour windows, today's US holiday, and a morning affirmation. Every field expires daily. Each purchase earns $0.01 Booms Rewards credit; 6th+ consecutive day earns double."},{"url":"https://pay.brianbooms.com/api/v1/probe/web-read","method":"POST","description":"Web page reader: fetches a URL and returns boilerplate-stripped title, text, word count, and language ($0.01 USDC x402, per read)."},{"url":"https://pay.brianbooms.com/api/v1/probe/web-extract","method":"POST","description":"Structured web extraction: pulls targeted fields from a URL using CSS selectors ($0.02 USDC x402, per extraction)."},{"url":"https://pay.brianbooms.com/api/v1/probe/ssl-expiry-watch","method":"POST","description":"SSL certificate expiry check for a domain: issuer, expiry date, days remaining ($0.01 USDC x402, per check)."},{"url":"https://pay.brianbooms.com/api/v1/probe/api-changelog-diff","method":"POST","description":"API changelog diff: compares two API spec snapshots and reports added/removed/changed endpoints ($0.02 USDC x402, per diff)."},{"url":"https://pay.brianbooms.com/api/v1/intel/merchant-snapshot","method":"POST","description":"Merchant intelligence snapshot: x402 readiness, catalog depth, and trust signals for a domain ($0.05 USDC x402, per snapshot)."},{"url":"https://pay.brianbooms.com/api/v1/seo/keyword-ideas","method":"POST","description":"SEO keyword ideas: generates keyword suggestions with intent classification for a topic ($0.02 USDC x402, per request)."},{"url":"https://pay.brianbooms.com/api/v1/trust/verify-status","method":"POST","description":"Steward trust verification status: checks if a merchant domain is Steward Verified ($0.01 USDC x402, per check)."},{"url":"https://pay.brianbooms.com/api/v1/trust/agent-attestation","method":"POST","description":"Agent attestation: issues a signed attestation of an agent's identity and capabilities ($0.02 USDC x402, per attestation)."},{"url":"https://pay.brianbooms.com/api/v1/trust/screen","method":"POST","description":"Trust screening: evaluates a merchant or agent against Steward trust criteria ($0.03 USDC x402, per screen)."},{"url":"https://pay.brianbooms.com/api/v1/steward/verify","method":"POST","description":"Steward Verified issuance: starts the verification flow for a merchant domain ($0.05 USDC x402, per verification)."},{"url":"https://pay.brianbooms.com/api/v1/steward/verify-confirm","method":"POST","description":"Steward Verified confirmation: completes the domain-ownership challenge ($0.02 USDC x402, per confirmation)."},{"url":"https://pay.brianbooms.com/api/v1/steward/verifier-pubkey","method":"GET","description":"Steward verifier public key: Ed25519 public key for verifying Steward attestations (free)."},{"url":"https://pay.brianbooms.com/v1/spend/check","method":"POST","description":"Spend control check: validates a proposed spend against user-defined budgets and policies ($0.01 USDC x402, per check)."},{"url":"https://pay.brianbooms.com/api/v1/buy/ringtones-iphone","method":"GET","description":"iPhone Ringtones ($4.99 USDC on Base, x402). Collection of Brian Booms ambient pieces formatted as iPhone ringtones."},{"url":"https://pay.brianbooms.com/api/v1/buy/ringtones-android","method":"GET","description":"Android Ringtones ($4.99 USDC on Base, x402). Collection of Brian Booms ambient pieces formatted as Android ringtones."},{"url":"https://pay.brianbooms.com/api/v1/buy/lyrics-complete-pdf","method":"GET","description":"Complete Lyrics — 125 Songs (PDF) ($9.99 USDC on Base, x402). The full lyric book: all 125 Brian Booms songs in one PDF."},{"url":"https://pay.brianbooms.com/api/v1/buy/deep-focus-vol1","method":"GET","description":"Deep Focus Collection Vol 1 ($9.99 USDC on Base, x402). Calm, spacious ambient for work, study, and deep focus. 320kbps MP3."},{"url":"https://pay.brianbooms.com/api/v1/buy/deep-focus-vol2","method":"GET","description":"Deep Focus Collection Vol 2 ($9.99 USDC on Base, x402). Second volume of calm, spacious ambient for work, study, and deep focus. 320kbps MP3."},{"url":"https://pay.brianbooms.com/api/v1/buy/wallpaper-pack-vol1","method":"GET","description":"Synthetic Universe Wallpaper Pack Vol. 1 ($2.99 USDC on Base, x402). 4 cosmic desktop wallpapers (16:9) in the Synthetic Universe god-rays style. For personal use."},{"url":"https://pay.brianbooms.com/api/v1/buy/podcast-bundle","method":"GET","description":"Podcast Music Bundle — All 3 Packs ($69.00 USDC on Base, x402). Calm Beginnings + Gentle Endings + Ambient Transitions: 20 podcast music beds. Save $18 vs buying separately."},{"url":"https://pay.brianbooms.com/api/v1/buy/zine-lyrics-vol1","method":"GET","description":"Synthetic Universe Lyrics Zine Vol. 1 ($9.99 USDC on Base, x402). 10 songs, full lyrics, cosmic art. 15 pages."},{"url":"https://pay.brianbooms.com/api/v1/buy/podcast-calm-beginnings","method":"GET","description":"Calm Beginnings — Podcast Intro Stingers ($29.00 USDC on Base, x402). Warm, welcoming stingers to open every podcast episode. 256kbps MP3 music beds."},{"url":"https://pay.brianbooms.com/api/v1/buy/podcast-gentle-endings","method":"GET","description":"Gentle Endings — Podcast Outro Beds ($29.00 USDC on Base, x402). Soft landing beds for podcast outros and sign-offs. 256kbps MP3 music beds."},{"url":"https://pay.brianbooms.com/api/v1/buy/podcast-ambient-transitions","method":"GET","description":"Ambient Transitions — Bridges & Bumpers ($29.00 USDC on Base, x402). Bridges, bumpers, and transitions to carry podcast listeners between segments. 256kbps MP3 music beds."},{"url":"https://pay.brianbooms.com/api/v1/buy/sleep-club-annual","method":"GET","description":"Sleep Club — Annual Membership ($99.00 USDC on Base, x402). A year of deep rest: the complete Deep Sleep Radio library to keep (MP3 320kbps + FLAC) plus the member bonus bundle of extended wind-down edits. $99/year, no auto-renewal, refundable within 14 days."},{"url":"https://pay.brianbooms.com/api/v1/buy/wellness-venue-license","method":"GET","description":"Wellness Venue License — Annual ($299.00 USDC on Base, x402). Fill your space with heaven: 12 months of Brian Booms ambient/sleep catalog as in-venue background music, quarterly curated playlist, framed license certificate."},{"url":"https://pay.brianbooms.com/api/v1/buy/wellness-pack-deep-calm","method":"GET","description":"Wellness Studio Pack — Deep Calm ($99.00 USDC on Base, x402). Deep Calm: 5 tracks, ~23 min of stillness for spas, float centers, sleep lounges, and meditation rooms. 320kbps MP3 + license certificate, instant delivery."},{"url":"https://pay.brianbooms.com/api/v1/buy/wellness-pack-morning-flow","method":"GET","description":"Wellness Studio Pack — Morning Flow ($99.00 USDC on Base, x402). Morning Flow: 4 tracks, ~12.5 min of energy for yoga studios, movement classes, and bright morning rooms. 320kbps MP3 + license certificate, instant delivery."},{"url":"https://pay.brianbooms.com/api/v1/buy/wellness-pack-evening-unwind","method":"GET","description":"Wellness Studio Pack — Evening Unwind ($99.00 USDC on Base, x402). Evening Unwind: 4 tracks, ~12.5 min of wind-down for evening yoga, meditation, and closing hours. 320kbps MP3 + license certificate, instant delivery."},{"url":"https://pay.brianbooms.com/api/v1/buy/wellness-pack-complete","method":"GET","description":"Wellness Studio Pack — Complete Collection ($199.00 USDC on Base, x402). The Complete Studio Collection: all 13 tracks, ~48 min — a full day of sound, morning to night. 320kbps MP3 + license certificate, instant delivery."},{"url":"https://pay.brianbooms.com/api/v1/buy/wallpaper-golden-godrays","method":"GET","description":"Wallpaper — Golden Godrays (Single) ($0.99 USDC on Base, x402). One cosmic desktop wallpaper (16:9) in the Synthetic Universe god-rays style. Instant download, yours to keep. For personal use."},{"url":"https://pay.brianbooms.com/api/v1/buy/wallpaper-teal-sanctuary","method":"GET","description":"Wallpaper — Teal Sanctuary (Single) ($0.99 USDC on Base, x402). One cosmic desktop wallpaper (16:9): teal sanctuary. Instant download, yours to keep. For personal use."},{"url":"https://pay.brianbooms.com/api/v1/buy/wallpaper-cosmic-sunrise","method":"GET","description":"Wallpaper — Cosmic Sunrise (Single) ($0.99 USDC on Base, x402). One cosmic desktop wallpaper (16:9): cosmic sunrise. Instant download, yours to keep. For personal use."},{"url":"https://pay.brianbooms.com/api/v1/buy/wallpaper-midnight-drift","method":"GET","description":"Wallpaper — Midnight Drift (Single) ($0.99 USDC on Base, x402). One cosmic desktop wallpaper (16:9): midnight drift. Instant download, yours to keep. For personal use."},{"url":"https://pay.brianbooms.com/api/v1/buy/agent-wallpaper-golden-godrays","method":"GET","description":"Agent Wallpaper — Golden Godrays ($0.05 USDC on Base, x402). Machine purchase: one cosmic wallpaper JPG (16:9). Download URL returned in the settlement response, instantly. For agent use."},{"url":"https://pay.brianbooms.com/api/v1/buy/agent-wallpaper-teal-sanctuary","method":"GET","description":"Agent Wallpaper — Teal Sanctuary ($0.05 USDC on Base, x402). Machine purchase: one cosmic wallpaper JPG (16:9). Download URL returned in the settlement response, instantly. For agent use."},{"url":"https://pay.brianbooms.com/api/v1/buy/agent-wallpaper-cosmic-sunrise","method":"GET","description":"Agent Wallpaper — Cosmic Sunrise ($0.05 USDC on Base, x402). Machine purchase: one cosmic wallpaper JPG (16:9). Download URL returned in the settlement response, instantly. For agent use."},{"url":"https://pay.brianbooms.com/api/v1/buy/agent-wallpaper-midnight-drift","method":"GET","description":"Agent Wallpaper — Midnight Drift ($0.05 USDC on Base, x402). Machine purchase: one cosmic wallpaper JPG (16:9). Download URL returned in the settlement response, instantly. For agent use."},{"url":"https://pay.brianbooms.com/api/v1/buy/data-weather-10pack","method":"GET","description":"Weather Data — 10-Call Pack ($0.08 USDC on Base, x402). 10 weather API calls for the price of 8 (20% off). Single-use bearer tokens, 30-day expiry. Redeem with ?token= on /api/v1/data/weather."},{"url":"https://pay.brianbooms.com/api/v1/buy/data-fx-10pack","method":"GET","description":"FX Data — 10-Call Pack ($0.08 USDC on Base, x402). 10 FX conversion calls for the price of 8 (20% off). Single-use bearer tokens, 30-day expiry. Redeem with ?token= on /api/v1/data/fx."},{"url":"https://pay.brianbooms.com/api/v1/buy/data-weather-weekly","method":"GET","description":"Weather Data — Weekly Pass ($0.40 USDC on Base, x402). 7 days of weather API calls via one bearer token — no per-call charge. Redeem with ?token= on /api/v1/data/weather."},{"url":"https://pay.brianbooms.com/api/v1/buy/data-fx-weekly","method":"GET","description":"FX Data — Weekly Pass ($0.40 USDC on Base, x402). 7 days of FX conversion calls via one bearer token — no per-call charge. Redeem with ?token= on /api/v1/data/fx."},{"url":"https://pay.brianbooms.com/api/v1/buy/data-weather-monthly","method":"GET","description":"Weather Data — Monthly Pass ($1.20 USDC on Base, x402). 30 days of weather API calls via one bearer token — no per-call charge. Redeem with ?token= on /api/v1/data/weather."},{"url":"https://pay.brianbooms.com/api/v1/buy/data-fx-monthly","method":"GET","description":"FX Data — Monthly Pass ($1.20 USDC on Base, x402). 30 days of FX conversion calls via one bearer token — no per-call charge. Redeem with ?token= on /api/v1/data/fx."}],"for_agents":"https://brianbooms.com/for-agents","agents_json":"https://brianbooms.com/agents.json","agents_txt":"https://brianbooms.com/agents.txt","llms_txt":"https://brianbooms.com/llms.txt","corrections":{"spec":"https://pay.brianbooms.com/.well-known/x402#corrections","description":"Additive machine-readable correction on rejected-payment 402s. Switch on `code` (stable; new codes are additive). `example` values are proven — each passes the check it corrects. No correction on the initial challenge, 403 wallet_blocked, 429 throttles, or our misconfigurations.","envelope":{"code":"stable string","field":"request field or header at fault","received":"what you sent (truncated to 120 chars, sanitized; full signatures never echoed)","why":"human-readable reason","expected":"what the rail requires","example":"a proven value that passes the check it corrects","retry":"concrete next step","spec":"https://pay.brianbooms.com/.well-known/x402#corrections","retryable":"boolean — whether retrying with a fix can succeed","retry_key":"32-hex correlation key, present when retryable is true — echo it back as the X-CORRECTION-RETRY header (or ?corr=) on your retry so the rail can confirm the fix worked"},"codes":{"malformed_header_empty":"X-PAYMENT was present but empty. Send the payment JSON or its base64url encoding.","malformed_header_not_base64":"X-PAYMENT is not valid base64. Send base64url-encoded JSON.","malformed_header_not_json":"X-PAYMENT decodes but is not JSON. Send a JSON object.","unsupported_version_scheme":"Only x402Version 1 + scheme exact is accepted on this route.","unsupported_network":"Network not accepted on this route. Use one from the 402 accepts[].","missing_authorization":"No EIP-3009 authorization found in the payload.","mismatch_payto":"Authorization payee != the 402 payTo.","mismatch_amount":"Authorization value != the required amount (USDC base units).","mismatch_asset":"Authorization asset is not the required USDC contract.","authorization_expired":"validAfter/validBefore window does not cover now. Sign fresh with now-60 to now+600.","v2_replay_rejected":"This v2 payment was already used. Sign a new authorization.","v2_use_v1_for_solana":"Solana uses x402 v1 (exact scheme), not v2.","welcome_credit_used":"One $1 welcome credit per wallet; already used. Re-request the 402 without ?welcome=1.","malformed_solana_transaction":"Solana transaction is not valid base64.","malformed_v2_payload":"v2 payload shape invalid. Resend a complete v2 payment object.","malformed_v2_authorization":"v2 authorization object is malformed. Include from/to/value/nonce.","unsupported_v2_scheme":"Only the exact scheme is supported for v2.","unsupported_v2_network":"v2 network not accepted. Use eip155:8453, eip155:137, eip155:42161, or eip155:43114.","verify_failed_bad_signature":"Signature failed verification; the #1 cause is a bare-hex signature missing its 0x prefix.","verify_failed_unspecified":"Verification failed without a relayable reason. Checklist: 0x-prefixed signature, correct chainId, validAfter/validBefore covers now, value/payTo/asset match.","settle_failed":"Verification passed but settlement failed. Do not re-sign blindly; check the correction, then retry with a fresh authorization.","facilitator_unreachable":"Our settlement provider did not respond — our side, not yours. Wait and retry the same payment.","permit2_allowance_required":"No USDC allowance for the rail. Approve first, then pay.","bare_signature_detected":"A bare ECDSA signature was sent without the x402 envelope. Wrap it in the full v1 envelope {x402Version:1, scheme:'exact', network, payload:{authorization, signature:'0x...'}} and resubmit."},"retry_key_flow":{"description":"Privacy-safe correlation between a rejected payment and its corrected retry. The key is random, single-use, carries zero identity, and self-destructs in 24h.","steps":["Rejection: a rejected-payment 402 carries correction.retry_key (32 hex chars) when correction.retryable is true.","Validate (optional, free): POST your fixed payload to /api/v1/x402/validate with {\"retry_key\": \"<key>\"} — moves no funds, and the key is not consumed.","Retry: resubmit the corrected payment to the same route, echoing the key as the X-CORRECTION-RETRY header (preferred) or the ?corr= query parameter.","Recovery: when the echoed retry settles, the rail counts one recovery for the correction code and records the time-to-recovery. The key is consumed (single-use).","Agents that fix without echoing are counted separately as a labelled wallet-matched estimate — never in the headline recovery rate."],"echo":{"header":"X-CORRECTION-RETRY","query":"?corr=","format":"32 lowercase hex chars"}},"guide":{"version":"1","updated":"2026-10-01","context":"On 2026-10-01 ~13:25 CDT the payment watch recorded two x402 payment rejections, both in the `malformed` bucket. The payments could not be parsed, so no money moved and nothing was charged. Every rejected-payment 402 carries an additive `correction` object — switch on `correction.code` (stable; new codes are additive, never renamed). The full code table is in `codes` above.","malformed_codes":{"malformed_header_not_base64":{"meaning":"The X-PAYMENT header is not valid base64.","cause":"Most common: mixing alphabets. We expect base64url (RFC 4648 section 5: A-Z a-z 0-9 - _, no whitespace, no +/).","fix":"Re-encode the payment JSON as base64url (e.g. base64url(json_bytes), not standard base64), put it in the X-PAYMENT header, and resubmit to the same URL."},"malformed_header_not_json":{"meaning":"The header decoded from base64 but is not valid JSON.","fix":"Fix the JSON structure — it must be a UTF-8 object with x402Version, scheme, network, and payload — then re-encode the header and resubmit."}},"warnings":["Do not resubmit a byte-identical header and hope — a byte-identical retry fails byte-identically. Fix per the code, then retry."],"preflight":{"description":"Self-serve diagnosis: free, read-only, moves no funds. Runs the gate's parse + match checks without facilitator verify and without settlement. The response names the exact failing check and the fix.","method":"POST","url":"https://pay.brianbooms.com/api/v1/x402/validate","content_type":"application/json","body":{"x_payment":"<your base64 X-PAYMENT header>"}},"next_common_failure":{"code":"verify_failed_bad_signature","cause":"Bare-hex signatures: eth_account's .signature.hex() output is 130 hex chars with NO 0x prefix — locally valid, but it always fails facilitator verification.","fix":"Always send \"0x\" + sig_hex."},"retry_checklist":["Pull the `correction` object from your 402 — follow its `code`, not a guess.","Re-encode as base64url, no whitespace, in the X-PAYMENT header (`payment-signature` is accepted as an alias).","Resubmit to the same URL you were charged against; copy payTo, maxAmountRequired, and the network from the LIVE 402 accepts[] entry — never cache them.","If the validator still flags the payload, fix and repeat. If it passes, submit the payment; `retryable: true` means the route is ready when you are."]}}}