Subscribe in USDC
The subscriber pays the monthly price in USDC on Base. The uptime guarantee applies from that block.
UpHealthSLA.subscribe(serviceId)Providers sell monthly plans in USDC on Base and fund a reserve to back their uptime guarantee. If a service falls below that guarantee, subscribers can claim a USDC refund from the reserve.
CloudBox costs $10 a month and guarantees 99.95% uptime. A 518-minute outage drops it to refund tier 2, so $2.50 moves from the provider's reserve to the subscriber's balance.
The uptime target, refund tiers and reserve balance are public state in the UpHealthSLA contract.
The watchdog checks each service and records an outage after consecutive failed checks. Each record is hashed with keccak256.
Refunds come from a prefunded reserve and can be claimed as soon as a breach is recorded.
The subscriber pays the monthly price in USDC on Base. The uptime guarantee applies from that block.
UpHealthSLA.subscribe(serviceId)The provider deposits USDC into the UpHealthSLA contract. Each subscription locks its worst-case refund from this reserve, and the balance is public.
UpHealthSLA.fundReserve(serviceId, amount)The watchdog checks each service and records downtime after 3 failed checks in a row. Each record is hashed with keccak256 and submitted to the contract.
UpHealthSLA.recordOutage(id, minutes, hash)If uptime falls below the guarantee, the subscriber claims the refund for the matching tier. The USDC comes out of the provider’s reserve.
UpHealthSLA.claimCompensation(serviceId)uptimeBps = floor((43200 − downtime) × 10000 / 43200) refund = monthlyPrice × tierBps / 10000
Payments and refunds follow rules enforced by the contract. Outage reports come from an approved attestor, which is the part you still need to trust.
Read the full trust modelAn approved attestor: a monitor address that can submit outage records (minutes down and a one-time hash) to the contract. Providers and subscribers cannot submit records.
In this build the attestor is trusted. It is the sandbox monitor, or your wallet if you deploy your own copy.
Each subscription locks its worst-case refund from the provider's reserve at checkout. Refunds use the worst tier reached, are paid only once, and are claimed by the subscriber.
A plan shows Sold out when the reserve cannot cover another subscription.
An attestor quorum, where several independent monitors in different locations must agree before an outage is recorded.
Not yet built. It is the first item on the provider roadmap.
Set a monthly price and an uptime target, then fund the USDC reserve that backs them. When the monitor records an outage, subscribers are refunded from the reserve and the incident appears in your incident log.
Subscribers pay a monthly price in USDC, which goes to the provider's wallet when they subscribe. The provider funds the reserve that backs each subscription.
Infrastructure providers such as RPC nodes, inference APIs and data feeds. Many of their customers already pay in USDC on Base and choose vendors on uptime.
A small take rate (around 1%) on subscription volume settled through UpHeld, plus a fee for verified listings and the public SLA badge. Nothing is charged in this testnet build.
Each subscription locks its worst-case refund: $25.00 × 50% = $12.50. The reserve is only spent when the SLA is breached. Reserve withdrawals are not available in this testnet build.
Monitors run by different parties must agree before an outage is recorded, so a single monitor cannot trigger or block a payout.
An embeddable widget that shows live uptime and reserve balance on a provider's pricing page.
Endpoints that agents pay for per request in USDC (x402-style), with the reserve refunding calls that fail the SLA.