> For the complete documentation index, see [llms.txt](https://docs.antivamp.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.antivamp.io/for-creators/check-an-identity.md).

# Check an Identity

Check whether a name + ticker is available or already protected — a public identity check that folds your pair to a canonical key and returns its status.

Before you reserve or launch, check whether the `Name + Ticker` you want is free. The identity check is **public** (no API key required; `sandbox-api.antivamp.io` answers from seeded test data, every other host from live protection state), folds your name and ticker to their canonical form, and returns the current status of that identity across the network.

📡 View the machine-readable endpoint reference at [AntiVamp API](https://antivamp.io/api).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

## How to check

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>🌐 On the web</strong></td><td>Use the public checker at <a href="https://antivamp.io/check">antivamp.io/check</a>.</td></tr><tr><td><strong>📡 With the API</strong></td><td>Call <code>GET /v1/identity/check</code> — public, no key.</td></tr></tbody></table>

```http
GET /v1/identity/check?name=Green%20Robin&ticker=ROBIN
```

Optional query parameters:

| Parameter                               | Purpose                                                                                                  |
| --------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `name` *(required)*                     | The token name (1–64 chars).                                                                             |
| `ticker` *(required)*                   | The token ticker (2–10 chars).                                                                           |
| `chain`                                 | Scope the check to a specific chain.                                                                     |
| `launcher`                              | Ask whether a specific wallet is the authorized launcher for the pair.                                   |
| `tx` *(GET)* / `reservationTx` *(POST)* | Attach an on-chain reservation transaction hash to index the hold and enrich the explorer/receipt links. |

## What you get back

The response normalizes your input to a single `identityKey` (`NAME::TICKER` after folding) and returns a **status** plus a **decision**:

```json
{
  "identityKey": "GREENROBIN::ROBIN",
  "normalizedName": "GREENROBIN",
  "normalizedTicker": "ROBIN",
  "status": "available",
  "decision": "allow",
  "authorizedLauncher": null,
  "protectedUntil": null,
  "available": true
}
```

### Status values

| Status       | Meaning for you                                                           |
| ------------ | ------------------------------------------------------------------------- |
| `available`  | Free to reserve or launch.                                                |
| `reserved`   | Held by an active reservation — only the authorized wallet can launch it. |
| `protected`  | Under an active copycat lock (post-launch).                               |
| `authorized` | Protected, and the wallet you supplied is the authorized launcher.        |
| `blocked`    | Not launchable — an active protection or guardian block applies.          |
| `expired`    | A prior hold or lock has lapsed; the pair may be available again.         |
| `launched`   | A token has launched on this identity.                                    |
| `cleared`    | A guardian cleared a prior block.                                         |
| `delayed`    | Data is still catching up; recheck shortly.                               |
| `unknown`    | No conclusive record; recheck before acting.                              |

### Decision values

| Decision                | What it tells you                                                                                                                         |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `allow`                 | No conflict — you can proceed.                                                                                                            |
| `allow_authorized_only` | Protected; only the authorized wallet may launch this pair.                                                                               |
| `block`                 | Do not launch — the identity is protected for someone else.                                                                               |
| `recheck_required`      | Data was not conclusively available (including service outages); check again before acting, and treat as "do not launch" in the meantime. |

{% hint style="info" %}
🧬 **Identity is normalized.** `Green Robin` / `GREEN ROBIN` / `$ROBIN`-style prefixes and full-width look-alikes fold to the same key, so checking any variant reflects the same underlying identity. See [Identity Model & Normalization](/protocol/identity-model.md).
{% endhint %}

{% hint style="warning" %}
⚠️ An identity check is a **read-only snapshot** — it does not hold the pair for you. If it's available and you want it, [reserve it](/for-creators/reserve.md). At launch time, integrated launchpads run their own signed validation, which is the authoritative gate.
{% endhint %}

## When to check

* **Before reserving** — confirm the pair is free (and pick a different one if not).
* **While naming** — check candidate names as you type to avoid collisions.
* **Before launching** — sanity-check that your reserved pair still reads `authorized` for your wallet.

For the full request/response schema and language-agnostic examples, see the [API Reference](/developers/api-reference.md) and [AntiVamp API](https://antivamp.io/api).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

## Continue exploring

* 🔒 [Reserve a Name + Ticker](/for-creators/reserve.md) — hold a pair once you've confirmed it's free
* 🧬 [Identity Model & Normalization](/protocol/identity-model.md) — how pairs fold to one key
* 🚀 [Launch with Protection](/for-creators/launch-with-protection.md) — the authoritative launch-time gate
* 🆘 [Creator Troubleshooting](/for-creators/troubleshooting.md) — blocked or non-ASCII identities


---

# 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.antivamp.io/for-creators/check-an-identity.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.
