---
title: Typescript SDK
description:
  Learn how to interact with Solana using the JavaScript/TypeScript client
  libraries.
h1: JavaScript/TypeScript SDK for Solana
---

## Solana Kit

`@solana/kit` is the recommended TypeScript SDK for building on Solana. You
assemble a client from composable plugins, add React bindings when you need
them, and pull in generated program clients for the on-chain programs you call.

| Package                   | Description                                  | GitHub                                                                                 |
| ------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------- |
| @solana/kit               | Core SDK: RPC, transactions, codecs, signers | [Source](https://github.com/anza-xyz/kit)                                              |
| @solana/react             | React bindings: `ClientProvider` and hooks   | [Source](https://github.com/anza-xyz/kit/tree/main/packages/react)                     |
| @solana/kit-plugin-rpc    | RPC connection + transaction sending         | [Source](https://github.com/anza-xyz/kit-plugins/tree/main/packages/kit-plugin-rpc)    |
| @solana/kit-plugin-signer | Fee payer, identity, and signer plugins      | [Source](https://github.com/anza-xyz/kit-plugins/tree/main/packages/kit-plugin-signer) |
| @solana/kit-plugin-wallet | Wallet Standard connection + React hooks     | [Source](https://github.com/anza-xyz/kit-plugins/tree/main/packages/kit-plugin-wallet) |

### Program clients

Generated clients that expose instruction builders and client plugins (for
example `tokenProgram()` → `client.token`).

| Package                        | Description                          | GitHub                                                                          |
| ------------------------------ | ------------------------------------ | ------------------------------------------------------------------------------- |
| @solana-program/system         | Interact with System program         | [Source](https://github.com/solana-program/system/tree/main/clients/js)         |
| @solana-program/token          | Interact with Token program          | [Source](https://github.com/solana-program/token/tree/main/clients/js)          |
| @solana-program/token-2022     | Interact with Token-2022 program     | [Source](https://github.com/solana-program/token-2022/tree/main/clients/js)     |
| @solana-program/memo           | Interact with Memo program           | [Source](https://github.com/solana-program/memo/tree/main/clients/js)           |
| @solana-program/compute-budget | Interact with Compute Budget program | [Source](https://github.com/solana-program/compute-budget/tree/main/clients/js) |

- [Official Kit Documentation](https://www.solanakit.com/)
- [All kit plugins](https://github.com/anza-xyz/kit-plugins)
- [Guide: Frontend with Kit](/docs/frontend)
- [Tutorial: Next.js + Kit](/docs/frontend/nextjs-solana)

## Signing & Key Management

For kit-compatible backend signing across multiple key management backends:

| Package          | Description                                                                                                               | GitHub                                                         |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| @solana/keychain | Unified signing: Memory, Vault, Privy, Turnkey, AWS KMS, Fireblocks, GCP KMS, CDP, Para, Dfns, Crossmint, Openfort, Utila | [Source](https://github.com/solana-foundation/solana-keychain) |

See the [Keychain documentation](/docs/tools/keychain) and
[Choosing a backend](/docs/tools/keychain/choosing-a-backend) for setup and
custody-model guidance.

## Solana Web3.js

`@solana/web3.js` is the legacy TypeScript SDK for Solana. New apps should use
`@solana/kit`; see [Migrating to Kit](/docs/frontend/web3-compat).

| Package           | Description                                                    | GitHub                                                                             |
| ----------------- | -------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| @solana/web3.js   | Core SDK                                                       | [Source](https://github.com/solana-foundation/solana-web3.js)                      |
| @solana/spl-token | Interact with Token, Token-2022, and Associated Token programs | [Source](https://github.com/solana-program/token-2022/tree/main/clients/js-legacy) |
| @solana/spl-memo  | Interact with Memo program                                     | [Source](https://github.com/solana-program/memo/tree/main/clients/js-legacy)       |

- [Example: Connect a wallet with Next.js](/developers/cookbook/wallets/connect-wallet-react)
