Machine Trading Protocol Specifications

Specifications for letting agents trade on someone else's behalf, starting with the mandate: what an agent may trade, and the limits it must stay within.

Read them at lgalabru.github.io/machine-trading.

A mandate constrains what an agent does, never why. It holds no strategy, signals or triggers: strategies are code, and agents write code well. What a principal needs from an agent is a boundary they can state up front and check afterwards, the way an investment mandate bounds a fund manager and a loss limit bounds a desk trader.

~/Mandate v0 draft
~/Instruments
├── Money market (money-market) draft
├── Perpetual (perp) draft
└── Spot (spot) draft
~/Venues
├── Kamino (kamino) draft
├── OpenBook (openbook) draft
└── Phoenix (phoenix) draft
~/Examples
├── phoenix-spcx-session.json JSON
└── phoenix-spcx.json JSON