The real truth about pricing
We show what we have, what we don't, and where competitors are ahead. Every claim links to source code.
Full feature matrix
Green means shipped and verified. Red means we don't have it. Yellow means partial.
| Spooktacular | Tart | Anka | Orka | GhostVM | |
|---|---|---|---|---|---|
| Licensing & Pricing | |||||
| License | MIT (free forever) | Fair Source (BSL) | Proprietary | Proprietary | MIT |
| Pricing | $0 | $0 – $36K/yr | Contact sales | $499+/mo | $0 |
| Source available | ✓ Full source, MIT | ✓ Fair Source | ✕ | ✕ | ✓ MIT |
| VM Management | |||||
| APFS CoW cloning | ✓ 48ms clones | ✓ | ✓ | Limited | ✓ |
| VM lifecycle (start/stop/pause/resume) | ✓ | ✓ | ✓ | ✓ | ✓ |
| Save/restore machine state | ✓ macOS 14+ | ✕ | Limited | ✕ | ✕ |
| Disk snapshots | ✓ Save/restore/list/delete | ✕ | ✓ | Limited | ✕ |
| Ephemeral VMs | ✓ --ephemeral flag | Manual cleanup | ✓ | ✓ | ✕ |
| Capacity enforcement | ✓ 2-VM limit enforced | ✕ | ✓ | ✓ | ✕ |
| Provisioning | |||||
| SSH provisioning | ✓ Wait-for-SSH + streaming | SSH only | ✓ | Limited | ✕ |
| Disk-inject provisioning | ✓ Zero-network LaunchDaemon | ✕ | ✕ | ✕ | ✕ |
| VirtIO socket provisioning | ✓ Host + guest agent | ✕ | ✕ | ✕ | ✕ |
| Guest agent (clipboard/exec/apps) | ✓ 12 endpoints over vsock | ✕ | ✕ | ✕ | ✓ Clipboard/exec/apps |
| Unattended Setup Assistant | ✓ macOS 15+ keyboard driver | ✕ | ✓ | ✓ | ✕ |
| CI runner templates | ✓ GitHub Actions | GitHub only | ✓ Multiple | ✓ Multiple | ✕ |
| Interfaces | |||||
| GUI app | ✓ SwiftUI + Liquid Glass | ✕ | ✓ | ✓ Web UI | ✓ GUI + CLI |
| CLI | ✓ 15+ commands (25+ with subs) | ✓ | ✓ | Limited | ✓ |
| HTTP REST API | ✓ 9 endpoints | ✕ | ✓ | ✓ | ✕ |
| Menu bar app | ✓ | ✕ | ✕ | ✕ | ✕ |
| Networking | |||||
| NAT networking | ✓ | ✓ | ✓ | ✓ | ✓ |
| Bridged networking | ✓ With NAT fallback | ✓ | ✓ | ✓ | ✕ |
| Isolated (air-gapped) | ✓ Zero network | ✕ | ✕ | ✕ | ✕ |
| Hardware | |||||
| Metal GPU displays | ✓ 1-2 per VM, 1920x1200 | Basic | Basic | ✕ | Basic |
| Audio output + microphone | ✓ | ✕ | ✕ | ✕ | ✕ |
| VirtIO shared folders | ✓ | ✓ | Limited | ✕ | ✓ |
| Enterprise & Scale | |||||
| Kubernetes-native | ✓ CRD + Controller | Orchard (basic) | ✕ | ✓ | ✕ |
| OCI registries | ✕ Planned | ✓ | Proprietary | Docker | ✕ |
| Runner pool orchestration | ✓ 9-state lifecycle FSM | ✕ | ✓ | ✓ | ✕ |
| mTLS (controller ↔ node) | ✓ Optional, mutual cert auth | ✕ | Server TLS only | ✓ | ✕ |
| Cert rotation without restart | ✓ File-watch hot reload | ✕ | ✕ | Limited | ✕ |
| Fleet autoscaling | ✕ Planned | ✕ | Manual | ✓ | ✕ |
| Self-hosted | ✓ Anywhere | ✓ | ✓ | MacStadium only | ✓ |
| LaunchDaemon services | ✓ Per-VM plist | ✕ | Requires agent | ✓ | ✕ |
| Quality | |||||
| Test suite | ✓ 411+ tests / 50+ suites | Some | Unknown | Unknown | Unknown |
| Supply chain (SBOM, attestations) | ✓ SBOM + artifact attestations | ✕ | Unknown | Limited | ✕ |
| Accessibility (WCAG) | ✓ Full VoiceOver | N/A (no GUI) | Limited | Web WCAG | Limited |
Where competitors are ahead
- OCI registries: Tart ships OCI push/pull today. We have it planned but not yet implemented.
- Fleet autoscaling: Orka autoscales. Anka has manual pool management. We have no fleet management yet.
- Multi-CI templates: Anka and Orka support BuildKite, CircleCI, and Jenkins natively. We only have GitHub Actions today.
- Pool auto-replacement: Anka replaces failed VMs automatically. Spooktacular's RunnerPool reconciler now handles this via its lifecycle state machine, but it is still in development on the
feat/runner-lifecycle-enginebranch. - Enterprise support: Anka and Orka offer paid support contracts. We are community-supported only.
Note: GhostVM previously had an edge on clipboard/exec/apps via its guest agent. Spooktacular now ships the same capabilities with 12 HTTP endpoints over vsock, plus file transfer, port discovery, and health monitoring that GhostVM does not offer.
Pricing: $0 forever
Spooktacular costs nothing. Not a free tier — free everything.
Spooktacular
MIT licensed, open source
- Unlimited VMs (2 concurrent per host)
- All features included
- Full source code access
- Community support
- No sales calls
- No license keys
Tart
Fair Source license, paid tiers
- Free for small teams
- Orchard orchestrator extra
- OCI registry support
- SSH-only provisioning
- No GUI application
Anka
Per-core licensing, proprietary
- Per-core license model
- Enterprise GUI + CLI
- Multiple CI integrations
- Pool management
- Paid support contracts
Orka
MacStadium hosted, proprietary
- Kubernetes-native
- Managed infrastructure
- Web UI
- Autoscaling
- MacStadium lock-in
GhostVM
MIT licensed, open source
- GUI + CLI interface
- Clipboard/exec/apps agent
- No Kubernetes support
- No HTTP API
- No templates or ephemeral
- No capacity enforcement
Total cost of ownership: 20 EC2 Macs, 3 years
Real numbers using AWS public pricing for mac2-m2pro.metal at $1.08/hr with 24-hour minimum allocation.
| Cost category | Spooktacular | Tart (Enterprise) | Anka | Orka |
|---|---|---|---|---|
| Software license (3yr) | $0 | ~$108K | Contact sales | ~$18K+ |
| EC2 hosts needed (40 runners) | 20 hosts (2 VMs each) | 20 hosts (2 VMs each) | 20 hosts | N/A (MacStadium) |
| EC2 compute (3yr) | $567,648 | $567,648 | $567,648 | N/A |
| MacStadium hosting (3yr) | N/A | N/A | N/A | ~$360K+ |
| Total 3-year cost | $567,648 | ~$675,648 | $567K + license | ~$378K+ |
EC2 mac2-m2pro.metal pricing: $1.08/hr, 24/7 dedicated host = $9,460.80/yr per host. Tart Enterprise pricing based on published rates. Anka pricing is not publicly available. Orka pricing from MacStadium estimates for equivalent capacity. All figures are estimates for comparison purposes.
Try it yourself
Install in 30 seconds. Run your own comparison on real workloads.