About Checkpoints
What is a checkpoint?
A checkpoint is an NFC tag placed at a specific location on the course. When a participant taps the tag with their phone, the app records the check-in for their team and syncs it to the server in real time.
All checkpoints in PunchMonkey use NFC tags — the participant must physically be at the tag to record a scan. This makes check-ins tamper-resistant and location-verified.
NFC checkpoints
- Requires a physical NFC sticker or tag at the checkpoint location.
- Enter the tag's UID in the web console when creating the checkpoint — it must match the ID written on the tag exactly (case-insensitive).
- See Setting up NFC Devices for how to write and organize tags.
Start and Finish tags
In addition to mid-leg checkpoints, every leg requires two special NFC tags:
- Leg Start — the participant taps this tag to begin the leg. Recorded as the leg's start time.
- Leg Finish — the participant taps this tag to complete the leg. Recorded as the leg's finish time.
These are configured when you create or edit a leg, not in the Checkpoints section.
Race Start and Race Finish tags
Each race can also have a designated Race Start tag and a Race Finish tag:
- The Race Start tag starts the overall race clock. When a participant scans it, both the race and that leg's start are recorded simultaneously — a single tap does both.
- The Race Finish tag ends the race. When scanned, the app shows a "Race Finished!" overlay and stops the clock. Similarly, scanning it records the leg finish at the same time.
This means for a typical single-leg race you only need two physical tags: one at the start (which is both the Race Start and Leg Start) and one at the finish (which is both the Race Finish and Leg Finish). For a multi-leg race, the Race Start is usually the first leg's Start tag, and the Race Finish is the last leg's Finish tag.
Set these from the race management page using the Set as Race Start and Set as Race Finish buttons.
Checkpoint ordering
Each leg has a Checkpoint ordering setting:
- Sequential — the participant must complete checkpoints in the order they are numbered. Useful for legs with a defined path.
- Any — checkpoints can be completed in any order. Useful for scavenger hunts where teams choose their own route.