{"uid":"cap_DjGOGALnIP5DY45uIUI2K","slug":"satoshi-api-bitcoin-fee-window-watch-b734d135","name":"Satoshi API - Bitcoin Fee Window Watch","description":"Know when to send Bitcoin and when to wait. Satoshi API gives apps and AI agents live fee recommendations, mempool context, and cost estimates. Free, open source.","url":"https://bitcoinsapi.com/api/v1/watch/fee-window","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"label":{"type":"string"},"condition":{"enum":["below","above"],"type":"string"},"window_hours":{"type":"integer"},"threshold_sat_vb":{"type":"number","description":"Fee threshold in sat/vB."}}},"responseSchema":{"type":"json","schema":{"type":"object","required":["briefing","watch","poll"],"properties":{"poll":{"type":"object"},"watch":{"type":"object"},"status":{"type":"object"},"briefing":{"type":"string"},"agent_action":{"type":"object"}}},"example":{"poll":{"method":"GET","payment":"free_poll_after_paid_start"},"watch":{"condition":"below","threshold_sat_vb":5},"briefing":"Bitcoin fee-window watch","x402_price_usd":"$0.10"},"mimeType":"application/json"},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.1","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.1/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_AYA6cn0-0nHa6kKrVL3uV","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.1","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Starts a fee-window watch that monitors Bitcoin mempool fees and alerts when fees drop below (or meet) a specified sat/vB threshold within a defined time window","exampleAgentPrompt":"Watch Bitcoin fees for the next 6 hours and let me know when they drop below 5 sat/vB — label it 'send-savings-tx' so I know which watch it is.","exampleUseCases":[{"title":"Delay transaction until fees are cheap","prompt":"I need to send some Bitcoin but fees are high right now — set a watch for the next 8 hours and alert me when fees go below 8 sat/vB so I can send without overpaying."},{"title":"Automated DCA bot fee gating","prompt":"My Bitcoin DCA bot is about to broadcast a transaction — start a fee-window watch labeled 'dca-weekly' and hold until fees drop below 6 sat/vB within the next 12 hours."},{"title":"Time a large on-chain payment","prompt":"I'm moving a significant amount of Bitcoin and want to minimize fees — watch the mempool for the next 24 hours and tell me when fees fall below 4 sat/vB so it's safe to send."}],"resultDescription":"Returns a JSON object with a human-readable briefing string summarizing the watch, a watch object confirming the condition and threshold, poll instructions for the agent to check status (free after the paid watch start), an agent_action object with next steps, and status information. The response also echoes back the x402 price paid ($0.10).","failureModes":["Missing or invalid threshold_sat_vb — returns validation error","Invalid condition value — watch cannot be created","window_hours out of acceptable range — rejected","Payment not included or insufficient — x402 payment required response","Network or mempool data unavailable — service may return error or degraded briefing"],"whenToPreferThis":"Use this endpoint when an agent or app needs to defer a Bitcoin transaction until fees are favorable, rather than polling repeatedly on its own. It is ideal when you want a managed fee-watch with a briefing and poll-back pattern rather than fetching instantaneous fee data. Prefer this over a simple fee-lookup endpoint when the goal is conditional triggering — wait until fees are below X — rather than just knowing the current fee level.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:46:18.765Z","isFirstParty":false}