Skip to content

Errors

Every error comes back as { "error": { "code", "message", "fix"?, "field"?, "detail"? } } with an HTTP status. Act on code: it never changes. The same list is live at GET /api/v1/errors.

Retry means the same request can succeed later, unchanged; wait a few seconds first.

HTTP 413

The body is larger than the limit (64 KB of JSON, 5 MB for an image).

Fix: Send only the fields the endpoint takes.

HTTP 503 · retry

Robinhood Chain could not be read or simulated just now.

Fix: Retry in a few seconds.

HTTP 503 · retry

The data behind this answer could not be read just now.

Fix: Retry in a few seconds.

HTTP 422

Selling this coin straight after buying it fails through every route, in simulation: it may not be sellable.

Fix: Do not buy it. GET /coins/{address} shows what is known.

HTTP 413

The image is larger than 5 MB.

Fix: Send a smaller image.

HTTP 422

The wallet holds less of the coin than the sale.

Fix: Sell at most what the wallet holds.

HTTP 422

The wallet holds less ETH than the buy.

Fix: Spend less, or add ETH (it also pays gas).

HTTP 500 · retry

Something failed on our side; nothing was sent.

Fix: Retry; if it persists, tell us the time and the request.

HTTP 400

A field that must be a 0x address is not one; field says which.

Fix: Send a 40-hex-digit address starting with 0x.

HTTP 400

The amount is not a positive decimal in whole units.

Fix: Send a decimal string such as “0.05” (ETH for a buy, the coin for a sale), not wei.

HTTP 400

The body is not a JSON object.

Fix: Send Content-Type: application/json and a JSON object.

HTTP 400

slippageBps or feeBps is out of range (basis points: 100 = 1%).

Fix: slippageBps: 1 to 5000. feeBps: 0 to 300, with feeRecipient.

HTTP 400

A coin detail (name, ticker, description, picture or link) is not accepted; field says which.

Fix: Fix the field named. A picture must come from POST /media/image.

HTTP 400

That is not a transaction hash.

Fix: Send the 0x-prefixed 64-hex-digit hash your wallet returned.

HTTP 400

The body is not valid JSON.

Fix: Send Content-Type: application/json and valid JSON.

HTTP 400

A launch field is missing or wrong; field says which.

Fix: Fix the field named and send it again (GET /launch lists each launchpad’s options).

HTTP 400

A query parameter is out of range or malformed; field says which.

Fix: Send it as the message says, or leave it out for the default.

HTTP 400

side is “buy” (ETH for the coin) or “sell” (the coin for ETH).

Fix: Send side=buy or side=sell.

HTTP 503 · retry

Launching is switched off on this server for now.

Fix: Try again later.

HTTP 422

The launch reverted when simulated.

Fix: Change the first buy or the options, then build again.

HTTP 503 · retry

The coin’s pools could not be read just now.

Fix: Retry in a few seconds.

HTTP 422 · retry

No pool or curve can make this trade right now (none known, or every one failed in simulation; detail lists them).

Fix: Try a smaller amount; a coin minutes old may have no pool yet.

HTTP 400

The token address is not an ERC-20 on Robinhood Chain.

Fix: Send the coin’s contract address.

HTTP 404

There is no such endpoint.

Fix: GET /api/v1 lists every endpoint.

HTTP 422

The trade would move the price more than maxPriceImpactPct (default 50%): the pool is too thin for it.

Fix: Trade less, or send maxPriceImpactPct (up to 100) to allow it.

HTTP 422

This coin’s sale can only be quoted from a wallet that holds it.

Fix: Send wallet: an address holding at least amount of the coin.

HTTP 429 · retry

Too many requests from this address in the last minute.

Fix: Wait (the retry-after header says how long) and slow the loop. Per minute: reads 300, quotes 120, swaps and launches 60, uploads 20.

HTTP 422 · retry

The trade failed when simulated again with its minimum in place: the price moved.

Fix: Retry, or allow more slippage (slippageBps).

HTTP 400

The amount has more decimal places than the currency has.

Fix: Round it to the currency’s decimals (18 for ETH and most coins).

HTTP 404

The address has no market, launchpad or curve on Robinhood Chain.

Fix: Check the address: GET /coins lists every coin with a market.

HTTP 404

Nobody we know of launched this coin: it was not made on a launchpad we read.

Fix: GET /coins/{address} shows its launchpad.

HTTP 404

A holder group is bundled or snipers.

Fix: Ask /holders/bundled or /holders/snipers.

HTTP 415

The body is not a PNG, JPEG, GIF or WebP image.

Fix: Send the raw image bytes with Content-Type image/png, image/jpeg, image/gif or image/webp.

HTTP 429 · retry

Uploads are busy right now.

Fix: Try again in a few minutes.

HTTP 400

A swap is built for the wallet that will send it.

Fix: Send wallet.