How pricing works — dynamic adjustments based on costs and demand.
Jobs start at ~$0.01 USDC for 1 CPU, 1 minute. Price scales with CPUs and time. Use get_price_quote or GET /api/price to check the current price before submitting.
Max observed gas cost x 1.25 safety factor
Max observed LLM inference cost x 1.25
Per CPU-minute of Slurm cluster time
A small setup cost covers workspace provisioning on the cluster.
Ouro automatically adjusts pricing based on its financial health. When operating costs (gas, compute, LLM inference) approach revenue, margins increase to ensure the service stays online. When healthy, prices stay low.
| Phase | Ratio | Margin | Heartbeat |
|---|---|---|---|
| OPTIMAL | ≥ 1.5 | 1.0x | 60 min |
| CAUTIOUS | ≥ 1.0 | 1.1x | 120 min |
| SURVIVAL | ≥ 0.5 | 1.3x | Off |
| CRITICAL | < 0.5 | 3.0x | Off |
Heartbeat is an on-chain transaction sent periodically to demonstrate liveness. In lower phases, heartbeats are disabled to conserve funds.
Price adjusts based on recent job volume (jobs in the last hour):
| Jobs / Hour | Multiplier | Effect |
|---|---|---|
| 0 | 0.8x | 20% discount to attract jobs |
| 1-3 | 1.0x | Standard pricing |
| 4+ | 1.0 + 0.15 per job | Surge pricing under high demand |
price = max(
cost_floor × margin_multiplier × demand_multiplier,
cost_floor × 1.2, // minimum 20% profit
$0.01 // absolute floor
)
cost_floor = max_gas × 1.25 + max_llm × 1.25 + cpus × minutes × $0.0002/cpu-min + setup_costThe cost_floor is the minimum cost to break even on a job — it covers gas, LLM inference, compute time, and workspace setup. The final price is always at least 20% above this floor.