{"uid":"cap_cW5kPW6B5u-ERkK-9bN96","slug":"obol-payai-bitcoin-broadcast-timing-feed-d3b1136c","name":"Obol PayAI Bitcoin Broadcast Timing Feed","description":"Bitcoin broadcast-timing decision feed for agents: next-block fee estimate sat/vB, fee TREND (rising/falling since last poll), broadcast verdict (broadcast now / wait / wait briefly), economy-tier savings %, recheck-in-seconds, mempool backlog, congestion tier, fee-spike flag, tip height, BTC spot. Poll each cycle to time a BTC broadcast and minimize fees — should I broadcast now? Decision feed, not raw Bitcoin Core RPC. Free teaser: GET /pulse/preview. Cryptographically signed (Ed25519) — every","url":"https://obol-payai.fly.dev/pulse","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","properties":{}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"down","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ZpPHOt9yFv5V1znrRjGm6","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a real-time decision feed indicating whether to broadcast a Bitcoin transaction now, wait, or wait briefly, based on mempool fee estimates, trend, and congestion analysis.","exampleAgentPrompt":"Should I broadcast my Bitcoin transaction right now, or wait for fees to drop? Give me the current sat/vB estimate, whether fees are rising or falling, and whether I should broadcast now or hold off.","exampleUseCases":null,"resultDescription":"Returns a cryptographically signed (Ed25519) JSON payload containing: next-block fee estimate in sat/vB, fee trend (rising/falling since last poll), broadcast verdict (broadcast now / wait / wait briefly), economy-tier savings percentage, recheck-in-seconds countdown, mempool backlog status, congestion tier, fee-spike flag, current tip height, and BTC spot price.","failureModes":["Payment not included or invalid x402 payment header — returns 402 Payment Required","Mempool data temporarily unavailable — may return 503 or stale data","Rate limiting if polled too aggressively — returns 429","Network connectivity issues to upstream mempool source — returns 503 or degraded data","Invalid Ed25519 signature verification if downstream tampering occurs"],"whenToPreferThis":"Use this endpoint when an AI agent or wallet application needs a high-level broadcast timing decision rather than raw Bitcoin Core RPC data. It is ideal for agents automating BTC transaction broadcasts that want to minimize fees without implementing their own mempool analysis logic. Prefer this over raw fee estimators when you need a clear go/no-go verdict, trend direction, and savings estimate in a single poll.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T20:25:40.942Z","isFirstParty":false}