Skip to content
Tenzro
← All tutorials
Tutorial · Operate

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.

Intermediate30 min

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:

toml
[rental]
cpu_cores = 16
memory_gb = 64
storage_gb = 500

[rental.accelerator_gb]
0 = 24    # accelerator 0: offer 24 GB of its memory

Accelerator 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:

bash
tenzro-node --roles ai,compute --data-dir ./data --config ./node.toml

2. Register as a compute provider

Compute bonds scale with the accelerators you pledge. Repeat --accelerator once per card, choosing integrated, consumer, workstation or datacentre:

bash
tenzro provider register --type compute --did <your-did> \
  --accelerator consumer --accelerator consumer

3. Check what buyers see

bash
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 capacity

tenzro_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:
bash
tenzro node compute set-pricing --capacity <epoch-slots> --min-rate <wei> --max-rate <wei>
tenzro node compute status

Pricing 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:

TermWhat it fixes
Hardware classThe accelerator class and the slice of cores, memory, accelerator memory and disk.
Delivery windowThe number of epochs booked, starting when the booking lands.
SLAThe liveness probes you must answer each epoch.
PricePer epoch, locked by the buyer up front and released epoch by epoch.
CoverYour 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:

bash
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 list

The 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:

bash
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:

bash
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