BTCUSDT, BTC-USD, XBTUSD, tBTCUSD. You write it one way and SORY translates, which is why adding a venue is one string rather than a mapping table you maintain.
Spot
BASE/QUOTE
Perpetual swaps
BASE/QUOTE:SETTLE — the part after the colon is the settlement currency, which is what separates a linear contract from an inverse one.
Products
Dated futures and options need expiry and strike handling everywhere. SORY stays small instead.
