| 1 | L1 | vault::create_wallet (VALID_WALLET_CREATE) | user payer | links user_commitment to a Solana payer; identity-only |
| 2 | L1 | vault::deposit | user payer | reveals deposit amount + mint (SPL transfer) |
| 3a | L1 | matching_engine::init_pending_order_slot | user trading_key | empty PDA, zero order intent |
| 3b | L1 | matching_engine::delegate_pending_order | funder + user trading_key | hand slot to ER validator |
| 5 | ER | matching_engine::submit_order | user trading_key | HIDDEN — order intent never on L1 |
| 6 | ER | matching_engine::run_batch | TEE / operator | match all delegated slots in the rollup |
| 7 | ER | matching_engine::undelegate_market | TEE / operator | commits BatchResults back to L1 |
| 9a | L1 | vault::lock_note(note_a) + lock_note(note_b) | TEE | references commitments already public from deposit |
| 9b | L1 | Ed25519 precompile + vault::tee_forced_settle | TEE | atomic note_a/b consume + note_c/d/fee append |
| 10 | L1 | vault::withdraw (VALID_SPEND) | recipient | spends a note, reveals amount + mint + recipient ATA |