# Balancer Data Checks \[Use keyless Balancer data in Newton policies for vault manager-action gates.]

The Balancer policy pack uses keyless Balancer data in composite policies. It is useful when a manager action depends on Balancer pool or market state.

## Deployment

| Field | Value |
| --- | --- |
| Pack id | `balancer` |
| PolicyData addresses | [VaultKit address table](/developers/vaults/policy-packs#deployed-policydata-addresses) |
| Canonical deployments | [`deployments.json`](https://github.com/newt-foundation/newton-policy-packs/blob/main/deployments.json) |

### Secret

| Secret | Required? | Where to get it |
| --- | --- | --- |
| None | Keyless | [balancer.fi](https://balancer.fi) |

## Usage

Install the pack package and add it with `definePolicy(...).with(balancer)`.

This pack ships **no `prepareQuery`** — `poolId` and `chain` name a pool the SDK cannot read off the vault — so its `wasmArgs` are curator-supplied per call, under `wasmArgs.balancer` rather than `prepareQueryOptions.balancer`:

```typescript
await shield.morpho.reallocate(vault, allocations, {
  wasmArgs: { balancer: { poolId, chain: 'base' } },
})
```

`wasmArgs` requires `@newton-xyz/vaultkit` 2.2.0 or later. See [Policies](/developers/vaults/sdk/policies#per-call-inputs).
