Technické řešení Štosuj
Tento dokument popisuje architekturu fungování Štosuj z technického hlediska. Jakým způsobem uživatel vytváří svůj účet, propojení s burzou, strategie a jak konkrétně funguje předávání datových požadavků na burzy.
Štosuj VPS
Na virtuálním privátním serveru s IP adresou 46.28.110.125 běží aplikace https://stosuj.cz s databází a správou uživatelských účtů a strategií.
Uživatel si vytvoří strategii, tj. definování parametrů/podmínek, za kterých chce vytvořit nákupní či prodejní objednávku.
Parametry/podmínky mohou být například:
- datum/čas (např. den v týdnu, den v měsíci, každých X dní)
- cena/pohyb měnového páru (např. při poklesu BTC/CZK o 2 % nakup)
- veřejný indikátor (např. NUPL, Fear & Greed Index, pokles ceny od all-time high)
Vždy jde o podmínky definované samotným uživatelem, Štosuj nikdy nedoporučuje a nikdy za uživatele nerozhoduje kdy nakupovat nebo prodávat.
Štosuj hlídá tyto uživatelem nastavené parametry/podmínky a při jejich naplnění odešle uživatelovi datovou informaci (webhook), že byly podmínky naplněny a přesné parametry dle jeho nastavení strategie, například:
- Na burze Coinmate nyní poklesla cena BTC/CZK o 2 % a dle tvých parametrů strategie chceš nakoupit za 1000 Kč.
Štosuj nepřijímá a nepředává na burzy pokyny k objednávkám, pouze sleduje dané parametry/podmínky a odesílá datovou informaci (webhook) uživateli, který s ní dále nakládá dle svého.
Podobný webhook lze vytvořit například i na grafovém nástroji TradingView.com - při splnění podmínek vám systém pošle webhook, na který můžete zareagovat jakkoliv dle sebe.
Dvě základní možnosti zpracování webhooku
Pro komunikace s burzami se používá například open-source knihovna XChange viz. https://github.com/knowm/Xchange
Používáme rozšířený adaptér XChange open-source knihovny pro fungování s aplikací Štosuj.
Tato část kódu (v diagramu níže zeleně jako “XChange modul”) je parametrizována API klíči vytvořenými na účtu burzy uživatele a zajišťuje odesílání pokynů na burzu.

Diagram základní Štosuj architektury.
1. možnost - Uživatelův vlastní hosting
Ze Štosuj jsme vyseparovali uložení API klíčů a XChange adaptér pro posílání pokynů na burzy, tohle má teď uživatel plně ve své správě. Pracujeme na umožnění nasazení tohoto řešení jako open-source knihovny na svůj vlastní hosting.
Uživatel si bude moci definovat vlastní API endpoint, který obdrží naší datovou informaci (webhook) po splnění parametrů/podmínek jeho strategie na Štosuj.
Co s touto informací udělá je jen na něm. Může na vlastním hostingu rozjet námi dodanou open-source XChange knihovnu, zadat ji API klíče od svého účtu na burze a sám tak předávat pokyny na svou burzu.
Alternativně může například tento webhook pouze přesměrovat na svůj e-mail či poslat si notifikaci (Telegram, Signal, Slack, atd.) a zareagovat na ní ručně.
2. možnost - AWS hosting a pronájem kontejneru
Pro jednoduchost nyní uživatelům nabízíme hosting na platformě AWS, kdy pro každého uživatele, resp. každé jeho propojení s burzou, vytvoříme samostatný kontejner s potřebnými komponentami (AWS API Gateway a AWS Lambda funkci s XChange modulem) a bezpečným uložením API klíče.
Kontejner je podle našich podmínek služby smluvně ve vlastnictví uživatele a je mu bezplatně pronajmut.
Štosuj forward proxy
Pro zabezpečení komunikace s burzami je na všech uživatelských API klíčích (nebo přímo na straně integrované burzy) nastaven “IP whitelist”, tj. pevně daná IP adresa, ze které burza může API pokyny přijímat.
Všechny API požadavky tak protékají přes “forward proxy” na Štosuj VPS, tj. přicházejí na burzu z naší whitelistované IP adresy.
Autorizované pokyny (podepsané API klíčem) tedy na burzy předává XChange knihovna vlastněná uživatelem, přes Štosuj proxy pouze protékají beze změny pro dodatečné zabezpečení.
Uživatelům tedy nehrozí možnost zneužití API klíče útočníkem z jiné IP adresy.