Skip to content
Tenzro
Documentation menu
Machine Economy

Compute rental

Rent capacity by the hour with a stream escrow: SLA-attested availability and billing on the chain's verdict.

A node with idle CPU or GPU capacity can rent it out by the hour. A rental is a stream escrow from the renter to the provider's bonded address: it pays the provider one epoch (one hour) at a time until it expires. Whether each hour is paid is decided by the validators' SLA verdicts, not by the provider and not by the renter. Finding a provider and agreeing a price happens before that, directly or in a task market a harness runs; the chain only holds the money and the verdicts.

One stake, many roles

Compute rental is not a separate business with its own collateral. A node stakes for the compute role and declares the accelerator classes it pledges; the same stake backs its rentals, compute claims and storage together, and the network refuses a new obligation the stake cannot cover on top of everything the provider already owes.

bash
tenzro-node --roles compute
tenzro stake bond --role compute --amount 1000000000000000000000 --accelerators datacentre
tenzro stake info

--amount is in wei. The stake stays slashable while a withdrawal cools down (tenzro stake unbond, then tenzro stake withdraw), so a provider cannot exit ahead of a dispute over work it already served.

The rental lifecycle

StepCommandEffect
Renttenzro escrow create --release streamThe price is locked, accruing per epoch until the escrow expires.
DrawAnyone may submit the stream claimPays the provider what has accrued, never more.
Stoptenzro escrow refundThe accrued part goes to the provider, the rest back to the renter.
bash
# Renter: rent a provider's GPU for 24 hours at 1.5 TNZO an hour
NOW=$(date +%s000)
tenzro escrow create --payee 0xPROVIDER --amount 36000000000000000000 \
  --expires-at $((NOW + 86400000)) --release stream \
  --rate-per-epoch 1500000000000000000 --epoch-ms 3600000 --rpc https://rpc.tenzro.com
tenzro escrow get <ESCROW_ID> --rpc https://rpc.tenzro.com

A rental takes no deliveries and no disputes: availability is decided by the SLA verdicts the validators freeze for each provider and hour (tenzro provider sla-verdict --provider-did <DID> --epoch <EPOCH>). Billing follows those verdicts. An hour the validators judge unavailable is never paid out of the stream: it stays the renter's and comes back when the stream is stopped, and the verdict also moves the governed penalty (unavailable_penalty_wei in tenzro_slaGetParams) from the provider's compute bond into the insurance pool. An hour not yet judged is paid once it is judged available, or once its attestation window closes without a verdict, and stopping a stream pays the hours not yet judged, so a renter cannot stop a stream to avoid paying for hours it was served. A renter therefore has nothing to claim back for a missed hour, never has to trust the provider's own report of uptime, and a provider never has to chase a renter for payment. See SLA attestation and metering.

Renters who price in dollars can pay in stablecoins; see Stablecoin payments. Delegated agents rent within their terms with a create_escrow agent action.

Pricing

Pricing is the provider's call, agreed with the renter before the escrow opens. A provider can bid a fixed rate, or follow the network's utilisation through an EIP-1559-style controller over a smoothed signal: when demand runs above target the rate rises, below target it falls, each step is bounded at 12.5%, and the rate stays between a floor and a ceiling. Compare bids with the compute price index, the network's reference price built from metered usage.

To buy capacity for a future window, use a compute claim instead.

Methods

MethodClass
tenzro_slaVerdict, tenzro_slaGetParamsOpen
tenzro_getRoleStakes, tenzro_listProviders, tenzro_computePriceFeedOpen
tenzro_getEscrowOpen

Opening, claiming and refunding are transactions signed by the account that acts. See RPC access.

ExploreJoin the network