Skip to main content
PredictStreet deploys a second generation of contracts (vault factory, vaults, binary and neg-risk exchanges) next to the existing one. Generation 1 is not switched off at once: legacy markets keep trading until generation-2 activation halts generation-1 trading (see Rollout). Every step on these pages works with X-Api-Key, plus your wallet’s EIP-712 signatures as today.

What changes

Two vaults

After the upgrade you hold two vaults, both listed in GET /api/me/vault vaults[]:

Which vault and exchange per market

The active vault does not decide the maker. A generation-2 vault cannot trade a legacy market, and the reverse. See Detect a market’s generation.

Rollout

Dates are announced to partners per environment, testnet first. To join the canary, ask your integration manager to allowlist your trading wallets. Nothing is migrated for you. Your vault, orders and positions stay as they are until you call the upgrade, and moving USDC is a separate call.

Migration order

1

Make the bot generation-aware

Choose maker and verifyingContract per market (Detect a market’s generation). With one vault and only legacy markets this behaves exactly as today, so it can ship before the rollout. Get a key with the new scopes (API keys and WebSocket).
2

Upgrade and fund the generation-2 vault

Upgrade when you want to quote generation-2 markets, then move USDC from the generation-1 vault.
3

Run legacy markets from generation 1

Keep quoting legacy markets from the generation-1 vault until the generation-1 trading halt, and redeem there when they resolve (Orders and vault operations).
New refusal codes are listed under Error codes → Vault generation 2.

Testing on testnet

Use the testnet endpoints and the procedure above. Ask your integration manager for testnet USDC and for canary allowlisting.
Do not hard-code contract addresses. Testnet generation-2 contracts will be redeployed (new factory, exchanges and vaults, so a new generation-2 vault for you too). Read addresses from GET /api/platform/contracts at start-up and refresh them every few minutes, your vaults from GET /api/me/vault, and each market’s exchange from exchangeAddress.

FAQ

No, the upgrade is one-way. The generation-1 vault keeps working for withdrawals and redeem, and for trading legacy markets and split / merge until the generation-1 trading halt.
No. It is a transfer between two vaults of the same owner.
Multi-wallet partner keys: migration is enabled for your partner account by your integration manager once your payout addresses are listed for generation-2 withdrawals.