> ## Documentation Index
> Fetch the complete documentation index at: https://developers.fireblocks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# TON High-Load Wallets

This guide covers the technical details for using the High-Load Wallet (HLW) type within Fireblocks for the TON (The Open Network) blockchain.

Traditionally, Fireblocks supported a single wallet type per blockchain. For TON, this was the TON\_V4 wallet, which is limited by sequential transaction execution and strict nonce management.

The High-Load Wallet is a new, extensible wallet implementation designed to:

* **Increase throughput:** Enable parallel transaction execution.
* **Remove bottlenecks:** Bypass the "one-transaction-at-a-time" constraint of standard wallets.
* **Support high-frequency use cases:** Scale for exchanges, payment processors, and similar workloads.

## Creating a High-Load Wallet

### Immutable implementation selection

The choice of wallet type is made at the moment of creation. To create a TON High-Load Wallet, pass the `blockchainWalletType` parameter during the asset creation flow:

| Value         | Description                                |
| ------------- | ------------------------------------------ |
| `TON_V4`      | Standard single-threaded wallet (default). |
| `highload_v3` | Optimized for parallel processing.         |

### API integration example

The following snippet demonstrates how to use the Fireblocks SDK to add a TON asset with the High-Load Wallet configuration to a vault account.

```typescript TypeScript theme={"system"}
import { VaultsApiFp } from "@fireblocks/ts-sdk";

// ... initial client setup ...

const vaultAccountId = "12"; // Your Vault ID
const assetId = "TON";       // Asset ID
const blockchainWalletType = "highload_v3";

// Generate the request function
const requestFn = await VaultsApiFp(fireblocks.vaults.configuration).createVaultAccountAsset(
    vaultAccountId,
    assetId,
    undefined,
    undefined,
    { params: { blockchainWalletType } } // Pass the wallet type in query params
);

// Execute the request
const { data: asset } = await requestFn(fireblocks.vaults.axios, fireblocks.vaults.basePath);

console.log(`Asset Created: ${asset.id} with Address: ${asset.address}`);
```

### Transaction flow and monitoring

Once the wallet is created, initiating an HLW TON transaction is the same as a regular TON transaction and can be done from the Fireblocks API or Console.

## Limitations

1. **Single TON address per vault:** You can create only one TON wallet (either TON\_V4 or HLW) in a vault account.
2. **No batching:** Fireblocks does not currently support batched TON transactions. Each transaction supports a single transfer only.
3. **Parallel transaction sending:** To enable sending multiple transactions in parallel, contact Fireblocks Support and provide the vault ID of your HLW.
