---
title: how to turn an nft into an agent
canonical_url: https://ensurance.app/guide/how-to-turn-an-nft-into-an-agent
markdown_url: https://ensurance.app/guide/how-to-turn-an-nft-into-an-agent.md
subtitle: "on base, the contract you already have — one review, then the account follows the token"
category: how-to
---

# how to turn an nft into an agent

*on base, the contract you already have — one review, then the account follows the token*

A picture someone bought in 2021 is still sitting in a wallet. The contract was never changed, the token still transfers, and the object still has nothing to do.

The missing piece was never a new contract or a new mint. It was an account. A watershed, a forest, or a species can hold an account in its own name — that is what this machinery was built for. A river can hold one of these accounts. So can a picture. **[ensurance](https://ensurance.app/?from=guide)** is how the living system gets funded. It is not what the picture is, and it is not what the river is.

This post is the steps. Six of them, in order, on Base.

## the short answer

To turn an NFT into an agent: hold the token on Base in a wallet you can connect, open `/agents/mine` and find it, request access if the collection is not approved yet, wait for a person to review the contract, then activate. The account address is determined by the token. Whoever holds the NFT controls the account.

:::johnson
**you do not mint a new nft to get the account.** You bring the contract you already have. One review per contract, then the account follows the token.

[open /agents/mine →](/agents/mine?from=guide)
:::

## step 1: the nft is on base, in a wallet you can connect

Base is where this works today. Ethereum mainnet is next.

The token is an ordinary ERC-721 — a picture, a membership, a collectible from a collection someone deployed years ago. Nothing about it has to be upgraded, wrapped, or re-minted. If the NFT sits in a wallet you cannot connect, none of the steps below apply yet: move the token to a wallet you control, or sign in with the wallet that holds it.

## step 2: open /agents/mine and find it

[`/agents/mine`](/agents/mine?from=guide) reads the NFTs your connected wallet holds on Base and lists them. Your token is in that list or it is not. The list runs a spam filter first. If a real collection is missing, [send the contract](/contact?from=guide&topic=nft-to-agent) — do not assume it was refused.

Each item shows its state. Some are ready to activate. Some belong to a contract that has not been reviewed, and those show a request control instead of an activate button. Some are already agents. Their button reads manage, or activate if the account is not funded yet. That second activate is about funding, not this step.

## step 3: if the collection is not approved, request access

The control says `request access`. Pressing it records the chain, the contract address, the collection name, and the wallet that asked, and opens one request.

**The request is once per contract, not once per token.** One holder of a 10,000-piece collection asks, and the answer covers every token in that contract — including tokens held by people who have never visited the app. If you hold three pieces from the same collection, you request once.

## step 4: a person reviews the contract

There are four states, and the app shows you which one you are in.

| state | what you see | what to do |
|---|---|---|
| no row yet | `request access` | press it once |
| pending | `pending` | wait — a person is reviewing the contract |
| blocked | `blocked`, with a reason | it stays out |
| approved | the activate button | go to step 5 |

Pending means wait. A human looks at the contract, and we do not promise a number of hours. Blocked means it stays out, and the reason is attached to the decision. Spam contracts stay out. A token that already has a job — a name service record, a liquidity position, anything where the token is already a receipt for something else — stays out, because an account bound to it would collide with the job it already has.

Contracts minted inside our own groups are already eligible. They skip steps 3 and 4.

## step 5: activate

Activation records the NFT as an agent and deploys its **tokenbound account** — the account the token owns. The protocol pays that deploy when it can. If it is deferred, you sign it, or it finishes on the account's first action. You never pick an address.

The address this app derives is fixed by the registry, the account implementation, and a salt, plus the contract, the token id, and the chain. The same inputs always give the same address. The standard allows more than one account per token. This app deploys one. You are not creating a wallet and attaching it to a picture. You are deploying the account this app computes for that token.

If the collection has not been approved yet, activation refuses. There is no path where activation happens before the review.

## step 6: whoever holds the nft controls the account

The account is permanently bound to that one token, and control belongs to the current holder. Sell the NFT and the account goes with it — balance, history, and whatever it was pointed at. There is no separate key to hand over and no separate key to lose. This is the standard's behavior, not our policy: ERC-6551 grants control of the account to whoever holds the token.

That cuts both ways, so say it out loud before you fund one. Assets in the account transfer with the NFT. If you list the token, you are listing the account.

## the approval gate is ours, not the standard's

The tokenbound registry does not ask our permission — it will assign an account to any NFT, which is why the standard needed no changes to existing contracts. The app asks. Once per contract, before it treats your NFT as an agent here. What we are gating is what appears inside this product, not what the token is capable of.

## what the account does, and what it does not

After activation, an outside NFT and an agent we minted take the same path. The holder signs; the account moves the assets. In this app that means:

- **hold tokens** in the account, under the NFT
- **swap on Base** from the account
- **set a purpose and a place** — what this agent is for, and where
- **run a program on a schedule** — available when the operator account holds the NFT. Any other arrangement, you sign each action yourself.

And the honest limits:

- **It does not fund a river by existing.** A swap from the account does not route a fee to a watershed. Nature gets funded when someone buys an [ensurance coin](/general?from=guide) or a certificate, or sends value to an agent that represents a place — like [`colorado-river.basin`](/colorado-river.basin?from=guide), a live account held in a river's name. Holding a picture is not that payment. Pointing an account at a living system is a choice the holder makes, and then funds.
- **It does not rename your collection.** An outside NFT keeps the collection's name and its token id. It does not become `something.basin`.
- **It is not a price.** An account is a job, not a floor.

## if you built the collection

If you deployed a contract and the community is still there, the request in step 3 works from any single holder's wallet — but you probably want to talk first, because the review covers everything you minted.

Send the contract address. That is the whole ask. [Tell us about the collection](/contact?from=guide&topic=nft-to-agent) — chain, contract, roughly how many holders, and what you would want the accounts to do. If you are a DAO or an onchain community deciding this together, [onchain groups](/solutions/onchain-groups?from=guide&topic=nft-to-agent) is the page that covers agents, instruments, and valuation for a group.

There is no invoice attached to this. We are finding out whether the people still holding these objects want the account.

## frequently asked questions

### how do I turn my nft into an agent?

Hold it on Base in a wallet you can connect, open [`/agents/mine`](/agents/mine?from=guide), request access if the collection has not been reviewed, wait for approval, then activate. Activation deploys the tokenbound account whose address is determined by the token.

### how long does approval take?

A person reviews the contract, so there is no number of hours to quote. The state is visible the whole time: pending while it is being looked at, approved or blocked when it is decided.

### what if my collection is blocked?

It stays out, and the decision carries a reason. The two common ones are spam and tokens that already carry a job elsewhere, where a bound account would conflict with what the token already represents. If you think the contract was read wrong, [send it to us](/contact?from=guide&topic=nft-to-agent) with the address.

### can I do this on ethereum mainnet today?

No. Base is where activation and the collection request run today. Ethereum mainnet is the next chain. We are not listing others.

## the series

- [what an nft agent is](/guide/what-an-nft-agent-is?from=guide)
- [how to turn an nft into an agent](/guide/how-to-turn-an-nft-into-an-agent?from=guide)
- [what a tokenbound account is](/guide/what-a-tokenbound-account-is?from=guide)
- [an nft can be a wallet](/guide/an-nft-can-be-a-wallet?from=guide)
- [what to do with an nft](/guide/what-to-do-with-an-nft?from=guide)
- [nfts are dead. long live nfts.](/guide/nfts-are-dead-long-live-nfts?from=guide) — the December 2025 essay this series updates
