> **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.

# HCA

HCA methods are bound to the same config as normal ENS methods. Use `sdk.hca` for account operations
and `sdk.hca.admin` for governance. The SDK creates memory workflow storage by default; supply shared
or persistent storage when progress must survive a new SDK instance or process restart.

## Read an account

:::code-group
```ts [index.ts]
import { sdk } from "./client";

const account = await sdk.hca.getHca({ hca });
```

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

See [getHca](/sdk/api/hca/get-hca) for parameters, return values and the read playground.

## Execute calls

Configure a wallet for owner writes. Without `execution`, the immutable owner sends an ordinary
transaction to a deployed HCA. With `execution`, the supplied adapter prepares and submits the call.

```ts
const submission = await sdk.hca.executeHcaCalls({
  hca,
  authorization: { kind: "owner" },
  calls: [{ to: recipient, value: 0n }],
});
const status = await sdk.hca.waitForHcaExecution({ submission });
```

Provider integrations are configured through [`@ensforge/hca`](/hca/getting-started).
[Registration](/core/guides/hca-registration) has its own durable commit/wait/reveal flow.
[Workflow storage](/core/guides/workflow-storage) explains default adapters and recovery.

## Effect

Every ordinary method retains `.effect`; supported reads expose `.request`, and write intents expose
`.call`. `watchHcaExecution` exposes `.stream` and callback observation.

```ts
import { Effect } from "effect";

const result = await Effect.runPromise(sdk.hca.getHcaOwner.effect({ hca }));
```

See [Supported deployments](/hca/compatibility) for the Sepolia profile and provider limits.

## Provider walkthroughs

Follow [Execute with Pimlico](/hca/pimlico/getting-started) for owner UserOperations,
[Rhinestone Sessions](/hca/rhinestone/getting-started) for sponsored session calls, and
[Cross-chain Funding](/hca/rhinestone/cross-chain) for independent destination funding. The walkthroughs use SDK
actions; the same adapter is accepted by the corresponding core actions and React hooks.
