Home / Docs / Compute Leasing

Compute Leasing

XE extends the block lattice with an on-chain compute marketplace. Consumers lease virtual machines from providers, paying XUSD. Providers earn XE emission rewards upon settlement.

Lifecycle

  1. Consumer creates lease block — debits XUSD, specifying vCPUs, memory, disk, and duration
  2. Provider creates lease_accept block — stakes XUSD collateral, provisions VM, gets attestations
  3. Provider creates lease_settle block — earns XE, recovers stake, tears down VM

Cost Model

Two-stage calculation with provider price multiplier:

perHourMilli = vCPUs × 20 + ceil(memMB / 1024) × 10 + diskGB × 1
hours        = ceil(duration / 3600)
base         = ceil(perHourMilli × hours / 1000)   // min 1
scaled       = base × multiplierMilli
cost         = max(1, ceil(scaled / 1000))
stake        = cost / 5                             // min 1
XE reward    = cost

Provider PriceMultiplierMilli range: 500 (0.5×) to 10000 (10×), default 1000 (1×). Duration limits: 60s to 31,536,000s (365 days).

Attestations

VM Management

SSH Gateway & Tunnel

Economics

Provider Policy

Providers can filter incoming leases before expensive stake/attestation/VM-provision gates run. Five flags:

All default to zero (fully permissive). Gate runs in autoAcceptLease immediately after idempotency check. Defined in core/node/policy.go.

Performance Certificates