> ## Documentation Index
> Fetch the complete documentation index at: https://www.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrating chains

> The React SDK enabled chains by passing a walletConnectors array to the provider. In the JavaScript SDK you enable each chain by calling its add<Chain>Extension() once when you set up the client.

The React SDK turned chains on by passing connector packages into `DynamicContextProvider`'s `walletConnectors` array (`EthereumWalletConnectors`, `SolanaWalletConnectors`, and so on). The JavaScript SDK replaces that array with **extensions**: for each chain you install its package and call `add<Chain>Extension(client)` once, right after you create the client and before you use it. Each extension registers that chain's wallet providers and network support.

## Enabling a chain

Enabling a chain is the same call whether or not you use React — add each extension to the client right after you create it:

```typescript theme={"system"}
import { createDynamicClient } from '@dynamic-labs-sdk/client';
import { addEvmExtension } from '@dynamic-labs-sdk/evm';
import { addSolanaExtension } from '@dynamic-labs-sdk/solana';

const dynamicClient = createDynamicClient({
  environmentId: 'YOUR_ENVIRONMENT_ID',
});

// Enable each chain your app supports:
addEvmExtension(dynamicClient);
addSolanaExtension(dynamicClient);
```

In React, pass the configured `dynamicClient` to `DynamicProvider` (see [Basic setup](/docs/javascript/migrating-from-react/basic-setup)).

## What maps to what

| React SDK (`walletConnectors`) | JavaScript SDK extension | Package                      |
| ------------------------------ | ------------------------ | ---------------------------- |
| `EthereumWalletConnectors`     | `addEvmExtension()`      | `@dynamic-labs-sdk/evm`      |
| `SolanaWalletConnectors`       | `addSolanaExtension()`   | `@dynamic-labs-sdk/solana`   |
| `BitcoinWalletConnectors`      | `addBitcoinExtension()`  | `@dynamic-labs-sdk/bitcoin`  |
| `CosmosWalletConnectors`       | `addCosmosExtension()`   | `@dynamic-labs-sdk/cosmos`   |
| `StarknetWalletConnectors`     | `addStarknetExtension()` | `@dynamic-labs-sdk/starknet` |
| `AptosWalletConnectors`        | `addAptosExtension()`    | `@dynamic-labs-sdk/aptos`    |
| Sui connectors                 | `addSuiExtension()`      | `@dynamic-labs-sdk/sui`      |
| TON connectors                 | `addTonExtension()`      | `@dynamic-labs-sdk/ton`      |
| Tron connectors                | `addTronExtension()`     | `@dynamic-labs-sdk/tron`     |
| Stellar connectors             | `addStellarExtension()`  | `@dynamic-labs-sdk/stellar`  |

`addEvmExtension()` bundles the EIP-6963 browser-wallet discovery and the embedded (WaaS) EVM provider, so a single call covers both external and embedded EVM wallets. On Solana, add `addPhantomRedirectSolanaExtension()` alongside `addSolanaExtension()` when you need the Phantom mobile redirect flow.

## Per-chain reference

Each chain's own setup, supported wallets, and network configuration are documented in the JavaScript reference — start with [Adding extensions](/docs/javascript/reference/adding-extensions), then the page for your chain:

* [EVM](/docs/javascript/reference/evm/adding-evm-extensions)
* [Solana](/docs/javascript/reference/solana/adding-solana-extensions) · [Phantom redirect](/docs/javascript/reference/solana/phantom-redirect-extension)
* [Bitcoin](/docs/javascript/reference/bitcoin/adding-bitcoin-extension)
* [Sui](/docs/javascript/reference/sui/adding-sui-extension)
* [Aptos](/docs/javascript/reference/aptos/adding-aptos-extension)
* [Starknet](/docs/javascript/reference/starknet/adding-starknet-extension)
* [Stellar](/docs/javascript/reference/stellar/adding-stellar-extension)
* [TON](/docs/javascript/reference/ton/adding-ton-extension)
* [Tron](/docs/javascript/reference/tron/adding-tron-extension)
* [Other chains](/docs/javascript/reference/tier-2-chains/overview)

## See also

* [Basic setup](/docs/javascript/migrating-from-react/basic-setup) — create the client the extensions attach to
* [Using connected wallets](/docs/javascript/migrating-from-react/using-connected-wallets) — read the wallets an extension provides
* [Network management](/docs/javascript/migrating-from-react/network-management) — switch and validate networks
* [Gas sponsorship & smart wallets](/docs/javascript/migrating-from-react/gas-sponsorship-smart-wallets) — the ZeroDev extension for account abstraction
