What happened on migration day
The migration is an in-place proxy upgrade, not a new deployment:Traders using the Avantis web app don’t need to do anything. This section
exists because programmatic integrations (SDK scripts, market-making
systems, indexers, keepers) interact with surfaces that change shape in v2.
What v2 changes for integrators
v1 integrations talk to the contracts directly: vendored ABIs, an RPC node, self-built transactions, multicall reads. v2 is API-first and intent-based:- Signed intents instead of self-broadcast transactions. You sign an EIP-712 order intent locally; the Avantis relayer puts it on-chain. No gas, no ETH, no node. (Self-broadcasting via your own RPC remains fully supported for those who want it.)
- API keys (delegates). A separate signing key registered to your wallet with one signature. It can trade but can never withdraw funds, which is the right shape for bots and MM systems.
- Read APIs instead of multicall fan-outs. Positions with liquidation prices, the full pair catalog, funding/spread state, history with fee breakdowns, all served over HTTP.
- New order surface. Coin-sized orders, Upside markets (separate
_UPSIDEpairs with profit share instead of fixed fees), position size increases, partial TP/SL triggers, TWAP, and builder codes are new in v2. - Reshaped on-chain surface. Funding fees, spread on close, maker/taker close fees, new and re-shaped events. If you decode logs or call the contracts directly, you must update; see the direct integrators guide.
Pick your guide
Python SDK users
You use
avantis-trader-sdk 0.x (TraderClient). Method-by-method
mapping to the 2.x client, with before/after code.Direct integrators
You call the contracts or decode their events yourself: MMs with
custom stacks, indexers, keepers, risk engines. Full breaking-change
inventory.
Checklist
If you haven’t migrated yet:- Read the guide for your integration type (above) and inventory what you touch: methods, events, read paths.
- Build against v2 on testnet first if you want a safe rehearsal. Set
AVANTIS_NETWORK=testnetto point the SDK at it; direct integrators can exercise the full v2 surface there. - Create an API key with the Avantis API Key Generator if you plan to use the gasless relayer path (recommended for most trading systems).
- If you index events: rebuild decoding from v2 ABIs and topic filters, and schema-version any time series that spans the upgrade.
- Stop submitting v1-shaped transactions — against the upgraded contracts they revert.
- Switch to your v2 code path (SDK 2.x, or your updated direct integration).
- Verify your positions via
client.account.positions()or the positions API. Everything you had open before the upgrade pause should be there.