Assets (XE & XUSD)

Dual-asset model — XE for consensus weight and provider emission, XUSD for compute payment.


XE supports two native assets with distinct economic roles.

Units

Both assets use 6 decimal places (core.Decimals = 6). Every on-chain amount — balances, send amounts, lease costs, stakes — is an unsigned 64-bit integer in micro-units:

1 XE   = 1,000,000 µXE
1 XUSD = 1,000,000 µXUSD

A balance of 1000000 is one whole token, not a million. Where integer division on an amount is unavoidable, the protocol always rounds up.

XE

The native asset. Supply comes from the genesis block (42,000,000 XE) and from lease settlement, which mints XE to the provider in proportion to the lease's XUSD cost:

emission_µXE = max(1, ceil(cost_µXUSD × R_capped / 1000))
R_capped     = CapR(LockedR, LockedPayoutCap, LockedTWAP)

The emission parameters are locked onto the lease when the provider accepts it, so every node computes the same emission. The live epoch.0 publishes r_effective: 2000, so providers currently earn 2× the lease cost.

XE confers voting weight — an account's delegation weight is its XE balance in micro-XE.

XUSD

[!NOTE] Not issued on this testnet yet XE is the only asset in circulation on testnet-0001. XUSD has no issuance path today — the faucet hands out XE from a pre-funded wallet rather than minting XUSD — so the lease pricing below describes the protocol, not something you can pay for right now.

  • Lease payment — consumers pay XUSD for compute
  • No voting weight — XUSD is mintable by authorized minters, so letting it carry consensus weight would let a minter mint governance power along with the balance; only XE counts
  • Issuance — XUSD enters circulation only via minter mint blocks from accounts in sys.minter (claim logic was removed from the ledger). No such minter is active on this testnet; the faucet sends XE and holds no minter key.

Asset Encoding

8-byte field, left-aligned UTF-8, zero-padded:

"XE"   → 58 45 00 00 00 00 00 00
"XUSD" → 58 55 53 44 00 00 00 00

Cost Formula

Lease pricing is deterministic, in micro-XUSD:

perHourMicro = vCPUs × 20_000 + ceil(memoryMB / 1024) × 10_000 + diskGB × 1_000
hours        = ceil(duration / 3600)
cost         = max(1, ceil(perHourMicro × hours × multiplierMilli / 1000))

multiplierMilli is the provider's price multiplier scaled ×1000 (1000 = 1.000×), read from the performance certificate the lease references.

ResourceRate
vCPU20,000 µXUSD/hour
Memory10,000 µXUSD/GB/hour
Disk1,000 µXUSD/GB/hour

Worked example: 1 vCPU, 1 GB memory, 10 GB disk, 1 day at 1.000× → 24 × (20,000 + 10,000 + 10,000) = 960,000 µXUSD (0.96 XUSD).

Stake = ceil(cost / 5) µXUSD (minimum 1). XE emission at settlement = ceil(cost × R_capped / 1000) µXE (minimum 1).