nazar:read scope; nobody reads anyone else’s.
Every figure carries its grade, and the grade is the point. A fix is
seen (the phone’s word), checked (no mock provider reported, within 100 m, a plausible speed from the previous fix, the clock not disputed) or witnessed (another phone’s checked fix vouches for it). A fix’s time is anchored (bound between a public randomness pulse and our receipt), disputed (the phone’s own clock contradicts the pulse) or self. Trips, stops, corridors and ETAs are MODELLED; alerts are evidence, never verdicts. Show the grade beside the number.
Keys, assignments and the pairing code stay on the desk: the API reads, it does not drive.
The return-load desk has its own doors: see Khali daala for your cards and the offers on them.
Verify a vehicle at the roadside
For mechanics, tyre shops, fuel pumps and breakdown desks. The driver’s Pinger shows six digits that change every thirty seconds. Type the registration and the code intoPOST /v1/nazar/verify with your own key (nazar:verify, every tier):
valid: true, the registration and variant, the fleet’s name, who is driving, the vehicle’s last position with its age and grade, the owner’s phone where the fleet allows it, and job_id: a job now sits on the vehicle’s ledger under your key’s name, and the owner sees it. A wrong code, an unknown vehicle or a vehicle with no live key answers valid: false and nothing else; the code proves presence, and only the driver can give it. Kinds: breakdown, tyre, fuel, service, other. Owners can switch providers off for their fleet, in which case the code still opens and the job is kept, but the position and phone are withheld.
Webhooks for your fleet
Any key may subscribe an https URL to its own fleet’s events withPOST /v1/webhooks: nazar.alert.opened, nazar.alert.cleared, nazar.mock.reported, nazar.trip.ended, nazar.day.anchored, nazar.job.opened, and since 10 September 2026 the khali daala events nazar.khali.opened (a vehicle opened for a return load: the card code, the vehicle, where it stands empty and from when), nazar.khali.closed (the card closed, with the reason: taken, closed by the owner, moved off, expired) and nazar.khali.offer (an offer written on the card: who, the load, their figure). Deliveries carry X-Truckaurbus-Event and X-Truckaurbus-Signature (HMAC-SHA256 of the body with the secret returned once at creation), and are retried on failure; a URL that fails ten times in a row is switched off. Market events (variant.*, price.changed) remain an enterprise feature.
Verify a day yourself
The daily digest issha256("nazar-day-v1|<fleet>|<day>|" + "key:hash|..." sorted by key) over the last chained hash per key. Save the .ots bytes from the proof endpoint and run ots verify against the digest with any OpenTimestamps client; once the calendars’ attestation reaches a Bitcoin block, the proof needs nothing from us.
