RFID Unit Events

Every EPC read from every device, forensic grain. Filter by business type, hardware kind, device, location, SKU, unit state or EPC range. Click a row for the full unit trace: identity, 96-bit decomposition, provenance, lifetime journey, linked entities and the raw device payload.

4,812 events today across 10 business types and 12 hardware kinds. 710 from commissioned hardware, 4,102 from the simulator. A sim event is hash-chained and visible and can never carry a ledger_entry_id (R-12.12), so nothing on this page in SIM mode has moved stock.
Business
All types 4,812
ENCODE 142
DISPATCH 312
RECEIVE 96
ZONE_CHANGE 204
SALE 284
RETURN 31
RETURN_RECEIVE 28
DAMAGE 7
CYCLE_COUNT 3,412
WRITE_OFF 2
Hardware
GATE_ENTRY 104
GATE_EXIT 386
CARTON_SCAN 88
BIN_MOVE 204
MISSED 2
UNAUTHORIZED 1
MISMATCH 3
LOW_BATTERY 1
TAG_ATTACH 142
TAG_DETACH 2
HEARTBEAT 1,844
Device
All devices
G1 gate 2,103
H1 hand 1,204
H2 hand 412
S1 MCC 508
S2 YAS 384
P1 printer 142
Unit state
in_stock
on_display
picked
in_transit
returned
in_repair
sold
written_off
lost
Anomalies only 4
EPC range
All EPCs
3034F0000 0000-3FFF
3034F0000 4000-7FFF
3034F0000 8000-BFFF
3034F0000 C000-FFFF
Last 5m
1h
24h
7d
Space pause R raw Esc close Reconcile

Event density · last 30 minutes

one bar per minute
14:0614:1214:1814:2414:3014:35
NormalAnomaly minuteDevice dark, low count is absence not calm

Event mix · today

4,812 events
CYCLE_COUNT 3,412 · 70.9% · observing, no postings DISPATCH 312 · 6.5% SALE 284 · 5.9% ZONE_CHANGE 204 · 4.2% ENCODE 142 · 3.0% RECEIVE 96 · 2.0% RETURN, RETURN_RECEIVE, DAMAGE, WRITE_OFF · 68 combined · 1.4%
  • CYCLE_COUNT3,412 · 70.9%
  • DISPATCH312 · 6.5%
  • SALE284 · 5.9%
  • ZONE_CHANGE204 · 4.2%
  • ENCODE142 · 3.0%
  • RECEIVE96 · 2.0%
  • Reverse and end of life68 · 1.4%
Cycle counts dominate the volume and post nothing: they are observing hops. Reading the mix as "70% of activity is counting" is correct, and reading it as "70% of stock movement is counting" is not.

Unit event stream

