Context
BRC-118 (merged as bitcoin-sv/BRCs#122) solves BEEF transaction bloat when unconfirmed ancestors accumulate during rapid sequential payments.
Problem: BEEF payloads grow as transactions chain before confirmation. Real-world measurements show single-transaction BEEFs reaching 155.7KB in 5 minutes — exceeding Cloudflare's 128KB header limit.
Solution: Negotiated transport via x-bsv-payment-transports header. When payloads exceed header limits, client sends payment via multipart/form-data body instead. Fully backward compatible with BRC-103/105.
Why this matters for $402
- Proof-of-Indexing payments chain rapidly — exactly the scenario where BEEF bloat hits
- ClawMiner devices making sequential $402 payments accumulate unconfirmed ancestors fast
- Content micropayments (pay-per-page, pay-per-stream) create long unconfirmed chains
- Without BRC-118, high-frequency $402 payments will silently fail at CDN header limits
Implementation plan
- Add
x-bsv-payment-transports header negotiation to path402 client SDK
- Implement multipart fallback in
@path402/client when BEEF exceeds threshold (~100KB)
- Add server-side multipart parsing to path402 payment verification middleware
- Test with ClawMiner rapid-payment scenarios
References
- BRC-118 spec
- Extends BRC-105 (payment handling) and BRC-103 (authentication)
- 3 production implementations exist (TypeScript, Go, Python)
Context
BRC-118 (merged as bitcoin-sv/BRCs#122) solves BEEF transaction bloat when unconfirmed ancestors accumulate during rapid sequential payments.
Problem: BEEF payloads grow as transactions chain before confirmation. Real-world measurements show single-transaction BEEFs reaching 155.7KB in 5 minutes — exceeding Cloudflare's 128KB header limit.
Solution: Negotiated transport via
x-bsv-payment-transportsheader. When payloads exceed header limits, client sends payment viamultipart/form-databody instead. Fully backward compatible with BRC-103/105.Why this matters for $402
Implementation plan
x-bsv-payment-transportsheader negotiation to path402 client SDK@path402/clientwhen BEEF exceeds threshold (~100KB)References