> 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-launchpads/report-launches.md).

# Report Launches

Report a successful launch with POST /v1/launches/report so the network sees the token — but remember a bare launch grants no copycat protection.

> **Report every successful deploy — but know that reporting is not protection.**

After a launch clears validation and you deploy the token or mint, tell AntiVamp about it. Reporting records the token against its normalized identity so the network — and your UI — reflect it.

{% hint style="warning" %}
⚠️ **A bare launch grants no copycat protection.** `reportLaunch` records the token but does **not** lock the ticker — the pair stays available until a **market-cap goal** is reached. Locks fire at the **\~$69k market-cap equivalent** goal. To apply protection, report the bond and milestone events in [Report Bonding & Milestones](/for-launchpads/report-milestones.md).
{% endhint %}

## Report a launch

`POST /v1/launches/report` with a Bearer key, after a successful on-chain deploy.

{% tabs %}
{% tab title="SDK" %}

```ts
await antivamp.reportLaunch({
  chain: "solana",
  launchpad: "your-launchpad",
  name: "Green Robin",
  ticker: "ROBIN",
  launcher: walletAddress,
  tokenOrMint: mintAddress,
});
```

{% endtab %}

{% tab title="cURL" %}

```bash
curl -X POST https://api.antivamp.io/api/v1/launches/report \
  -H "Authorization: Bearer $ANTIVAMP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chain": "solana",
    "launchpad": "your-launchpad",
    "name": "Green Robin",
    "ticker": "ROBIN",
    "launcher": "0x…",
    "tokenOrMint": "…"
  }'
```

{% endtab %}
{% endtabs %}

Report only **after** your own on-chain confirmation. This endpoint does not deduplicate today — a retried report can record a second `launched` event and re-dispatch webhooks — so on a network error, check server state before retrying rather than assuming a stored replay. See [Implement Idempotency](/for-launchpads/idempotency.md).

{% hint style="info" %}
🔒 **Production reporting is restricted.** In some production environments `POST /v1/launches/report` is operator-gated and returns **403** for keys without launch-reporting access. This is a client-side authorization condition, not a fail-closed outage — resolve it during onboarding rather than retrying blindly. See the [Production Checklist](/for-launchpads/production-checklist.md).
{% endhint %}

## Where reporting fits the lifecycle

```
enforceLaunch()   → decision enforced, deploy proceeds
reportLaunch()    → token recorded  (no lock — ticker still available)
reportBond()      → ~$69k market-cap goal → time-limited lock (60d reserved / 48h unreserved)
reportMilestone() → ~$1M market cap       → time-limited lock (90d reserved / 7d unreserved)
```

Report launches promptly on success so the shared registry, your explorer view, and downstream [webhook](/for-launchpads/process-webhooks.md) consumers stay in sync. Then wire bond and milestone reporting to your market-cap lifecycle so protection actually attaches.

{% hint style="danger" %}
🚨 Report from your server only. The `av_live_…` key that authorizes reporting must never appear in client code.
{% endhint %}

{% hint style="info" %}
📡 View the machine-readable endpoint reference at [AntiVamp API](https://antivamp.io/api).
{% endhint %}

***

## Continue exploring

* 📈 [Report Bonding & Milestones](/for-launchpads/report-milestones.md) — the events that actually apply protection
* ✅ [Validate Every Launch](/for-launchpads/validate-every-launch.md) — the step that must precede every launch
* 🔔 [Process Webhooks](/for-launchpads/process-webhooks.md) — react to `launch.reported`, `token.bonded`, and more
* ♻️ [Implement Idempotency](/for-launchpads/idempotency.md) — safe retries for report calls
* 🆘 [Partner Troubleshooting](/for-launchpads/troubleshooting.md) — resolving `403` and other reporting errors


---

# 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-launchpads/report-launches.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.
