Foxhound
Recovers failed Stripe payments, handles disputes and reports subscription health for merchants, and is paid only on money it recovers.
foxhoundapp.com · github.com/DrDustinEdwards/foxhound · capsid.dustinedwards.info/s/foxhound
Used by 3
- Capsid coordinates
- Foxhound Admin writes to, reads
- Carrel publishes to
Inside Foxhound
Runs
App Worker
React Router 8 on a Cloudflare Worker
Serves foxhoundapp.com: marketing, sign-in, the merchant app, Stripe webhooks and the admin API.
writes to foxhound writes to MoneyWriter reads RateLimiter reads Auth rate limiter writes to foxhound-audit reads foxhound-audit writes to foxhound-email reads foxhound-email reads foxhound-email-events writes to Email reads Stripe writes to Stripe
Scheduled jobs
Workers cron triggers
Recovery every five minutes, daily sweeps and backup, weekly digests, and monthly billing and audits.
writes to CronLock writes to foxhound writes to foxhound-backups writes to foxhound-email
Stores
foxhound
D1
Accounts, merchants, payments, recoveries, disputes and billing.
foxhound-backups
R2
The nightly D1 dumps.
MoneyWriter
Durable Object
Serializes every write that moves money.
CronLock
Durable Object
Keeps each scheduled job to one run at a time.
RateLimiter
Durable Object
Rate limits for the API.
Auth rate limiter
Durable Object
Rate limits for sign-in.
foxhound-audit
Cloudflare Queues
Free revenue audits, run one at a time off the request.
foxhound-email
Cloudflare Queues
Outgoing recovery and account mail.
writes to foxhound-email-dlq
foxhound-email-dlq
Cloudflare Queues
Mail that failed every retry.
foxhound-email-events
Cloudflare Queues
Delivery events for sent mail.
Outside
Stripe
Stripe Connect
Merchants' payments, failures and disputes.
Email
Workers send_email binding
Recovery mail from send.foxhoundapp.com, sign-in mail from auth.foxhoundapp.com.
Uses 7
Public model, 2026-10-23. Markdown