> For the complete documentation index, see [llms.txt](https://zardoz.gitbook.io/zardoz-docs-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zardoz.gitbook.io/zardoz-docs-1/zardoz-instant-contracts.md).

# Zardoz Instant contracts

## Zardoz Instant contracts

Instant deploys an ERC-20 + Uniswap V3 single-sided listing through the Zardoz factory. The liquidity NFT is **locked**; creators claim swap fees via the locker.

Prefer the in-app [/launch](https://zardoz.fun/launch) form for the guided flow.

***

### Mainnet addresses

| Role                             | Address                                                                                                                                  |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **Instant factory** (primary)    | [`0xDabBB88c68bb44512b917d3AD3298669330954BD`](https://robinhoodchain.blockscout.com/address/0xDabBB88c68bb44512b917d3AD3298669330954BD) |
| Fee vault                        | [`0xd390f16A02133928bF6943eF3637e65cF78EE988`](https://robinhoodchain.blockscout.com/address/0xd390f16A02133928bF6943eF3637e65cF78EE988) |
| LP locker                        | [`0xd10bac75248cC975Edc5770a71144a7549594b4e`](https://robinhoodchain.blockscout.com/address/0xd10bac75248cC975Edc5770a71144a7549594b4e) |
| Launch fee router                | [`0xB36Bd2A864cB5AD202c2b66Ba20C4e2da9484151`](https://robinhoodchain.blockscout.com/address/0xB36Bd2A864cB5AD202c2b66Ba20C4e2da9484151) |
| Legacy factory (v1)              | `0x00C1a8025a5FDdf5046965Dc94e1dB845853A7D1`                                                                                             |
| Legacy factory (pre-logoURI)     | `0xd4419ed7f2ff81821f3ec8e104d05918bb7ba9d1`                                                                                             |
| Legacy factory (allowance flags) | `0xd70d61e34b3fd25c333874f8bfbef6378eebfeee`                                                                                             |

Production builds also read `NEXT_PUBLIC_MAINNET_INSTANT_*` env vars at compile time.

#### Token indexer surface (v2)

| Call                             | Notes                                                       |
| -------------------------------- | ----------------------------------------------------------- |
| `logo()`                         | Prefer `ipfs://CID` — what GMGN/Axiom call                  |
| `description()`                  | On-chain copy                                               |
| `socials()`                      | `string[]` social URLs                                      |
| `logoURI()` / `image()`          | Aliases                                                     |
| `getTokenInfo(token)` on factory | name, symbol, logo, description, metadataURI, creator, pool |

***

### High-level sequence

1. **Image + metadata** — HTTPS / IPFS URI, or `POST /api/pin`
2. **Create** — `ZardozInstantFactory.create(CreateParams)` payable with name, symbol, metadataURI, logoURI, listing params, feeRecipient, optional agent config, optional `initialBuyWei`
3. **Trade** — pool live on Uniswap V3 WETH pair; Discover indexes via APIs + logs
4. **Claim** — locker `collectAndClaim(token)` from Portfolio / Farm

Platform fee (0.002 ETH) routes through `LaunchFeeRouter.execute` wrapping the factory call.

***

### TokenCreated event

```solidity
event TokenCreated(
    address indexed token,
    address indexed creator,
    address indexed pool,
    address feeRecipient,
    uint256 positionId,
    uint24 feeTier,
    uint256 totalSupply,
    uint256 tokensForListing,
    string name,
    string symbol,
    string metadataURI,
    string logoURI,
    bytes extras
);
```

**topic0**

```
0x6a930054a3ec27e994fa8a180f9a1ae564f0792f35245bc48d41687bb9c41568
```

**Minimal eth\_getLogs**

```json
{
  "address": "0xDabBB88c68bb44512b917d3AD3298669330954BD",
  "topics": ["0x6a930054a3ec27e994fa8a180f9a1ae564f0792f35245bc48d41687bb9c41568"]
}
```

Indexed topics after topic0: `token`, `creator`, `pool`.

***

### CreateParams (summary)

See `lib/instant-factory.ts` and `contracts/src/instant/ZardozInstantFactory.sol`.

| Field                                    | Notes                                      |
| ---------------------------------------- | ------------------------------------------ |
| `name`, `symbol`                         | ERC-20 identity                            |
| `metadataURI`, `logoURI`                 | Bound at deploy                            |
| `totalSupply`                            | App default 1e27 (1B × 1e18)               |
| `tokensForListing`                       | Share of supply into V3 position           |
| `sqrtPriceX96`, `tickLower`, `tickUpper` | Pool geometry                              |
| `feeTier`                                | 100 / 500 / 3000 / 10000                   |
| `feeRecipient`                           | Receives claimed swap fees                 |
| `creator`                                | Deployer attribution                       |
| `initialBuyWei`                          | Optional ETH buy in same tx                |
| Agent tuple                              | Optional auto claim / buybacks in `extras` |

***

### Uniswap context (RH mainnet)

| Piece        | Address                                      |
| ------------ | -------------------------------------------- |
| WETH         | `0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73` |
| V3 factory   | `0x1f7d7550B1b028f7571E69A784071F0205FD2EfA` |
| NPM          | `0x73991a25C818Bf1f1128dEAaB1492D45638DE0D3` |
| SwapRouter02 | `0xCaf681a66D020601342297493863E78C959E5cb2` |

Default meme fee tier: **10000 (1%)**.

***

### Safety model

| Item         | Behavior                                             |
| ------------ | ---------------------------------------------------- |
| LP NFT       | Locked in Instant locker — not pullable by creator   |
| Token        | Standard ERC-20; metadata + logo immutable at deploy |
| Platform fee | 0.002 ETH via router; refunded if launch reverts     |
| Swap fees    | Accrue to locked position; claim via locker          |

***

### Source references

| Artifact       | Repo path                                                             |
| -------------- | --------------------------------------------------------------------- |
| Factory        | `contracts/src/instant/ZardozInstantFactory.sol`                      |
| Token          | `contracts/src/instant/ZardozInstantToken.sol`                        |
| Locker / vault | `contracts/src/instant/ZardozInstantLocker.sol`, `ZardozFeeVault.sol` |
| Client ABI     | `lib/instant-factory.ts`                                              |
| Indexer        | `lib/data/zardoz-index.ts`                                            |
| Pad map        | `lib/launchpads.ts` → `LAUNCHPAD_CREATORS`                            |

Next: Indexer integration · HTTP APIs


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://zardoz.gitbook.io/zardoz-docs-1/zardoz-instant-contracts.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
