
If BalHost is on your short list and you want a direct answer: for most iOS/macOS CI work, request Figment's M-series Mac from $95/month through /mac-hosting/start. If your pipeline needs a known-fixed M4 / 16 GB / 256 GB machine with Fastlane and CocoaPods already installed, BalHost at $250/month, or $225/month effective on a $2,700 annual prepay is the straightforward pick. The headline entry-price gap is $155/month, but these are not the same box — Figment's exact M-series chip and RAM are fixed when you place the request, and Figment also offers a $29 virtual Intel macOS plan BalHost does not match.
BalHost sells a single Mac hosting configuration as of November 2026, per the macOS Server product page:
Billing options published on that page:
| Term | Rate | Upfront |
|---|---|---|
| Monthly | $250/month | $250 |
| Annual | $225/month effective | $2,700 |
The annual plan is a 10% discount — $300 saved over 12 months — but the full $2,700 is paid upfront. No setup fee and no explicit annual-prepay refund policy are shown on the pricing page; confirm cancellation terms with BalHost before prepaying. Tax or VAT is as stated in BalHost's own checkout — the pricing page lists the figures above in USD.
Figment's current retail offers for Mac work:
Physical plans are currently fulfilled against confirmed supply. Figment does not publish an uptime SLA, a free trial, a benchmark or a provisioning speed, so confirm any required service commitment and evaluation terms in the quote.
| Scenario | BalHost | Figment |
|---|---|---|
| Month-to-month, no commitment | $250 × 12 = $3,000 | M-series from $95 × 12 = $1,140 |
| Annual prepay | $2,700 upfront ($225/mo effective) | No published annual prepay |
| Managed with CI setup | not offered as a separate SKU | Managed Build Mac $249 × 12 = $2,988 |
| Lowest Mac entry price | — | Virtual Intel macOS $29 × 12 = $348 |
Two honest distinctions:
BalHost documents full sudo/admin access on its M4 Mac mini via SSH, VNC, Apple Remote Desktop and Screen Sharing. On Figment's M-series, confirm the access level with Figment at request time if your CI needs sudo or installs system-level certificates.
Apple's toolchain rules do not collapse into a single OS floor. Xcode 27 requires macOS Tahoe 26.6 and does not run on Intel. Earlier Xcode 26.x releases vary in their minimum macOS; some 26.x versions still ship iOS simulator runtimes that execute on Intel hosts. visionOS and the visionOS Simulator require Apple silicon. Check the specific Xcode/macOS pair you need against Apple's published system requirements before choosing between Figment's Intel VM and an M-series request.
BalHost's image includes Fastlane, Homebrew, Xcode, CocoaPods, Command Line Tools, Git, Ruby, Python and Node.js on first boot. Figment's standard M-series is self-managed; the Managed Build Mac ($249) includes the CI pipeline setup. If you need Fastlane wired on day one without engineering effort, that is the managed tier's job.
Location matters for latency and compliance: BalHost is in Istanbul. Figment's region details are confirmed at quote; state your target region in the request.
Neither BalHost nor Figment publishes a benchmark that matches your workload, so the only credible comparison is your own clean build. The script below is an unexecuted example — we have not run it for you, and it is not a benchmark result. It stops on the first failure, so a build error can never be recorded as a fast run.
set -euo pipefail
# 1. Clone the project you actually ship
git clone "$YOUR_REPO_URL" app && cd app
# 2. Confirm the real scheme name before timing
xcodebuild -list
# 3. Time a clean build; the script aborts on failure
SCHEME="$YOUR_SCHEME" # from xcodebuild -list
DEST="platform=macOS" # or your iOS Simulator destination
time xcodebuild clean build \
-scheme "$SCHEME" \
-destination "$DEST" \
CODE_SIGNING_ALLOWED=NO
# 4. Note the machine state for the record
sysctl hw.model hw.logicalcpu hw.memsize
Run it on the BalHost machine during the 1–4 hour post-provisioning window and on the Figment unit after your request is fulfilled. Compare wall-clock times for the same commit.
brew bundle dump --file=Brewfile and gem list > gems.txt. Do not run env > env.txt; it will capture API keys in plaintext. Write down the required secret names and restore the values through your own secret manager on the Figment host.fastlane/Fastfile, fastlane/Appfile and fastlane/Matchfile. Keep .env* out of git..p12. Provisioning profiles are files under ~/Library/MobileDevice/Provisioning Profiles/ — copy them directly; they are not exported from Keychain.brew bundle --file=Brewfile, bundle install, import .p12 certs (with private keys), drop provisioning profiles into ~/Library/MobileDevice/Provisioning Profiles/.| Your situation | Figment plan |
|---|---|
| Trying Mac CI on a tight budget, Intel toolchain acceptable | Virtual Intel macOS $29/month |
| Physical Intel workload | i3 Mac $49/month (request) |
| Solo developer, self-managed Apple silicon | M-series from $95/month |
| Team needing CI pre-wired | Managed Build Mac $249/month |
| Two-developer team with CI runners | Managed Mac Team $999/month |
The $29 virtual Intel macOS plan is the fastest way to prove your pipeline runs at all before committing to a physical M-series quote. It cannot execute ARM-only binaries and cannot run the visionOS Simulator; for those, use the M-series request and state the required chip class, RAM or GPU workload in the quote.
Start your Figment request at /mac-hosting/start.
Related reading: