# 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`.

```bash
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"
}'
```

```javascript JavaScript (viem)
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.
