> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://ensforge.com/api/mcp` to find what you need.

# Getting started

Pimlico submits an owner-signed UserOperation through EntryPoint 0.7. You can sponsor gas with a
paymaster or pay from the HCA's ETH balance or EntryPoint deposit. This adapter does not use session
keys and does not bridge funds.

## Install

```sh
pnpm add @ensforge/hca @ensforge/sdk @ensforge/contracts effect@rc viem permissionless@0.4.0
```

## Configure the clients

Set these server-side environment variables:

```sh
ENSFORGE_SEPOLIA_RPC_URL=
ENSFORGE_SEPOLIA_PRIVATE_KEY=
PIMLICO_RPC_URL=
```

Use a Pimlico Sepolia endpoint whose paymaster policy permits your operation. The owner signs; the
RPC client sends the operation and queries its receipt.

:::code-group
```ts [pimlico.ts]
// [!include ~/snippets/hca/guides/pimlico.ts]
```

```ts [client.ts]
// [!include ~/snippets/hca/guides/client.ts]
```
:::

`sponsorship: {}` requests the default paymaster policy. See [Gas and sponsorship](/hca/pimlico/sponsorship)
for a named policy or self-funded execution. There is no automatic fallback to HCA funds if
sponsorship is rejected.

## Deploy the account

This explicit deployment uses the owner wallet, so it needs Sepolia ETH even when later UserOperations
are sponsored. Run this setup before the usage example.

:::code-group
```ts [deploy.ts]
// [!include ~/snippets/hca/guides/deploy.ts]
```

```ts [account.ts]
// [!include ~/snippets/hca/guides/account.ts]
```

```ts [client.ts]
// [!include ~/snippets/hca/guides/client.ts]
```
:::

The adapter also supports counterfactual owner execution. For an undeployed account, supply its
expected owner and salt to the execution action so the adapter can include deployment in the
UserOperation. That is a separate path from the explicit deployment above.

Next, [send an ENS record update](/hca/pimlico/usage).
