Quickstart
Running in five minutes.
Playground
Try it on live books.
Venues
24 venues, one string each.
Why quoted prices are the wrong number
The venue with the best price on screen is often not the cheapest place to trade, because you pay a different fee on each one.
Venue A looks cheaper and costs more. Give SORY your fees and it compares what you actually pay, everywhere.
Two things, done properly
Market data
Every venue’s book, merged into one. Dead feeds drop out on their own.
Execution
Send an order and get back exactly what went where, and why.
SORY is not an OEMS. No balances, no positions, no PnL, no database, no state on disk. It plugs into the system that already has those.
What people build with it
Best execution
Sweep the cheapest liquidity instead of guessing which venue is cheapest.
Arbitrage
One book, every venue — the spread you see is the spread you get.
Hedging
Fill on one venue, hedge across the others in a single call.
Market making
Quote passively, hedge the fill.
Promises it keeps
Each of these is enforced by a test, not a good intention.A quiet venue is a broken venue
A quiet venue is a broken venue
A feed that stops publishing is marked stale and drops out of the book and out of routing, with the reason attached. A socket that stays open while delivering nothing is what fills an order far away from where you expected.
Nothing disappears quietly
Nothing disappears quietly
What you asked for always equals what was filled plus what was not, with a reason for the difference. A slice too small for one venue moves to another instead of vanishing.
A cancel never races a fill
A cancel never races a fill
cancel returns once every venue has confirmed, not once the requests were sent.Fees are never guessed
Fees are never guessed
SORY uses the rates you give it, never a venue’s published retail tier. If you ask it to apply a fee it does not have, it stops rather than using zero.
No floats near money
No floats near money
Every price, size and fee is a
Decimal.