Skip to content

Providers & Nodes

Ouranoos lets any user sell real storage capacity. Provider mode is governed by ProviderOperationPolicy and docs/DEVICE_RESOURCE_POLICY.md.

Registering a provider

On-chain via OuranoosService.registerProvider:

  • capacityGb — GB offered to the network
  • pricePerGbPerBlock — price in plancks
  • endpoint — IPFS / API endpoint

Mobile nodes also publish ProviderNodeKind and ProviderSlaTier on pallet-storage-market.

Device benchmark

NodeCubit.runBenchmark() uses NodeTelemetryService for reproducible measurements:

  • Real disk write/read sample (MB/s)
  • TCP loopback throughput
  • Free storage from OS (df when available)
  • Battery level and charging state
  • Temperature reported as unavailable until native channel exists

Provider policy controls

Users configure before activating a node:

  • WiFi/Ethernet-only
  • Charging-only
  • Minimum battery threshold
  • Monthly data quota cap
  • Active hours window
  • Safe exit before releasing reserved space

Reserved space

Selling 50 GB means Ouranoos blocks 50 GB of real local capacity in ouranoos_reserved_space/ until safe exit completes. Committed chunks cannot be deleted while deals are active.

Platform notes

Android

  • Filesystem stats via native channel
  • Provider notification while serving
  • Foreground service expansion needed for strict Doze behavior

iOS

  • Encrypted chunks can persist in sandbox
  • Provider mode is restricted — no 24/7 serving promise in UI
  • Background execution limited by App Store rules

Desktop

  • Closest to a traditional provider server
  • Still requires explicit quota, safe exit, and bandwidth policy

Market listings

Demands and auctions from local simulation show BETA LOCAL badge. Only chain-indexed listings show ON-CHAIN.