+ Dá coin+ Create
Robinhood API

👨‍💻 Create Robinhood coins with API

Chain ID: 4663
Native asset: ETH
Pool: Uniswap V3, 1% fee
Launch factory: 0xfb21934bb01b4d7b83beb8af6e6fd553f049e632
LP: permanently locked

Your Robinhood API key

Launch flow

1. BuildRequest canonical unsigned calldata.
2. SignCreator sends it with a Robinhood Chain wallet.
3. VerifyBackend verifies the receipt and LP lock.

Endpoints

GET /api/evm/robinhood/statusNetwork and readiness
POST /api/evm/robinhood/build-direct-v3-launchUnsigned launch transaction
POST /api/evm/robinhood/verify-direct-v3-launchReceipt verification and verification
GET /api/evm/robinhood/claimable?wallet=0x...Combined legacy and V1843 creator rewards
POST /api/evm/robinhood/build-creator-rewards-claimUnsigned legacy and V1843 claim queue

Security model

  • Never send a private key or seed phrase.
  • The API never accepts a client-selected factory, router, pool or fee locker.
  • The wallet signs and broadcasts the transaction.
  • Persistence occurs only after accepted-factory receipt verification.
  • Browser integrations must send the current same-origin CSRF token.

cURL: check status

curl -sS https://launchpad.meme/api/evm/robinhood/status | jq .

cURL: build launch

CSRF_TOKEN="YOUR_CURRENT_SESSION_CSRF"
CREATOR="0xYourWallet"

curl -sS -X POST \
  https://launchpad.meme/api/evm/robinhood/build-direct-v3-launch \
  -H "Content-Type: application/json" \
  -H "X-CSRF-Token: ${CSRF_TOKEN}" \
  -d "{
    \"creator\":\"${CREATOR}\",
    \"name\":\"Example Coin\",
    \"symbol\":\"EXAMPLE\",
    \"first_buy_wei\":\"100000000000000\",
    \"csrf_token\":\"${CSRF_TOKEN}\"
  }"

first_buy_wei is optional. Use "0" for no creator first-buy swap. The builder still includes the current registry minimum of 0.0005 ETH pool liquidity.

JavaScript: wallet launch

const build = await fetch(
  '/api/evm/robinhood/build-direct-v3-launch',
  {
    method: 'POST',
    credentials: 'same-origin',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({
      creator: account,
      name: 'Example Coin',
      symbol: 'EXAMPLE',
      first_buy_wei: '100000000000000',
      csrf_token: csrfToken
    })
  }
).then(r => r.json());

if (!build.ok) throw new Error(build.message);

await ethereum.request({
  method: 'wallet_switchEthereumChain',
  params: [{chainId: '0x1237'}]
});

const txHash = await ethereum.request({
  method: 'eth_sendTransaction',
  params: [build.transaction]
});

Verify and create token page

const verified = await fetch(
  '/api/evm/robinhood/verify-direct-v3-launch',
  {
    method: 'POST',
    credentials: 'same-origin',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({
      tx_hash: txHash,
      creator: account,
      write: true,
      csrf_token: csrfToken,
      metadata: {
        name: 'Example Coin',
        symbol: 'EXAMPLE',
        description: 'Created through Robinhood API.'
      }
    })
  }
).then(r => r.json());

if (verified.redirect_ready) {
  location.href = verified.token_url;
}

Expected build response

{
  "ok": true,
  "transaction": {
    "chainId": "0x1237",
    "from": "0x...",
    "to": "0xfb21934bb01b4d7b83beb8af6e6fd553f049e632",
    "value": "0x221b262dd8000",
    "data": "0x..."
  },
  "policy": {
    "minimum_pool_liquidity_wei": "500000000000000",
    "minimum_initial_buy_wei": "0",
    "first_buy_amount_wei": "100000000000000",
    "total_transaction_value_wei": "600000000000000"
  }
}
Production API v1
POST /api/v1/robinhood/media/uploadUpload and host a validated token logo
POST /api/v1/robinhood/launches/intentPrepare the deterministic creator message
POST /api/v1/robinhood/launches/buildVerify signature and return unsigned calldata
POST /api/v1/robinhood/launches/confirmVerify receipt and LP lock, verify a non-zero first buy
GET /api/v1/robinhood/launches/status?launch_id=rhl_...Read idempotent launch state
GET /api/v1/robinhood/tokens/{address}Canonical token data
GET /api/v1/robinhood/tokens/{address}/tradesRPC-indexed external swaps
GET /api/v1/robinhood/tokens/{address}/candlesCanonical Launchpad candles

Upload token logo

curl -sS -X POST https://launchpad.meme/api/v1/robinhood/media/upload \
  -H "Authorization: Bearer lp_live_YOUR_KEY" \
  -F "image=@./logo.png"

Use the returned image_url in the launch intent. If image, website, X, Telegram, or description are omitted, Launchpad applies safe platform defaults.

1. Prepare intent

curl -sS -X POST https://launchpad.meme/api/v1/robinhood/launches/intent \
  -H "Authorization: Bearer lp_live_YOUR_KEY" \
  -H "Idempotency-Key: my-launch-001" \
  -H "Content-Type: application/json" \
  -d '{
    "creator":"0xYourWallet",
    "name":"Example Coin",
    "symbol":"EXAMPLE",
    "description":"Created through the Robinhood API",
    "image_url":"https://example.com/logo.png",
    "first_buy_wei":"100000000000000",
    "slippage_bps":100
  }'

2. Sign and build

// Sign intent.message with the creator wallet.
const signature = await ethereum.request({
  method: 'personal_sign',
  params: [intent.intent.message, creator]
});

const build = await fetch('/api/v1/robinhood/launches/build', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer lp_live_YOUR_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    launch_id: intent.launch_id,
    intent_signature: signature
  })
}).then(r => r.json());

await ethereum.request({method:'wallet_switchEthereumChain', params:[{chainId:'0x1237'}]});
const txHash = await ethereum.request({method:'eth_sendTransaction', params:[build.transaction]});

3. Confirm

curl -sS -X POST https://launchpad.meme/api/v1/robinhood/launches/confirm \
  -H "Authorization: Bearer lp_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"launch_id":"rhl_...","tx_hash":"0x..."}'

PHP example

$headers = [
  'Authorization: Bearer ' . getenv('LAUNCHPAD_API_KEY'),
  'Idempotency-Key: my-launch-001',
  'Content-Type: application/json'
];
// POST the same JSON shown above, sign intent.message in the creator wallet,
// then submit build.transaction and confirm the resulting tx hash.
Ilé Create