16 of 4,812 shown · click a row for the unit trace · click the caret for the raw payload source: sim
TimeEventHardwareEPCSKUStateDeviceLocation / zoneActorRoleLedgerConf
14:36:12.043DISPATCHGATE_EXIT3034F00001D21A0000MSR31-07picked > in_transitG1HQ_319 · exit dock 1Ramesh K.confirmingLE-4820711.00raw
{"id":"UE-10412","type":"DISPATCH","hardware_kind":"GATE_EXIT","epc":"3034F00001D21A0000","device":"G1","antenna":2,"rssi_dbm":-47,"read_count":3,"dwell_ms":410,"read_at":"2026-07-29T14:36:12.043+04:00","source_mode":"sim","match":{"kind":"shipment","ref":"DB-0712","confidence":1.0,"method":"manifest_epc"},"ledger_entry_id":482071}
14:35:02.771SALECARTON_SCAN3034F00002A1180000MIN-CNL-019in_stock > soldS2YAS · counterKhaled H.originatingLE-4820680.97raw
{"id":"UE-10411","type":"SALE","hardware_kind":"CARTON_SCAN","epc":"3034F00002A1180000","device":"S2","rssi_dbm":-38,"read_at":"2026-07-29T14:35:02.771+04:00","pos_match":{"order":"#MIN10482","window_s":94,"store":"YAS","confidence":0.97},"rule":"D1 · sold on POS match, never on dispatch"}
14:33:41.208ZONE_CHANGEBIN_MOVE3034F000005A190000LBA01in_stock > on_displayS1MCC · floor windowFatima A.originatingLE-4820641.00raw
{"id":"UE-10410","type":"ZONE_CHANGE","hardware_kind":"BIN_MOVE","stock_type_from":"STOCK","stock_type_to":"DISPLAY_GOOD","location":"MCC","note":"location unchanged, stock type changed. days-on-display clock starts from entered_state_at. no display_allocations table exists (G-12.10)."}
14:31:55.116UNMATCHEDMISMATCH3034F00008C3190000MST-CRM-42-BLKsold > blockedG1HQ_319 · exit dock 1systemobservingDRF-01430.00raw
{"id":"UE-10409","type":"UNMATCHED","reason":"terminal_unit_moved","epc":"3034F00008C3190000","unit_state":"sold","sold_order":"#MIN10391","sold_at":"2026-07-18T16:04:12+04:00","note":"sold is absorbing. a hop out of it requires a registered reversal edge plus approval (R-12.14). read recorded in full, routed to drift, zero postings."}
14:28:07.900CYCLE_COUNTCYCLE_COUNTx412 batchmixed 38no changeH1HQ_319 · zone A3Adnan S.observingnone1.00raw
{"id":"UE-10408","type":"CYCLE_COUNT","session":"CC-1108","expected":412,"found":409,"missing":3,"unexpected":0,"zone_mismatch":2,"note":"a count NEVER auto-applies. the 3 missing units become shrinkage findings for module 09 and post only after approval (R-12.28)."}
14:22:08.554RETURN_RECEIVEGATE_ENTRY3034F00003C4400000JAE17sold > returnedG1HQ_319 · returns laneRamesh K.originatingLE-4820411.00raw
{"id":"UE-10407","type":"RETURN_RECEIVE","case":"CSD-4821","return_awb":"DHL 4548827193","stock_type_from":"IN_TRANSIT_RETURN","stock_type_to":"QUARANTINE","note":"L19 · custody split from condition. present, owned, not sellable. only a physical inspection moves it out of quarantine."}
14:21:10.115DISPATCHGATE_EXIT3034F00001D1070000MSR31-07picked > in_transitG1HQ_319 · exit dock 1Ramesh K.confirmingTR-09411.00raw
{"id":"UE-10406","type":"DISPATCH","transfer":"TR-0941","destination":"MCC","antenna":1,"rssi_dbm":-52,"read_count":4,"note":"ops2 dispatch event has not landed yet. RFID wins physical existence so the unit moves now; the quantity row is confirming against the transfer pair already posted by module 07."}
14:12:44.902RECEIVEGATE_ENTRY3034F000009F020000PP02announced > newG1HQ_319 · receivingAdnan S.originatingLE-4820121.00raw
{"id":"UE-10405","type":"RECEIVE","grn":"GRN-2319","grn_line_id":88412,"po_line_id":null,"supplier":"CIC","batch":"2607","stock_type_to":"RECEIVED_NOT_INVOICED","note":"L20 · RNI is owned. ownership is monotonic inbound. PO line carries no sku_id (L15), so po_line_id is null and the join goes through item_codes."}
14:08:31.640ENCODETAG_ATTACHx48 batchPP02- > newP1HQ_319 · encode stationAdnan S.observingidentity only1.00raw
{"id":"UE-10404","type":"ENCODE","batch":"ENC-20260729-002","serial_from":472,"serial_to":519,"sku_epc_index":40706,"note":"encode mints identity, not stock. the quantity already exists from the GRN. encode is only permitted after a QC accept disposition (module 06 R-06.19)."}
13:52:11.339UNMATCHEDUNAUTHORIZED3034F0000FFA220000unknownno unitG1HQ_319 · exit dock 1systemobservingDRF-01420.00raw
{"id":"UE-10403","type":"UNMATCHED","reason":"unknown_epc","epc":"3034F0000FFA220000","decoded":{"header":"30","company":"000001","sku_index":4882,"serial":8738},"note":"sku_index 4882 is not allocated in sku_epc_index. seen 14 times in one antenna pass, collapsed to one unmatched_reads row with seen_count=14 (R-12.19). the read is recorded in full; gate_reads.epc is deliberately NOT a foreign key so an unknown tag can never be dropped (R-12.18)."}
13:48:31.201DAMAGEMISMATCH3034F00004B2E10000CDW01in_stock > returnedH1HQ_319 · QC benchAdnan S.originatingDMG-04411.00raw
{"id":"UE-10402","type":"DAMAGE","category":"clasp_broken","severity":"partial","photos":2,"inspector":"Adnan S.","stock_type_to":"QUARANTINE","note":"damage moves condition, not location. write-off is a separate approved act (R-12.15)."}
13:31:04.772RETURN-3034F00006B9440000JRY01sold > soldcsdcustomer · in transitsystemobservingnone1.00raw
{"id":"UE-10401","type":"RETURN","case":"CSD-4822","event":"return.parcel_booked","note":"a return INTENT is not a return. the expectation is recorded, the unit does not hop, and no stock moves until a physical read arrives (R-12.34). this is the structural reason a carrier status string can never credit sellable stock."}
13:04:12.070WRITE_OFFTAG_DETACH3034F00007781A0000TNS01returned > written_offH1HQ_319 · damage zoneSachitra P.originatingWO-00911.00raw
{"id":"UE-10400","type":"WRITE_OFF","approval":"WO-0091","approved_by":"finance","value_fils":94000,"note":"the hop is accepted only because it names an approved write-off request. without one the endpoint returns 409. RFID records the physical act, finance authorises the financial one."}
13:58:04.001-HEARTBEATn/an/an/aH2HQ_319systemobservingnone1.00raw
{"id":"UE-10399","type":"HEARTBEAT","device":"H2","uptime_s":482301,"cpu_pct":12,"temp_c":38.4,"battery_pct":31,"note":"LAST heartbeat from H2. everything after this is silence. liveness is an ABSENCE rule swept every 5 minutes because no further event will arrive (R-12.21)."}
12:41:19.887RECEIVECARTON_SCANx18 batchMST-CRM-42-BLKin_transit > in_stockS1MCC · stockroomFatima A.confirmingTR-09381.00raw
{"id":"UE-10398","type":"RECEIVE","transfer":"TR-0938","dispatched":20,"received":18,"short_serials":["3034F00005C1110000","3034F00005C1120000"],"note":"item-level discrepancy: the two missing units are NAMED, not counted. that is what closes S18, which is PARTIAL in rfid-app today."}
12:14:52.310SALE-3034F00009D2010000MIN-2159in_transit > soldops2customer · DubaisystemconfirmingLE-4819041.00raw
{"id":"UE-10397","type":"SALE","source":"ops2.carrier.delivered","awb":"DHL 4548827193","order":"#MIN10474","note":"D1 · a unit becomes sold on carrier delivered. NEVER on dispatch. this unit was dispatched on 26-07 and only becomes sold now, three days later."}
11:47:33.204ZONE_CHANGEBIN_MOVEx24 batchMSR31-07no changeH1HQ_319 · A3 to PICKINGAdnan S.observingnone1.00raw
{"id":"UE-10396","type":"ZONE_CHANGE","carton":"MC-4471","from_zone":"319-A3","to_zone":"319-PICKING","note":"same location, same stock type, so the balance key does not move and the pivot must not flicker. observing role, ledger_entry_id is null (R-12.10)."}
Every read is either matched or explicitly unmatched. There is no third outcome and nothing is dropped: AC-12.9 asserts the join returns zero orphans over a rolling 7 days.

