Why one hundred blocks and not one.This chain mines every ninety milliseconds, so the next block already exists by the time a receipt is written — settling on it would let whoever writes the receipt see the answer first. One hundred blocks puts the outcome about ten seconds beyond anyone's knowledge, ours included, and the wait is exactly as long as the pack takes to open.
The commit height is read by our server at the moment of the request, never sent by your browser. If the height came from the client, anyone could submit an old one whose settling block already exists, read the answer, and retry until they liked it. The settling block is read the same way, on the server.
settle block first block with height ≥ target — not exactly the target, so the rule survives a slow chain
timeout 60 seconds — then the pack is void, and says so
If the settle block is not readable within 60 seconds the pack is voided and shown as voided. We do not settle it with a number of our own. Your free pack for that day comes back — a failure on our side does not spend it.

