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

# Token-Bound Accounts

> Every Gotchipus has its own wallet

## What is a Token-Bound Account?

Every Gotchipus has its own on-chain wallet — a **Token-Bound Account (TBA)** created via the [ERC-6551](https://eips.ethereum.org/EIPS/eip-6551) standard. This means your Gotchipus isn't just a token you own — it's an entity that **owns things itself**.

## How It Works

When you summon a Gotchipus, a TBA is automatically created using a deterministic Create2 factory. The TBA address is derived from:

* The Gotchipus NFT's token ID
* The chain ID
* A unique salt

This means the TBA address is predictable and permanent — your Gotchipus always has the same wallet address.

## What Can a TBA Hold?

Your Gotchipus's TBA can hold:

| Asset Type          | Examples               |
| ------------------- | ---------------------- |
| **Native tokens**   | ETH                    |
| **ERC-20 tokens**   | USDC, USDT, WETH, WBTC |
| **ERC-721 NFTs**    | Other NFTs             |
| **ERC-1155 tokens** | Wearables, consumables |

The collateral you stake during summoning is sent directly to the TBA — your Gotchipus literally holds its own soul energy.

## Execution

The TBA isn't just a vault — it can **execute transactions**:

```
Gotchipus Owner (or authorized Session)
  → executeAccount(tokenId, target, value, data)
    → BeforeExecute Hooks fire
      → TBA executes the transaction
        → AfterExecute Hooks fire
```

This execution flow is what makes autonomous behavior possible. Combined with Hooks and Sessions, your Gotchipus can interact with any smart contract on the network.

### Who Can Execute?

| Actor                    | Permission                                                      |
| ------------------------ | --------------------------------------------------------------- |
| **NFT Owner**            | Full execution rights                                           |
| **Authorized Paymaster** | Can sponsor and execute transactions                            |
| **Active Session**       | Can execute within session constraints (time, value, whitelist) |

## Signature Validation

The TBA implements **ERC-1271** (Standard Signature Validation), meaning it can verify signatures on behalf of the Gotchipus. This enables:

* Off-chain message signing
* Meta-transaction support
* Protocol integrations that require signature verification

## Why TBAs Matter

Without TBAs, a Gotchipus would be a token in *your* wallet, limited to what *you* do with it.

With TBAs, a Gotchipus is an **independent economic entity**:

* It owns its own assets
* It can execute its own transactions
* It has its own on-chain identity (address)
* It can interact with DeFi protocols, marketplaces, and other contracts

This is the foundation that makes the vision of 20,000 autonomous agents possible. Each Gotchipus doesn't just exist on-chain — it **participates** on-chain.

<Tip>
  Reentrancy protection is built into the TBA execution flow. Each execution is guarded to prevent malicious reentrant calls.
</Tip>
