Skip to main content
After creating a wallet, you can update its allocation strategy when no incompatible withdrawal or rebalance workflow is active. This applies to wallets with autoRebalance: true. See How Auto Rebalancing Works for wallet types, drift thresholds, and examples of when funds move.

Update the strategy

Choose sources from the live catalog and put each under its allocationGroup. Each included group totals 100%; omitted groups retain their existing targets. See Allocation groups for fund and network compatibility.
Each allocation must include yieldSourceId (from the yield source catalog) and pct (0-100, supporting 0.1% increments). Each included allocation group is replaced in full. For example, updating usdt:tron preserves the usdc and usdt targets.

Response

The strategy update returns only the canonical desired allocations. The response includes every allocation group, including groups preserved because they were omitted from the request:
strategyAllocations reflects the desired group targets immediately. Fetch the wallet separately to read its current holdings and balances, which can remain different until a rebalance executes.

What happens during a strategy update

Strategy updates are API-authenticated target-allocation changes. They do not create a Turnkey approval activity and do not immediately commit or enqueue a rebalance. When you update the strategy:
  1. The included allocation groups are saved immediately and reflected in strategyAllocations.
  2. A later rebalance may move holdings toward the new targets when the wallet has executable work and no incompatible workflow is active.
  3. If a later rebalance is created, execution happens over time. For positions with longer unwind windows such as syrup-usdc, the full rebalance can take hours even if synchronous ERC-4626 legs such as the supported Morpho vaults move immediately.
If a rebalance runs, each position’s valueUsd may move toward its pct. You can monitor progress by comparing these two fields.

Strategy webhook

Strategy updates emit portfolio_wallet.strategy.status_changed events as the update is applied. See Webhooks for registration and payload details.