About Checkpoints
What is a checkpoint?
A checkpoint is a specific location on the course that a participant must reach and "claim" with their phone. The claim records a check-in for their team and syncs to the server in real time. The participant must physically be at the checkpoint to claim it, which keeps check-ins tamper-resistant and location-verified.
Two ways to claim a checkpoint
When you create or edit a checkpoint you choose how participants can claim it. You can enable either method, or both:
- NFC tag — a physical NFC sticker or tag is placed at the checkpoint. You enter the tag's Tag ID in the checkpoint form; it must match the ID written on the tag exactly (case-insensitive). The participant taps the tag with their phone. See Setting up NFC Devices for how to write and organize tags.
- GPS coordinates — you enter a latitude and longitude for the checkpoint. The participant taps a "Check In" button when their phone is physically within about 10 metres of the point, and the server verifies their location before accepting the claim. No physical tag is needed.
A checkpoint must have at least one method. Leaving a method's fields blank disables it.
Important: the web racer page cannot read NFC tags
Participants can race using either the PunchMonkey mobile app or the web racer page in a phone browser. These differ in what they support:
- The mobile app can claim checkpoints by NFC tag or GPS, on both Android and iPhone.
- The web racer page can only claim checkpoints by GPS — phone browsers (including iPhone Safari) have no access to NFC hardware.
This means a checkpoint set up with only a Tag ID is unreachable for anyone racing from the web page. If you expect participants to use the web page (for example iPhone users who haven't installed the app), give those checkpoints GPS coordinates as well.
Checkpoint types — what happens when a checkpoint is claimed
Beyond crediting the visit, a checkpoint's type can make something happen on the participant's phone the moment they claim it. The type is independent of how the checkpoint is claimed — any type works with NFC or GPS.
- Traditional — the default. Claiming it simply credits the checkpoint; nothing else happens.
- Message — shows a custom message you write (a clue, a riddle, a note about the next leg) in a pop-up the participant dismisses.
- Website — opens a web page at a URL you supply — handy for a video, a photo, a quiz, or external instructions.
- Bearing — gives the participant a button that reports the compass bearing (true north) and distance from where they are to the checkpoint's coordinates. You can cap how many times it may be used. Requires GPS coordinates (the bearing target). Good for orienteering-style navigation.
- Hidden — looks and acts like a normal checkpoint, but stays out of the participant's list — invisible and unclaimable — until a trigger reveals it (see below). Great for surprise or bonus controls.
- Mystery — carries up to three clues you write. Each clue is a button the participant taps to read it. A clue can be available from the start or locked until a trigger is claimed, so hints unlock progressively as a team advances.
Triggers
Any checkpoint — of any type — can be marked as a trigger with the "This checkpoint is a trigger" checkbox on the checkpoint form. Claiming a trigger affects other checkpoints in the same leg that point to it:
- It reveals Hidden checkpoints that name it as their trigger — they appear in the list and become claimable.
- It unlocks Mystery clues that name it as their trigger — the locked clue button becomes tappable.
When you set up a Hidden checkpoint or a Mystery clue, you choose its trigger from a drop-down of the checkpoints in that leg that are marked as triggers. A checkpoint can be a trigger and something else at the same time — for example a Message checkpoint that also reveals a hidden bonus control when it's claimed.
Ideas for using types in your race
- Scavenger hunt — Mystery clues that unlock as teams find earlier controls, a Message with the next riddle at each stop, and a Hidden bonus control revealed only after a specific trigger.
- Orienteering — Bearing controls for navigation practice, with the leg set to Sequential ordering to enforce a route.
- Educational / themed — Website controls linking to a short video or quiz at each landmark, and Messages sharing facts about the location.
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.