# VD (/scripting/sources/vd)



MMT supplies provider-built volume-delta candles. It requires a supported timeframe in seconds and a trade-size bucket:

```bash
--source btc@vd@hyperliquidf@mmt:timeframe=60,bucket=1
```

This works in live runs and backtests.

Standalone live VD is derived directly from each exchange's trade stream:

```bash
--source btc@vd@bulkf
--source btc@vd@hyperliquidf
```

Do not pass `timeframe` or `bucket` to standalone VD. Each accepted trade batch updates its cumulative delta. Direct BULK and Hyperliquid VD are not available for script backtests.

Read retained records through the exact selector:

```js
const records = history.source('btc@vd@hyperliquidf@mmt')
const current = history.source('btc@vd@hyperliquidf@mmt', 0)
```

## MMT Buckets [#mmt-buckets]

| Bucket | Trade size range |
| ------ | ---------------- |
| `1`    | All trades       |
| `2`    | `$1 - $1K`       |
| `3`    | `$1K - $10K`     |
| `4`    | `$10K - $25K`    |
| `5`    | `$25K - $50K`    |
| `6`    | `$50K - $100K`   |
| `7`    | `$100K - $250K`  |
| `8`    | `$250K - $500K`  |
| `9`    | `$500K - $1M`    |
| `10`   | `$1M - $5M`      |
| `11`   | `$5M+`           |

See [VD Data Type](/scripting/data-types/vd).
