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

# Contract Verification

How every Novamp launch auto-verifies on the block explorer via matching template bytecode — and how to confirm any contract yourself.

Every Novamp token launches with **verified source** on its chain's block explorer — automatically, with no per-launch step. This works because each launch shares **byte-identical runtime bytecode** with a single verified template per chain. This page explains the mechanism and shows you how to confirm any contract yourself.

{% hint style="success" %}
✅ One verified template per chain covers **all** launches on that chain. When a new token is deployed, the explorer recognizes its bytecode as matching the verified template and shows the source automatically.
{% endhint %}

## Overview

"Verified" means the explorer has matched a contract's on-chain bytecode to published human-readable source code, so anyone can read exactly what the contract does.

Novamp makes this automatic:

1. Novamp verifies its **core contracts** (factory, seeders, registries, vault, fee router) on each explorer once.
2. Novamp verifies **one token template** per chain.
3. Because every launched token compiles to the **same runtime bytecode** as that template, the explorer treats each new launch as a match — so it **auto-verifies**.

## How auto-verification works

```mermaid
flowchart LR
  A[Verified token template] --> B[Runtime bytecode fingerprint]
  C[New launch deploys token] --> D[Same runtime bytecode]
  D --> E{Explorer matches fingerprint?}
  E -- "Yes" --> F[Auto-verified: source shown]
```

The token's constructor arguments differ per launch (name, ticker, supply, taxes), but the **runtime bytecode** — the code that actually runs — is identical to the template. Explorers verify against that runtime code, so the match holds for every launch.

## Per-explorer specifics

| Chain                | Explorer                                                               | Match mechanism                        |
| -------------------- | ---------------------------------------------------------------------- | -------------------------------------- |
| `🟢 Robinhood Chain` | [robinhoodchain.blockscout.com](https://robinhoodchain.blockscout.com) | Blockscout **`eth_bytecode_db`** match |
| `🔵 Base`            | [basescan.org](https://basescan.org)                                   | Etherscan **"similar match"**          |
| `🟡 BNB Chain`       | [bscscan.com](https://bscscan.com)                                     | BscScan **"similar match"**            |
| `⚪ Ethereum`         | [etherscan.io](https://etherscan.io)                                   | Etherscan **"similar match"**          |

{% hint style="info" %}
On Etherscan-family explorers (Base, BNB, Ethereum), auto-verified launches show as a **"similar match"** to the verified template — this is expected and means the runtime bytecode is identical. On Robinhood Chain's Blockscout, the match comes from the shared bytecode database.
{% endhint %}

## How to verify a contract yourself

You never have to trust the badge — you can check any Novamp contract directly:

1. **Get the address** from the [token page](/traders/overview.md) or the [Contract Addresses](/protocol/contracts-and-addresses.md) page. Don't trust addresses from DMs or unofficial sites.
2. **Open it on the chain's explorer** (table above) and check the **Contract** tab shows verified source (or a "similar match" to the Novamp template).
3. **Confirm the token traits** on the source / read tab: fixed supply, **no mint function**, **no owner**, taxes within 0–10% and lowerable-only.
4. **Trace it to an official contract** — a genuine launch is created by the official `NovampLaunchFactory` and indexed in the `TokenRegistry`. Cross-check the factory address against [Contract Addresses](/protocol/contracts-and-addresses.md).
5. **Check the liquidity choice** — burned LP goes to the dead address `0x000…dEaD`; locked liquidity sits in the `LiquidityLocker` / `PositionVault`.

{% hint style="warning" %}
⚠️ A verified contract tells you what the code does — it does **not** tell you a token will hold value. Impersonators may deploy verified-but-malicious contracts *outside* Novamp. Always confirm the token traces back to the official factory. See [Token & Trading Risks](/legal-and-safety/token-trading-risks.md).
{% endhint %}

## Important details

| Property              | Detail                                                                  |
| --------------------- | ----------------------------------------------------------------------- |
| Scope                 | Every launch auto-verifies; core contracts verified once per chain      |
| Mechanism             | Byte-identical runtime bytecode vs. a verified template                 |
| RHC                   | Blockscout `eth_bytecode_db` match                                      |
| Base / BNB / Ethereum | Etherscan / BscScan "similar match"                                     |
| Trust anchor          | Trace any token to the official `NovampLaunchFactory` + `TokenRegistry` |

## What happens next?

* Confirm your own launch on the explorer straight from the success screen (see [Tracking Your Launch](/creators/tracking-your-launch.md)).
* Before trading anything, run the checks above — see [Token & Trading Risks](/legal-and-safety/token-trading-risks.md).

## Continue exploring

* [📜 Contract Addresses](/protocol/contracts-and-addresses.md) — official addresses to cross-check
* [⛓️ Contract Architecture](/protocol/contract-architecture.md) — what the factory deploys
* [🛡️ Security Model](/protocol/security-model.md) — what verification guarantees (and doesn't)
* [🪙 Token & Trading Risks](/legal-and-safety/token-trading-risks.md) — checking a token before you trade


---

# 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://docs.novamp.io/protocol/contract-verification.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.
