# divest\_imbalanced

This entrypoint is designed to remove liquidity to receive specific underlying assets from the DEX pool.

### Call parameters

<table><thead><tr><th width="185">Field</th><th width="243" align="center">Type</th><th width="448.2">Description</th></tr></thead><tbody><tr><td>pool_id</td><td align="center"><code>nat</code></td><td>pool identifier.</td></tr><tr><td>amounts_out</td><td align="center"><code>map(token_pool_idx_t, nat)</code></td><td>amount of tokens to be received. NOTE: must be provided <strong>at least one</strong> of indexes of tokens</td></tr><tr><td>max_shares</td><td align="center"><code>nat</code></td><td>maximum amount of LP tokens to be burnt.</td></tr><tr><td>deadline</td><td align="center"><code>timestamp</code></td><td>dealine of current operation.</td></tr><tr><td>receiver</td><td align="center"><code>option(address)</code></td><td>optional, address of the receiver of the LP tokens. If not provided the <code>sender</code> address will be used.</td></tr><tr><td>referral</td><td align="center"><code>option(address)</code></td><td>optional, address of the referral of the current operation. If not provided the <code>default_referral</code> address will be used.</td></tr></tbody></table>

```pascaligo
type divest_imb_param_t is [@layout:comb] record [
  pool_id                 : nat;
  amounts_out             : map(token_pool_idx_t, nat);
  max_shares              : nat; 
  deadline                : timestamp; 
  receiver                : option(address); 
  referral                : option(address);
]
```
