Building
Errors & limits
HTTP status codes from the API, revert reasons from the contract, and the (very light) rate limits.
HTTP errors
Errors return a JSON body { "error": "message" } with the matching status:
| Status | Meaning |
|---|---|
| 400 | Bad or missing parameters (e.g. no amount, malformed address). |
| 404 | Token not found in the index. |
| 409 | Name or symbol already taken — an OG holds that fingerprint. |
| 429 | Too many requests (fair-use throttle). Back off and retry. |
| 502 | Upstream RPC error talking to Robinhood Chain. |
Contract revert reasons
If a transaction reverts on-chain, decode the custom error against the Launchpad ABI. The ones you'll actually hit:
| Error | When |
|---|---|
NameTaken(existing) | The name's fingerprint is already registered to existing. |
SymbolTaken(existing) | The ticker's fingerprint is already registered. |
NonAsciiName | Name or symbol contains a non-ASCII byte. |
NameEmpty / EmptyCanonicalName | Nothing left after canonicalization (e.g. all punctuation). |
NameTooLong | Name exceeds the length limit. |
SlippageBuy(got, min) | Buy output fell below your minTokensOut. |
SlippageSell(got, min) | Sell output fell below your minEthOut. |
Expired | Mined after the trade's deadline. |
ZeroAmount | Zero ETH in on a buy, zero tokens in on a sell, or claimCreatorFees with nothing to claim. |
AlreadyGraduated | Tried to trade a token that has moved to Uniswap. |
UnknownToken | Address isn't a token this launchpad created. |
NotGraduatable | Manual graduate called before the 8 ETH threshold. |
FeeTooHigh | Owner tried to set a fee above the 1% ceiling — always reverts. |
Note.Standard library reverts also apply:
ReentrancyGuardReentrantCall, SafeERC20FailedOperation(token) (usually a missing approval on a sell), and the Ownable* errors on admin-only calls.Rate limits
The public testnet API needs no key and has no hard quota today. Please be reasonable — cache reads, poll no faster than a few seconds, and don't hammer /tx/* in a tight loop. Abuse is throttled with a 429. Formal per-key limits arrive with the mainnet launch.