PaydayAPI
Guides

Launch a coin on EVM

Elysium through Montra: your wallet sends the launch itself.

Payday launches on EVM too, starting with Elysium (chain id 99901) through Montra. The same launch key works there. The difference from Solana: the wallet sends the launch transaction itself and tells Payday its hash. Payday never signs or sends anything for it.

Steps

  1. GET /evm/configs?chain=99901: pick a pairing. dev_buy says whether a dev buy is possible on it.
  2. POST /evm/quote with {"config_id": 0, "dev_buy": "0.5"}: what it costs in the native coin.
  3. POST /evm/launches: the one transaction to send.
  4. Send it from wallet exactly as it is, then POST /evm/launches/{id}/submit with {"hash": "0x..."}.
  5. Read GET /evm/launches/{id} until it says launched.
curl -X POST https://payday.direct/api/v1/evm/launches -H "Authorization: Bearer pd_YOUR_KEY" -H "Content-Type: application/json" -d '{
  "chain": 99901, "wallet": "0xTHE_WALLET_THAT_SENDS_THE_LAUNCH",
  "name": "Blockhead", "symbol": "HEAD", "image": "data:image/png;base64,iVBORw0KGgo...",
  "fees_to": "someaccount", "config_id": 0, "dev_buy": "0.5"
}'
const { data } = await (await fetch(BASE + "/evm/launches", { method: "POST", headers, body: JSON.stringify(req) })).json();
const tx = data.transactions[0];   // { name: "launch", to, data, value, gas }
const hash = await walletClient.sendTransaction({ to: tx.to, data: tx.data, value: BigInt(tx.value), gas: BigInt(tx.gas) });
await fetch(BASE + "/evm/launches/" + data.id + "/submit", { method: "POST", headers, body: JSON.stringify({ hash }) });

Rules on EVM

  • The wallet pays gas and its dev buy in the chain's native coin (HYPE on Elysium) and must hold enough before the launch is created.
  • Tickers are up to 10 characters with no spaces, names up to 32. Links must be https.
  • The DEX reimbursement goes to the wallet that sent the launch, in USDC on the same chain.
  • A launch sent without a submit is still found on chain within about a minute. One never sent expires after 15 minutes.