// challenge instances for CTF organizers

Don't be the Bad CTF.

Every instance a team starts gets its own microVM, and your Docker containers run inside it as configured. Servers in major regions around the world keep your event running smoothly.

isolation
1 VM per instance
billing
10-minute ticks
integration
CTFd, REST API
tail -f /var/log/chall.run/spawn.log 415 running
09:00, when the CTF opens and the servers start to suffer

01 right after the start

Most outages happenin the first minutes.

A made-up timeline from people who have been through plenty of CTFs.

  1. Organizers post "good luck, have fun" in #announcements
  2. Challenges unlock. 812 teams press "start instance" at the same time
  3. The one docker host hits load average 97. SSH stops answering
  4. The OOM killer picks the postgres behind web/blog-v2. Of course it does
  5. #general: "is chall down?" (×140)
  6. Someone reboots the box. Every running instance, and every half-written exploit, is gone
  7. Top CTFtime comment: "bad ctf, infra died".

$ diff bad-ctf.yml chall.run.yml

+1 microVM per instance

A fork bomb in one instance doesn't touch any other, not even the same team's next challenge. Each VM's kernel is isolated, and no VM shares the docker socket.

+Capacity reserved for your event

With a Reserved plan, memory and vCPU on dedicated servers are ready for your start time. No other event's instances are placed on the reserved capacity.

+A queue beats an error

If resources run short, requests go into a queue instead of failing. CTFd shows players their position and estimated wait.

+TTL and automatic cleanup

You set the lifetime per challenge: 10 minutes for a quick one, a few hours for a long one. You also choose whether players can extend. Expired instances are cleaned up automatically.

+Resource limits per VM

Per-VM resource limits mean one team using too much never affects the others.

03 pricing

Credits, countedin 10-minute ticks.

Usage is charged in credits per 10-minute tick, with no base fee. Every event gets free credits, so small CTFs cost nothing, and large ones still come in under running your own servers on AWS or Google Cloud.

04 community support

Free instancesfor small CTFs.

Every approved event gets 30,000 credits free, and student and non-profit events get up to $250 more each. We fund this together with our sponsors.

30,000
free credits for every approved event
$250
extra for student and non-profit events
$0
expected cost of a campus-sized CTF

Early access is paused.Reach us by email.

$ contact

We've paused early-access requests for now while we get the beta ready. For event plans or any questions, send us an email.

support@quickmetal.kr send an email →