Basket Trade (m:n swap)

Basket trades or m:n swaps allow you to rebalance a portfolio of assets in one go. This means you can specify a base allocation (m) consisting of one or many assets and a target allocation (n) with one or many assets. M and n can be the same assets in a different percentual allocation but also completely different assets.

For specific use-case specific descriptions see:

Usage example with ethers.js

The API returns a DTO containing the following properties:

export interface RebalancingResponseDto extends BaseEntityModel {
  ...
  txHandler: Address;    // address of deployed BatchTrade
  txData: string;        // calldata containing encoded Trades and BatchTradeConfig
  txValue: BigNumberDto; // value native currency sent for trading
  ...
}

which can be passed into ethers signer.sendTransaction as follows:

signer.sendTransaction({
  to: rebalancing.txHandler,
  data: rebalancing.txData,
  value: rebalancing.txValue,
});

Last updated