find — Group 2, Code 60

Ownership-state discovery: which side of an AN/PAN rotation a RAIDA is on.

Purpose

find is the ownership-state discovery command. It helps a client decide whether a no-response or interrupted rotation left the RAIDA holding the old AN, the PAN, both across a batch, or neither.

The live implementation enforces a minimum request body length of 55 bytes.

Legacy wire reference — verify before relying

This byte layout was restored from the pre-V2 documentation (commit ceba44b). It has not been cross-checked against the current raidax implementation in every detail.

Request body

One 37-byte record per token: denomination (1) + serial number (4, BE) + AN (16) + PAN (16). Repeats for each coin.

CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH CH DN SN SN SN SN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN DN SN SN SN SN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN AN ... 3E 3E

Note on the second 16-byte block: the legacy doc labels both 16-byte blocks as "AN" but the second is the PAN that find is comparing against. Treat the per-coin record as DN(1) + SN(4) + AN(16) + PAN(16) = 37 bytes.

Per-coin packet diagram

DN 0 Serial Number (4B BE) 1 4 AN (bytes 0-2 of 16) 5 7 AN (bytes 3-10 of 16) 8 15 AN (bytes 11-15 of 16) 16 20 PAN (bytes 0-2 of 16) 21 23 PAN (bytes 3-10 of 16) 24 31 PAN (bytes 11-15 of 16) 32 36

Offsets are relative to the start of each 37-byte record.

Mixed response body

If the response status is 211 (mixed), the body contains one byte per token: 0x00 = neither matched, 0x01 = AN matched, 0x02 = PAN matched.

Status codes

Status Code Meaning
FIND_NEITHER208Neither AN nor PAN matched.
FIND_ALL_AN209All matches were against the current AN.
FIND_ALL_PAN210All matches were against the PAN.
FIND_MIXED211Mixed AN/PAN result set.