Documentation Index
Fetch the complete documentation index at: https://docs.gtfo.vc/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Before placing orders, you must deposit tokens into vaults—ERC4626 vaults that hold your collateral for trading. Each tradeable token has its own vault:- USDC → USDC vault
- MirrorToken → MirrorToken vault
Approval requirements
To trade, you need approvals on both tokens and vaults:For deposits
Approve the Controller on each token:For trading
Approve the BookManager on each vault:Required approvals checklist
Before trading a pair (e.g., USDC/MirrorToken), set up these approvals:1. For USDC (quote currency)
- ✅ Approve Controller on USDC token (for deposits)
- ✅ Approve BookManager on USDC vault (for withdrawals and settlements)
2. For MirrorToken (base currency)
- ✅ Approve Controller on MirrorToken (for deposits)
- ✅ Approve BookManager on MirrorToken vault (for withdrawals and settlements)
3. Deposit funds
- ✅ Deposit USDC into its vault via
Controller.depositToVault(USDC, amount) - ✅ Deposit MirrorToken into its vault via
Controller.depositToVault(MirrorToken, amount)
- Place limit orders (make)
- Execute market orders (take)
- Cancel orders
- Claim proceeds
Vault balances
Check your balances:maxWithdraw(user): available to withdraw (excludes locked collateral)lockedBalances(user): amount locked in open orders
Basic operations
Deposit
Withdraw
Check balance
Example: full setup flow
Security
- Approvals are persistent—set once and forget
- Your tokens never leave the vaults during trading
- Locked collateral cannot be withdrawn, even with approvals
See also
- Controller - user-facing trading interface
- Deposit & withdraw guide - step-by-step instructions
- Addresses - deployed contract addresses