Ports and security¶
Ports¶
| What | Port | Notes |
|---|---|---|
| Gateway inside the container | 8443 |
GATEWAY_LISTEN=0.0.0.0:8443 in the image |
| Paper account (Compose) | 127.0.0.1:8443 |
published on localhost only |
| Deribit account (Compose profile) | 127.0.0.1:8444 |
published on localhost only |
Bybit account (its docker run) |
127.0.0.1:8445 |
published on localhost only |
The gateway speaks plain HTTP and WebSocket. Keep every port on 127.0.0.1 or a private network, and put
TLS on a reverse proxy when the network is shared.
Tokens¶
| Token | Role |
|---|---|
GATEWAY_TRADER_TOKEN |
Trading: place, change and cancel orders, close positions, read |
GATEWAY_GUARDIAN_TOKEN |
Reads and the kill switch. A trader token cannot flip the kill switch |
Both are required. Use long random strings. Keep them out of config files: pass them as env: or file:
references, or as <NAME>_FILE secrets (Configuration).
Venue credentials¶
- Give a venue API key read and trade permissions only. Never grant withdrawal.
- Pass
GATEWAY_LOGINandGATEWAY_SECRETtogether, or neither. - Logs go to stdout and never contain tokens or secrets.
What the security policy covers¶
In scope: authentication bypass (a request served without a valid role token, or a trader token flipping the kill switch), credential leakage, order handling that can place, change or resend an order nobody asked for or let new exposure past an engaged kill switch, and code execution, deserialization or path traversal in the host, the config loader or plugin loading. Report problems privately: see the security policy.