Wallet and approvals
Understand wallet connections, network switching, ERC-20 approvals, router trust, and trading-agent policies.
Connect a wallet
Timu uses a wallet connection to read your address and submit transactions. The connected chain controls which markets, contracts, and account data are available.
If a page looks empty, first check your wallet network.
You do not have to connect a plain EOA. Smart-contract wallets (Safe), session-key wallets, and EIP-7702-upgraded EOAs can also connect and sign orders. The router verifies order signatures through ERC-1271, so any account that returns a valid isValidSignature is accepted as the maker.
ERC-20 token approvals
ERC-20 approvals let a contract spend a token from your wallet. You may need approvals for:
- collateral deposits
- price market trades
- LP deposits
Review the spender, token, and amount before approving.
Router approval for your margin account
A token allowance is not the same as trusting a router on your margin account. These are separate gates:
- The token allowance covers what a contract may pull from your wallet.
- The router approval covers whether a specific router deployment may act on your margin account at all.
In v24, router approval is a two-step, owner-authorized flow on the margin account:
proposeAccountRouterV24(approval, ownerSignature)records a candidate router, its identity hash, the expected router epoch, an approval nonce, and a validity window. The owner can submit the proposal directly, or anyone can relay an owner-signed approval on the owner's behalf.activateAccountRouterV24()takes effect only after the proposal'svalidAftertime and beforevalidUntil. Activation checks the router authority's live state: the candidate must be the authority's active router, its identity hash must match, and the router epoch must still be current.
The owner can cancel a pending proposal with cancelAccountRouterV24(). Read the current and pending state with accountRouterBindingV24().
A router rotation that changes the accepted epoch also invalidates installed trading-agent policies, which must be installed again against the new epoch.
Routed account actions revert until an activated router is bound to that account. Verify the pending router and its identity before activating, because the bound router defines which contract may execute account actions.
Trading agents (session keys)
You can authorize a hot key to trade through your margin account without signing each order yourself. The owner calls setTradingAgentV24(request) to install a complete policy, and revokeTradingAgentV24(agent, expectedAuthNonce) to remove it immediately. Both are owner-only.
A v24 agent policy is explicit and complete when installed:
- the agent address and an expiry timestamp,
- an action bitmap selecting from open, add collateral, reduce leverage, close partial, and close all,
- a sorted list of allowed pools,
- per-action and cumulative notional caps, a daily volume cap, a leverage cap, a collateral-spend cap, and a protocol-fee cap,
- a
maxKeeperFeecap, and - a policy hash binding every field, plus the auth nonce that prevents replaying an old policy.
An agent cannot withdraw from the account, deposit to it, run LP actions, change the router approval, or manage other agents. Agent-signed orders execute from the agent's own wallet as maker. A nonzero keeper fee is allowed, but it is paid from the agent's wallet and must stay within the policy's maxKeeperFee.
A trading agent is a hot key bounded by its installed policy. If it is compromised, the holder can take every action the policy allows until it expires or you revoke it. Install narrow limits and short expiries, and revoke keys you no longer use.
See Position modes and margin accounts for how the margin account works, and Orders for how orders and keeper fees work.
Network switching
Some Timu features exist only on specific networks. For example, local markets, Base Sepolia deployments, Base deployments, and staking contracts may not all exist on the same chain.
Switch networks from your wallet or the app network selector when a feature is unavailable.
Transaction prompts
Wallet prompts show the final transaction you are about to sign, but they may not explain the market-specific risk. Read the market page and use previews where available before confirming.