On dptimer.com scrambles come from the cubing.js generator and follow the WCA standard for every event: random-state for 2×2, 3×3 (OH, BLD), 4×4, Pyraminx, Skewb, Square-1 and Clock, with the minimum-distance filters of regulation 4b3; WCA random-move for 5×5–7×7 and Megaminx. The badge under the scramble shows which generator produced it. If that generator can't load (offline, or inside the Claude preview), DPTimer falls back to its own: random-state for 3×3 and 2×2, random-move for the rest. Times are truncated to 0.01 s; averages trim the top and bottom 5% (ao5 and ao12 drop one each).
Each session keeps its own event and stats. Click a row's name to rename it.
GAN cubes encrypt their data with the cube's Bluetooth MAC address, and this browser can't read it automatically for . Find it in the GAN app (cube settings) or on the sticker inside the box, then enter it once; it is remembered for next time.
Tip: in Chrome you can skip this by enabling chrome://flags/#enable-experimental-web-platform-features, which lets the page read the address itself.
On the other device open dptimer.com → Sign in → I have a pairing code. Works in any browser, including Bluefy on iPad. The code expires in 10 minutes.
Sessions sync as a whole: if you edit the same session on two devices at once, the most recent change wins. Sample sessions are not synced.
Keep the same sessions on every device. Optional: without signing in, times stay on this device.
For browsers that can't open Google sign-in (for example Bluefy on iPad). On a device that is already signed in, open the account menu → Pair a device.
Without signing in, data lives in this browser only. Sign in with Google (header button) to keep your sessions on every device, or export regularly. csTimer's JSON export imports directly, with sessions and penalties preserved.