# Function: subtractBalances()

> **subtractBalances**\<`T`\>(`balancesToSubtract`, `balances`, `allowUnderflow?`): [`BalanceArray`](https://docs.bitbadges.io/sdk/reference/classes/balance-array)\<`T`\>

Defined in: [packages/bitbadgesjs-sdk/src/core/balances.ts:425](https://github.com/BitBadges/bitbadgesjs/blob/master/packages/bitbadgesjs-sdk/src/core/balances.ts#L425)

Subtracts multiple balances from the existing balances. Returns a new BalanceArray.

Throws an error if the balances underflow.

## Type Parameters

### T

`T` *extends* [`NumberType`](https://docs.bitbadges.io/sdk/reference/type-aliases/number-type)

## Parameters

### balancesToSubtract

[`iBalance`](https://docs.bitbadges.io/sdk/reference/interfaces/i-balance)\<`T`\>[]

### balances

[`iBalance`](https://docs.bitbadges.io/sdk/reference/interfaces/i-balance)\<`T`\>[]

### allowUnderflow?

`boolean`

## Returns

[`BalanceArray`](https://docs.bitbadges.io/sdk/reference/classes/balance-array)\<`T`\>

## Remarks

Can also be used via the corresponding method with same name on [BalanceArray](https://docs.bitbadges.io/sdk/reference/classes/balance-array)
