Wallet

Calculate a rebalancing for a wallet. The minimal params are:

  • signer: Address

  • wallet: Address

  • baseEntries

  • targetEntries

Request a rebalancing for an arbitrary set of tokens

post

Sell tokens are passed with amounts, buy tokens are passed as percentage allocation

Header parameters
x-api-keystringOptional

31Third API key (Request via [email protected])

chain-idstringOptional

Chain ID as hex string. (e.g.: 0x1 for Ethereum mainnet)

Body
signerstringRequired

The wallet that is used to sign the rebalancing and send it on-chain.

Example: 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B
maxDeviationFromTargetnumber · min: 0.001 · max: 1Optional

Maximum deviation from the target allocation. (0.01 = 1%)

Default: 0.005
maxSlippagenumber · max: 1Optional

Maximum allowed slippage for the calculated trades. (0.01 = 1%)

Default: 0.005
maxPriceImpactnumber · max: 1Optional

Max price impact for the calculated basket trade. (0.01 = 1%)

Default: 0.01
priceImpactExceedsErrorbooleanOptional

If true an error is returned if the price impact is exceeded. Otherwise an issue (warning) is added to the response. Defaults to false.

Default: false
minExpirySecnumber · min: 10 · max: 120Optional

Min quote expiry. (in seconds) RFQ/OTC quotes from market makers have hard expiries between 40-90 seconds. If minExpiry is set higher then MM expiries these MMs are excluded. (Keep in mind that MM pricing might be better than DEX pricing, especially if quantity is high)

Default: 35
minTradeValuenumberOptional

Min trade value. (in USD) The smart order router ignores potential trades with a value smaller than minTradeValue. Super small value trades often lead to execution issues, therefore we skip trades smaller than $1 by default.

Default: 1
batchTradebooleanOptional

Describes if batch trading should be enabled (if not trades can be executed one-by-one)

Default: trueExample: true
revertOnErrorbooleanOptional

Describes if the batch execution should revert if one trade fails. Otherwise the already positive executed trades are settled.

Default: true
skipBalanceValidationbooleanOptional

Describes if balance check should be skipped. (Can be useful for testing).

Default: false
failOnMissingPricePairbooleanOptional

If true, an exception is thrown, indicating that no price pair can be found for at least one of the tokens. (Only assets with a balance greater than 0 are considered.) If false, the rebalancing is still calculated without considering the tokens with no pairs.

Default: trueExample: true
asyncbooleanOptional

If true the rebalancing will be calculated asynchronously. The progress can be checked with the responded id

Default: falseExample: true
simulationTxOriginstringRequired

[FOR TENDERLY SIMULATION] Address that should be used instead of signer. Can be useful for Tenderly simulation if simulating an Enzyme vault you're not the owner of.

Example: 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B
walletstringRequired

Wallet for which the rebalancing is calculated.

Example: 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B
Responses
chevron-right
200Success
application/json
idstringRequired

Unique ID of the calculated rebalancing.

Example: 0096124c-19df-4459-8cbb-7615fdc7c157
creationDatestring · date-timeRequired

Rebalancing creation timestamp

baseValueInUsdnumberRequired

Total value of assets in the rebalancing base allocation. (in USD)

Example: 12345.67
sellValueInUsdnumberRequired

The proportion of value that is taken out for trades, meaning sold. (in USD)

Example: 12345.67
estimatedValueLossInUsdnumberRequired

Estimated loss of total portfolio value. (in USD; fees are already included in this value)

Example: 12.34
estimatedTargetValueInUsdnumberRequired

Estimated total value of the rebalancing target allocation. (in USD; fees are already included in this value)

Example: 12345.67
estimatedReceiveValueInUsdnumberRequired

Estimated value of assets received after all trades. (in USD; fees are already included in this value)

Example: 12345.67
minReceiveValueInUsdnumberRequired

Minimal total portfolio value after the rebalancing. (in USD; slippage and fees are included in this value)

Example: 12325.67
estimatedImpactnumberRequired

Estimated impact. (0.01 = 1%; fees are already included in this value)

Example: 0.0023
maxImpactnumberRequired

Maximal impact. (0.01 = 1%; slippage and fees are included in this value)

Example: 0.0027
estimatedGasUnitsinteger · int64Required

Estimated gas units for this trade. (in WEI)

Example: 20000000000000000
suggestedGasPriceinteger · int64Required

Suggested gas price [LOW/MARKET/AGGRESSIVE] fetched from a block explorer (e.g. Etherscan). (in WEI)

Example: 20000000000000000
estimatedGasFeesinteger · int64Required

Estimated gas fees for the rebalancing. (in WEI)

Example: 20000000000000000
estimatedGasFeesInUsdnumberRequired

Estimated gas fees for the rebalancing. (in USD)

Example: 23.45
estimatedProtocolFeesInUsdnumberRequired

Estimated protocol fees for the rebalancing. (in USD)

Example: 23.45
txHandlerstringRequired

[Just if a batch trade is requested, otherwise use txHandler per trade] Address of the contract to send the txData to. It will be our batch trade contract if it is a rebalancing transaction. However, in some special cases, it may also be a different contract, for example, in the case of wrapping ETH into WETH.

txDataobjectRequired

[Just if a batch trade is requested, otherwise use txData per trade] Call data to execute the rebalancing. (Must be sent to the txHandler contract address.)

txValueinteger · int64Required

Call value to execute the rebalancing. (Must be sent to the txHandler contract address.)

tokensWithoutPricePairstringRequired

List of tokens for which no price pair could be found.

Example: ["0x3ed3b47dd13ec9a98b44e6204a523e766b225811"]
executablebooleanRequired

Is executable based on wallet permissions for smart contracts

Example: ["true"]
expirationTimestampstring · date-timeRequired

If the rebalancing contains RFQ/OTC trades this is a hard deadline.If not this can be considered as soft deadline. A new rebalancing should be calculated since after some time market prices might have changed in a way that another composition of trades might be better.

Example: 2025-10-17T08:27:04.604Z
earliestRefreshQuotesTimestampstring · date-timeRequired

Earliest timestamp when quotes for this rebalancing can be refreshed

suggestedRefreshQuotesTimestampstring · date-timeRequired
post
/1.3/rebalancing/wallet
200Success

Last updated