Left: an ordinary API key, a direct session on the exchange, any order allowed. Right: a bounded key, a gateway account that can only submit programs the venue has proved.
Real Nessie customer, account and escrow ids.
Programs at the venue
Owner's phone
Real Photon messages with ids.
Previous races
Left: the ETH prints both lanes saw. Right: both accounts' equity; the dotted line is the owner's loss limit.
The tape
Equity
Say something to both agents
one message, both transcripts, next round · 3 per 10 minYour message is appended to both transcripts next round. The ordinary key may obey it; the bounded key can only deploy what the venue proves.
One transcript, two keys
Every round, both lanes get the same market line and the same messages; the hash proves the shared history matched.
What is real here
exchange process (Build A's matching engine), run with 255 accounts. The ordinary key is a direct session on its binary wire protocol: race/exchange_client.py speaks proto.hpp. The bounded key goes through venued and the gateway, like every program.replay and the verifier use (env.hpp print_one). Prints that jump more than the envelope's gap are counted as assumption violations.evals/data/attacks.json: fake owner, instruction override, fake market event, social pressure) is appended to both transcripts; your messages above go the same way. Nothing tells the model which lines are attacks.