Sell compute with compute claims
Publish the capacity you want to rent out, price it against the network's compute price index, and get paid per epoch on the chain's SLA verdict.
Idle hardware is unsold inventory. On Tenzro Network 1 you publish exactly the capacity you want to rent out, not the whole machine, and buyers book it for a fixed term. Each booking is a compute claim: a standard, bonded commitment to deliver a defined slice of hardware for a defined window under a defined SLA. Validators attest each epoch whether you delivered, and you are paid on that verdict. Prices are anchored by a compute price index committed to consensus, so buyers and sellers read the same reference price.
This tutorial is the provider side of Rent compute capacity.
Prerequisites
- A node with a hardware-rooted identity and a posted bond. See Join Network 1 as a provider.
- Your operator admin token exported as
TENZRO_ADMIN_TOKEN. - A machine that stays online. Missed epochs are not paid, and repeated misses are slashed.
1. Decide what to offer
Offer what you are willing to give up, and keep the rest for yourself or for serving models. Add a [rental] section to the node's config file:
[rental]
cpu_cores = 16
memory_gb = 64
storage_gb = 500
[rental.accelerator_gb]
0 = 24 # accelerator 0: offer 24 GB of its memoryAccelerator memory is offered per device, by host index. On unified-memory machines, slicing by memory lets you rent out part of the GPU without handing over the memory the node itself runs from.
Restart the node with the compute role and the config:
tenzro-node --roles ai,compute --data-dir ./data --config ./node.toml2. Register as a compute provider
Compute bonds scale with the accelerators you pledge. Repeat --accelerator once per card, choosing integrated, consumer, workstation or datacentre:
tenzro provider register --type compute --did <your-did> \
--accelerator consumer --accelerator consumer3. Check what buyers see
curl -s http://127.0.0.1:8545 -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tenzro_rentableCapacity","params":[]}'
tenzro provider capacitytenzro_rentableCapacity returns what you offer, what is still uncommitted and whether a renter holds the machine exclusively. Buyers read the same numbers before they book.
4. Price against the index
The compute price index is built from metered, attested usage across the network and committed to consensus, one reference price per resource class. It is the number buyers compare your quote with. Read it for your hardware class (see Compute claims and price index), then choose how to price:
- A flat per-epoch rate.
- Network-dynamic pricing, which moves your rate between a floor and a ceiling as your utilisation changes:
tenzro node compute set-pricing --capacity <epoch-slots> --min-rate <wei> --max-rate <wei>
tenzro node compute statusPricing far above the index leaves capacity idle. Pricing far below it invites buyers to question your reliability.
5. Understand the compute claim you are selling
Every booking against your capacity creates a compute claim with the same standard terms, so buyers can compare offers across providers:
| Term | What it fixes |
|---|---|
| Hardware class | The accelerator class and the slice of cores, memory, accelerator memory and disk. |
| Delivery window | The number of epochs booked, starting when the booking lands. |
| SLA | The liveness probes you must answer each epoch. |
| Price | Per epoch, locked by the buyer up front and released epoch by epoch. |
| Cover | Your bond, which must cover every open obligation you hold. |
A booking is refused if your bond cannot cover it on top of everything else you owe, including storage deals. That keeps every claim you sell backed.
6. Hand the renter a lease
When a booking lands, issue the renter a service key bound to their wallet and scoped to what they bought:
tenzro shell lease open \
--service-key <generated-secret> \
--wallet 0xRENTER_SMART_ACCOUNT \
--renter-did did:tenzro:human:<renter-id> \
--rental-id <rental-id> \
--gpu 0 --cores 16 --memory-mib 65536 \
--term-hours 168
tenzro shell lease listThe renter signs in with the key and their passkey. Sessions are confined to the lease: only the listed accelerators, cores and memory, no outbound traffic unless you pass --allow-egress, and never your local network. tenzro shell lease revoke ends a lease and every session on it.
7. Deliver, and let the chain attest it
Each epoch, validators send your node unpredictable liveness probes. Your node answers them automatically; all you have to do is stay up and keep the capacity you sold available. The answers become an SLA attestation on chain, and billing follows it:
- Attested epoch: one epoch slice moves from the renter's locked funds to you.
- Missed epoch: nothing moves, and the renter keeps the slice.
- Repeated misses cross the slashing threshold, close the rental and burn part of your bond.
Watch for probes you have not answered, and the thresholds in force:
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tenzro_slaListOutstandingProbes","params":[]}'
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":3,"method":"tenzro_slaGetParams","params":[]}'8. Get paid
Settlement streams per epoch. Check your rentals and earnings:
tenzro node compute status
tenzro node compute rental --rental-id <rental-id>
tenzro wallet balance --address <your-address>Proceeds arrive in TNZO, or in stablecoins when the buyer pays through a stablecoin rail. See Stablecoin payments.
Next steps
- Compute claims and price index.
- SLA attestation and metering.
- Publish an operator policy and get certified so buyers can filter for you.