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

# Update a text record

Let an HCA update the description of a name you already manage. This guide connects account
deployment, resolver permissions and a sponsored UserOperation in one flow.

## Before you start

Follow [Pimlico getting started](/hca/pimlico/getting-started) to install the packages and configure
your provider. These examples run on a server with Sepolia clients. Keep signing keys on the server.

You need:

* `ENSFORGE_SEPOLIA_RPC_URL` and `ENSFORGE_SEPOLIA_PRIVATE_KEY` for the owner wallet.
* `PIMLICO_RPC_URL` with sponsorship enabled for your project.
* Sepolia ETH in the owner wallet for deployment and permission transactions.
* A name managed by that wallet with a resolver that supports record permissions.

## Deploy, authorize and update

Copy the files below into the same directory. Replace `your-name.eth` in `permissions.ts` with your
name, then run `pimlico-update-description.ts` using your TypeScript runner.

The entry point imports deployment first, then checks the HCA's permission to change `description`.
The final read verifies the saved value.

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

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

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

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

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

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

The permission request uses `allowScopeWidening: false`. If the resolver cannot grant only the
requested access, resolve that permission requirement before continuing. See
[Accounts and permissions](/hca/guides/accounts) for the supported scopes.

## Track the result

Keep the logged submission until the operation settles. If the wait times out, use
`getHcaExecutionStatus({ submission, execution })` with the same submission instead of sending the
update again. A `succeeded` outcome followed by a matching record read completes the flow.

The owner pays for setup; Pimlico sponsorship covers the HCA operation. To update several records
in one operation, continue with [Update an ENS profile](/hca/pimlico/update-profile).
