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

# Installation

> Install and configure @cofhe/sdk for your project

## Prerequisites

* Node.js 18+
* TypeScript 5+
* Viem 2+

## Install packages

<CodeGroup>
  ```bash npm theme={null}
  npm install @cofhe/sdk@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3
  ```

  ```bash pnpm theme={null}
  pnpm add @cofhe/sdk@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3
  ```

  ```bash yarn theme={null}
  yarn add @cofhe/sdk@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3
  ```
</CodeGroup>

| Package                           | Version  | Purpose                                                     |
| --------------------------------- | -------- | ----------------------------------------------------------- |
| `@cofhe/sdk`                      | `^0.5.1` | Client-side encryption, decryption, and permit management   |
| `@fhenixprotocol/cofhe-contracts` | `^0.1.3` | `FHE.sol` — the Solidity library imported by your contracts |

<Note>
  `@fhenixprotocol/cofhe-contracts@0.1.3` requires `@cofhe/sdk` version `>= 0.5.1`.
</Note>

## For Hardhat projects

If you are using Hardhat for development and testing, also install the plugin:

<CodeGroup>
  ```bash npm theme={null}
  npm install @cofhe/hardhat-plugin@^0.5.1 @cofhe/sdk@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3
  ```

  ```bash pnpm theme={null}
  pnpm add @cofhe/hardhat-plugin@^0.5.1 @cofhe/sdk@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3
  ```

  ```bash yarn theme={null}
  yarn add @cofhe/hardhat-plugin@^0.5.1 @cofhe/sdk@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3
  ```
</CodeGroup>

| Package                           | Version  | Purpose                                                                |
| --------------------------------- | -------- | ---------------------------------------------------------------------- |
| `@cofhe/hardhat-plugin`           | `^0.5.1` | Extends Hardhat with `hre.cofhe`, deploys mock contracts automatically |
| `@cofhe/sdk`                      | `^0.5.1` | Client-side encryption, decryption, and permit management              |
| `@fhenixprotocol/cofhe-contracts` | `^0.1.3` | `FHE.sol` — the Solidity library imported by your contracts            |

See the [Hardhat Plugin Getting Started](/client-sdk/hardhat-plugin/getting-started) guide for configuration details.

## For Foundry projects

If you are using Foundry for development and testing, install the Foundry plugin and its peer packages as dev dependencies:

<CodeGroup>
  ```bash npm theme={null}
  npm install -D @cofhe/foundry-plugin@^0.5.1 @cofhe/mock-contracts@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3 @openzeppelin/contracts
  forge install foundry-rs/forge-std
  ```

  ```bash pnpm theme={null}
  pnpm add -D @cofhe/foundry-plugin@^0.5.1 @cofhe/mock-contracts@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3 @openzeppelin/contracts
  forge install foundry-rs/forge-std
  ```

  ```bash yarn theme={null}
  yarn add -D @cofhe/foundry-plugin@^0.5.1 @cofhe/mock-contracts@^0.5.1 @fhenixprotocol/cofhe-contracts@^0.1.3 @openzeppelin/contracts
  forge install foundry-rs/forge-std
  ```
</CodeGroup>

| Package                           | Version  | Purpose                                                                  |
| --------------------------------- | -------- | ------------------------------------------------------------------------ |
| `@cofhe/foundry-plugin`           | `^0.5.1` | `CofheTest` and `CofheClient` — Solidity test base and per-user SDK shim |
| `@cofhe/mock-contracts`           | `^0.5.1` | Mock CoFHE contracts used by the Foundry plugin                          |
| `@fhenixprotocol/cofhe-contracts` | `^0.1.3` | `FHE.sol` — the Solidity library imported by your contracts              |

<Note>
  The Foundry plugin uses Solidity-only abstractions — no `@cofhe/sdk` (JS) needed for tests.
</Note>

See the [Foundry Plugin Getting Started](/client-sdk/foundry-plugin/getting-started) guide for `foundry.toml` and `remappings.txt` setup.

## Runtime entrypoints

Import from the entrypoint that matches your runtime:

```typescript theme={null}
// Browser apps (React, Next.js, etc.)
import { createCofheConfig, createCofheClient } from '@cofhe/sdk/web';

// Node.js scripts, backends, Hardhat tests
import { createCofheConfig, createCofheClient } from '@cofhe/sdk/node';

// Shared types (works in any runtime)
import { Encryptable, FheTypes } from '@cofhe/sdk';
```

## Next steps

* [Quick Start](/client-sdk/quick-start) — write your first FHE contract and test
* [Client Setup](/client-sdk/guides/client-setup) — configure and connect the SDK client
