Connecting an exchange
Before fxyz can trade for you, it needs a trade-only credential at the venue. You give it that credential once; from then on, anything you build can place orders on your behalf.
The promise
fxyz can place trades. It cannot move your funds, on any venue.
This isn't a policy we have to enforce. It's a property of the venues' own protocols and our own code: withdrawal is not a capability fxyz has.
How that's enforced varies a little by exchange, because each one offers a different shape of credential. The summary:
| Venue | What you connect | What fxyz can do | Why funds stay yours |
|---|---|---|---|
| Hyperliquid | An on-chain "agent key" approved by your main wallet | Place, modify, cancel orders | The HL protocol restricts agents to trading. Withdrawals require your main wallet. |
| Lighter | An API key tied to your Lighter account | Place, modify, cancel orders | The Lighter L2 routes any withdrawal back to your registered L1 owner. |
| Backpack | An API key generated in the Backpack UI | Place, modify, cancel orders | fxyz's client omits withdraw and transfer entirely, so there's no path off your Backpack account. The withdrawal-address whitelist adds a venue-side guardrail. |
You're in control
A few things to keep in mind regardless of which venue:
- Disconnect at any time. Each venue has a Disconnect button in fxyz. Clicking it revokes the credential on the venue's side too, not just on our end.
- Connecting one doesn't touch the others. Connecting Lighter doesn't change anything about your HL setup, and vice versa.
- Connecting doesn't move money. No deposit is involved; you trade with whatever is already on the venue.
Walk-throughs
- Hyperliquid: on-chain agent-key approval.
- Lighter: paste an API key generated on Lighter.
- Backpack: paste an API key generated on Backpack.
See Security for the bigger picture of how those credentials are stored.