sory v5.0.0 · out now

Multiple venues,one consolidated book.

A smart order router for crypto. In a Python package. Aggregate books and execute against the best all-in price.

Python 3.11+  ·  pip install sory

The whole integration

Two calls.

Get market data. Place order.

config = {
    "licence_key": "...",
    "fees_bps": "fees.toml",          # your own fees
    "symbol": "BTC/USDT",
    "exchanges": ["binance", "okx", "coinbaseexchange", "kraken"],
}

async with SoryClient(config) as sory:
    book = sory.book()                    # every venue, merged, fee-adjusted

    order = await sory.place(              # split across venues, best all-in price
        side="buy", qty=Decimal("2"), order_type="market",
    )

Venues

One string each.

Add a venue by adding its id to exchanges. Nothing to install, register or write.

Documentation

Start here.

Everything lives in the docs.