Send every 30–60s while the app is in the foreground and online. Used for:
  • Marking the user as “active” for the leaderboard.
  • Feeding the anti-sybil quality signal (battery / network diversity).
  • Warming the server-side profile cache.

Request

Fields

string
required
Must match a previously-registered device.
string
required
User address owning the device.
number
Battery level 0.0–1.0.
boolean
boolean
string
"wifi", "cellular-4g", "cellular-5g", "ethernet", "unknown".

Response — 200 OK