Open unmatched reads

2 open Drift workbench
EPCReasonDeviceLocationSeenFirstLastDrift caseStatus
3034F0000FFA220000unknown_epcG1HQ_3191413:52:1113:52:14DRF-0142open
3034F00008C3190000terminal_unit_movedG1HQ_319614:31:5514:31:58DRF-0143open
3034F00002F8810000no_manifestG1HQ_319328-07 16:1128-07 16:11DRF-0140explained
3034F00001A0400000premature_exitG1HQ_319927-07 09:4127-07 09:44DRF-0136resolved
3034F00003D9120000duplicate_windowG1HQ_3194126-07 14:0226-07 14:03nonesuppressed
3034F00007C2200000wrong_directionG1HQ_319225-07 11:2025-07 11:20DRF-0129resolved
Forty-one reads of one tag sitting in an antenna field collapse into one row with seen_count = 41. Without the collapse index a single stationary unit produces 41 drift cases (R-12.19).

What a row here can and cannot do

Every row on this page is a unit_ledger hop plus, for hardware events, the immutable gate_reads row that caused it.

Can
move a unit between registered states, change its location, its zone or its stock type, and attach evidence to an existing quantity posting.
Can
post a quantity row, but only when its edge is registered as originating and only inside the same transaction.
Cannot
skip a state. The composite foreign key onto unit_state_transitions makes an unregistered hop a database error.
Cannot
post anything at all when source_mode = 'sim', or when the device is not commissioned.
Cannot
be edited. There is no PATCH and no DELETE anywhere in this module. A changed interpretation supersedes; it never overwrites.

The confidence column is the match confidence, not a probability that the event happened. A gate read at 1.00 confidence means the manifest named that exact EPC. A POS link at 0.97 means SKU, store and a 94-second window agreed but no operator confirmed it.

Connected to

Gates and feed 3-way reconcile Mobile scanner SKU detail Drift Audit log Sibling events ops2 events CSD events GRN events IWMS events Shipments Transfers Damages Stock count