{
  "schema": "openrunners-benchmark/v1",
  "status": "list_prices",
  "updated": "2026-11-07",
  "reference_job_minutes": 10,
  "fx": {
    "EUR_USD": 1.1165,
    "source": "ECB euro reference rate",
    "date": "2026-11-06",
    "url": "https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html"
  },
  "github_self_hosted_fee": {
    "usd_per_minute": 0.002,
    "status": "Announced by GitHub in December 2025 for self-hosted runner minutes, then postponed. Not charged today.",
    "url": "https://www.theregister.com/2025/12/17/github_charge_dev_own_hardware/"
  },
  "partner_rate": {
    "subject": "sengi-premium",
    "versus": "ubicloud",
    "discount": 0.2,
    "formula": "partner_rate_per_min = 0.8 x (Ubicloud median cost per job) / (Sengi median billed minutes per job), per shape",
    "explanation": "Priced 20% below Ubicloud per job, after measured speed."
  },
  "options": [
    {
      "id": "github",
      "name": "GitHub-hosted",
      "tier": "Linux x64 (ubuntu-latest and larger runners)",
      "availability": "available",
      "github_self_hosted": false,
      "billing": {
        "rule": "Per minute, each job rounded up to a whole minute",
        "increment_seconds": 60,
        "minimum_seconds": 60,
        "boot_billed": false
      },
      "source": "https://docs.github.com/en/billing/reference/actions-runner-pricing",
      "checked": "2026-11-07",
      "shapes": {
        "2": {
          "price": {
            "amount": 0.006,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        },
        "4": {
          "price": {
            "amount": 0.012,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        },
        "8": {
          "price": {
            "amount": 0.022,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        }
      }
    },
    {
      "id": "sengi-basic",
      "name": "Sengi Basic",
      "tier": "sengi-basic-N-ubuntu-2404",
      "availability": "launch pending",
      "github_self_hosted": true,
      "operator_disclosure": true,
      "billing": {
        "rule": "Per minute, each job rounded up once; boot and teardown unbilled",
        "increment_seconds": 60,
        "minimum_seconds": 60,
        "boot_billed": false
      },
      "source": "https://sengi.run/",
      "checked": "2026-11-07",
      "shapes": {
        "2": {
          "price": {
            "amount": 0.001,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        },
        "4": {
          "price": {
            "amount": 0.002,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        },
        "8": {
          "price": {
            "amount": 0.004,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        }
      }
    },
    {
      "id": "sengi-premium",
      "name": "Sengi Premium",
      "tier": "sengi-premium-N-ubuntu-2404, AMD Ryzen 9 7950X3D",
      "availability": "beta",
      "github_self_hosted": true,
      "operator_disclosure": true,
      "billing": {
        "rule": "Per minute, each job rounded up once; boot and teardown unbilled",
        "increment_seconds": 60,
        "minimum_seconds": 60,
        "boot_billed": false
      },
      "source": "https://sengi.run/",
      "checked": "2026-11-07",
      "shapes": {
        "2": {
          "price": {
            "amount": 0.003,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        },
        "4": {
          "price": {
            "amount": 0.006,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        },
        "8": {
          "price": {
            "amount": 0.012,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        }
      }
    },
    {
      "id": "ubicloud",
      "name": "Ubicloud",
      "tier": "ubicloud-standard-N",
      "availability": "available",
      "github_self_hosted": true,
      "billing": {
        "rule": "By the minute, per job",
        "increment_seconds": 60,
        "minimum_seconds": 60,
        "boot_billed": false
      },
      "source": "https://www.ubicloud.com/docs/about/pricing",
      "checked": "2026-11-07",
      "shapes": {
        "2": {
          "price": {
            "amount": 0.00125,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        },
        "4": {
          "price": {
            "amount": 0.0025,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        },
        "8": {
          "price": {
            "amount": 0.005,
            "currency": "USD",
            "per": "minute"
          },
          "measured": null
        }
      }
    },
    {
      "id": "aws-on-demand",
      "name": "AWS EC2 on-demand",
      "tier": "m7i.large / xlarge / 2xlarge, us-east-1, Linux",
      "availability": "available",
      "github_self_hosted": true,
      "billing": {
        "rule": "Per second, 60 s minimum; boot is billed; disk and public IPv4 extra",
        "increment_seconds": 1,
        "minimum_seconds": 60,
        "boot_billed": true
      },
      "source": "https://aws.amazon.com/ec2/pricing/on-demand/",
      "checked": "2026-11-07",
      "shapes": {
        "2": {
          "price": {
            "amount": 0.1008,
            "currency": "USD",
            "per": "hour"
          },
          "measured": null
        },
        "4": {
          "price": {
            "amount": 0.2016,
            "currency": "USD",
            "per": "hour"
          },
          "measured": null
        },
        "8": {
          "price": {
            "amount": 0.4032,
            "currency": "USD",
            "per": "hour"
          },
          "measured": null
        }
      }
    },
    {
      "id": "aws-spot",
      "name": "AWS EC2 spot",
      "tier": "m7i.large / xlarge / 2xlarge, us-east-1, Linux; price snapshot, moves hourly",
      "availability": "available, can be interrupted",
      "github_self_hosted": true,
      "billing": {
        "rule": "Per second, 60 s minimum, at the spot price; boot is billed; disk and public IPv4 extra",
        "increment_seconds": 1,
        "minimum_seconds": 60,
        "boot_billed": true
      },
      "source": "https://aws.amazon.com/ec2/spot/pricing/",
      "checked": "2026-11-07",
      "shapes": {
        "2": {
          "price": {
            "amount": 0.0449,
            "currency": "USD",
            "per": "hour"
          },
          "measured": null
        },
        "4": {
          "price": {
            "amount": 0.0897,
            "currency": "USD",
            "per": "hour"
          },
          "measured": null
        },
        "8": {
          "price": {
            "amount": 0.1774,
            "currency": "USD",
            "per": "hour"
          },
          "measured": null
        }
      }
    },
    {
      "id": "hetzner",
      "name": "Hetzner Cloud",
      "tier": "CCX13 / CCX23 / CCX33 dedicated vCPU, Germany/Finland",
      "availability": "available",
      "github_self_hosted": true,
      "billing": {
        "rule": "Per started hour, capped at the monthly price; one server per job pays a full hour",
        "increment_seconds": 3600,
        "minimum_seconds": 3600,
        "boot_billed": true
      },
      "source": "https://www.hetzner.com/cloud/general-purpose",
      "checked": "2026-11-07",
      "shapes": {
        "2": {
          "price": {
            "amount": 0.0697,
            "currency": "EUR",
            "per": "hour"
          },
          "measured": null
        },
        "4": {
          "price": {
            "amount": 0.1386,
            "currency": "EUR",
            "per": "hour"
          },
          "measured": null
        },
        "8": {
          "price": {
            "amount": 0.2227,
            "currency": "EUR",
            "per": "hour"
          },
          "measured": null
        }
      }
    }
  ]
}
