as inHOODIE.
BUILD ON HOODIE.
LAUNCH ON-CHAIN.

Integrator docs

Robinhood Chain · Chain ID 4663 · Launch kit v2 · 3 Oct 2026

Hoodie launch kit

Current Hoodie launch on Robinhood Chain (chain id 4663). One transaction to HoodieCreate v5 launches the token on PONS and creates the Hoodie contracts for that token.

Contract Address Role
HoodieCreate 0x3CDB4956CD35F8b865cc3E682a10906773DBe1Df Send launchAndSetup here
PONS launch factory 0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e Launch fee, configs, economics
PONS launch router 0xe33E9E479dF8802cb0866d5d05258bEc4cF62948 Called by HoodieCreate when the launch includes a buy
Hoodie distribution factory 0xd67D2EBA0D3172D43DBe41F76a7bD85357F9d1C5 Whale Hit reward escrows

Each launch creates its own copies of these contracts. buildLaunchTransaction returns their addresses before the transaction is sent:

  • HoodieCreatorFeeVaultV11 — trading fees and the creator split
  • HoodieAutomationCostEscrowV5 — gas budget for claims and payouts
  • HoodieWhaleFeeBudgetV5 — Whale Hit quote budget, when Whale Hit is on
  • HoodieWhaleRewardInventoryV5 — Whale Hit reward reserve, when the launch pays a reward token

ABIs and the creation bytecode those addresses are computed from are in contracts/. Addresses are in addresses.json.

There is no registration API. A launch sent to this HoodieCreate is the registration. Hoodie reads Launched(address creator, address token, address vault) and shows the token, the vault, and the split. A later setAllocationWithRecipients on the vault is read from AllocationConfigured. You do not send the new hash.

Install

npm install
node example.mjs

example.mjs reads the live launch fee and prints a transaction. It does not send one. A filled-in launch, with the split, the ETH amounts, and the contracts it creates, is in EXAMPLE.md.

Launch

  1. Read launchFee() and previewLaunchEconomics(configId, pairToken) from the PONS factory. getLaunchConfig(configId) shows the curve for that id. Config 0 is the live ETH curve. approvedPairTokens(pairToken) must be true for any other pair.
  2. Pick a fresh bytes32 salt. The same salt always produces the same vault.
  3. Call buildLaunchTransaction in encodeLaunch.mjs.
  4. Send the returned to, data, and value from the creator wallet on chain 4663.

For an ETH pair, valueWei is launchFee + quoteIn. quoteIn is the creator's ETH buy in wei. Use quoteIn = 0 to launch without a buy.

For an ERC-20 pair, launch with quoteIn = 0 and valueWei = launchFee. Buy the token in a later transaction. The pair token must already be approved to the launch router for a buy done through the router.

creatorTaxBps is the protocol tax in basis points, from 15 to 945. That is a creator fee of 0.70% to 10.00% after the fixed 0.55% base. The vault only accepts curve fee 100, pool fee 100, and protocol share 3000, which is what previewLaunchEconomics returns for the current schedule. expectedEconomics must be the bytes32 from that call.

split is the fee distribution stored in the vault at launch:

  • communityBps and buybackBps are shares of the creator side, in basis points
  • directRecipients is a list of { address, bps }, at most 50
  • the three shares together must be at most 10000
  • settingsHash is any non-zero bytes32 your platform keeps with that split. The vault stores it. Hoodie stores the same bytes and does not recompute them. Later changes on the vault must present the hash your platform expects.

keepers grants the first automation permissions:

  • autoClaim collects fees into the vault
  • community pays holders, buyback, and Whale Hit
  • attestor co-signs the gas budget in the cost escrow

These are optional. Use your own addresses when your platform sends the keeper transactions. Hoodie still indexes the launch and shows the vault's claims, payouts, and buybacks, whichever keeper sent them. Those chain rows show the amount and the transaction. They do not list each wallet paid, because the vault logs carry a recipients hash.

When Hoodie should run those jobs as well, set both autoClaim and community to keepers.pool in addresses.json, and set attestor to keepers.attestor. The pool is one address. Five signers call it, and the vault still sees that one keeper. A launch that names other keepers stays on those keepers.

The cost grant set in the launch allows a gas lot of 0.1 ETH and 0.005 ETH per operation. A claim sets 0.01 ETH of the creator's share aside for that lot before the split is paid out.

The ABIs for the vault, cost escrow, whale budget, inventory, and distribution escrow are in contracts/.

whaleHit is optional:

  • { reward: "own-token" } creates the whale budget and a reward reserve that pays the launched token. The reserve is tied to the distribution factory above.
  • { rewardToken: "0x..." } pays that ERC-20 instead
  • { reward: "budget-only" } creates the whale budget and no reward reserve
  • omit whaleHit to launch without Whale Hit

The receipt event is Launched(address creator, address token, address vault) on HoodieCreate.

Example launch

One ETH launch on Robinhood Chain, config 0, with Hoodie fee distribution and Whale Hit. Replace the creator, payout, direct recipient, and keeper addresses before sending. Read expectedEconomics again at send time. The value below was read from the PONS factory on 2026-10-03.

What the creator is launching

Field Value
Chain Robinhood Chain, id 4663
Name Hoodie Example
Symbol HEX
Logo https://example.com/hoodie-example.png
Description Example token launched with Hoodie fee distribution and Whale Hit.
X https://x.com/hoodieexample
Telegram https://t.me/hoodieexample
Website https://example.com
Pair ETH (0x0000000000000000000000000000000000000000)
Launch config 0
Curve supply 1,000,000,000 tokens
Curve fee 100 bps (1%)
Graduation 4.2 ETH
Creator tax 15 bps (0.15% protocol tax, 0.70% creator fee)
Creator buy 0.01 ETH
Launch fee 0.0005 ETH
ETH sent with the transaction 0.0105 ETH
Salt 0xabababababababababababababababababababababababababababababababab

Fee split

Shares are basis points of the creator side. 10000 is the whole creator side.

Destination Share
Holders (community) 2500 (25%)
Buyback 2500 (25%)
Direct wallet 0x5555555555555555555555555555555555555555 1000 (10%)
Creator payout 0x1111111111111111111111111111111111111111 the remaining 4000 (40%)

settingsHash stored with this split:

0xe55f9305d4a5b768af2c804de8b453a55c2998cced58f676161884a931d69f80

Whale Hit pays the launched token from its reward reserve.

Keepers

These three addresses are placeholders. Use Hoodie's keepers when Hoodie runs claims and Whale Hit, or your own when your platform sends those transactions.

Job Address
Auto-claim 0x2222222222222222222222222222222222222222
Community, buyback, and Whale Hit 0x3333333333333333333333333333333333333333
Cost-escrow attestor 0x4444444444444444444444444444444444444444

Call

import { buildLaunchTransaction } from "./encodeLaunch.mjs";

const tx = buildLaunchTransaction({
  creator: "0x1111111111111111111111111111111111111111",
  name: "Hoodie Example",
  symbol: "HEX",
  logo: "https://example.com/hoodie-example.png",
  description: "Example token launched with Hoodie fee distribution and Whale Hit.",
  socials: {
    twitter: "https://x.com/hoodieexample",
    telegram: "https://t.me/hoodieexample",
    website: "https://example.com",
  },
  salt: "0xabababababababababababababababababababababababababababababababab",
  launchConfigId: 0n,
  pairToken: "0x0000000000000000000000000000000000000000",
  expectedEconomics: "0xa9fc75d4203a33fe660e8fa32c74c3aa41c1fda4bf23d3a39b6bc22a1f8b1ca7",
  creatorTaxBps: 15,
  quoteIn: 10_000_000_000_000_000n,
  minTokensOut: 0n,
  snipeTaxExemptions: [],
  valueWei: 10_500_000_000_000_000n,
  keepers: {
    autoClaim: "0x2222222222222222222222222222222222222222",
    community: "0x3333333333333333333333333333333333333333",
    attestor: "0x4444444444444444444444444444444444444444",
  },
  split: {
    payoutWallet: "0x1111111111111111111111111111111111111111",
    communityBps: 2500,
    buybackBps: 2500,
    settingsHash: "0xe55f9305d4a5b768af2c804de8b453a55c2998cced58f676161884a931d69f80",
    directRecipients: [
      { address: "0x5555555555555555555555555555555555555555", bps: 1000 },
    ],
  },
  whaleHit: { reward: "own-token" },
});

quoteIn is 0.01 ETH. valueWei is that buy plus the 0.0005 ETH launch fee.

Contracts this launch creates

Send the transaction to HoodieCreate v5 0x3CDB4956CD35F8b865cc3E682a10906773DBe1Df. For the salt and creator above, the created contracts are:

Contract Address
Fee vault V11 0xBc9Fcc4Dd4fDAe4Deb70F318b6984489879574f0
Cost escrow V5 0x0BffA90dD6f0B2274Bc4E7358783d2Facfbb7f7a
Whale budget V5 0xd60cBA3e2Ace9D2dD666d7CccDd114B1f4060207
Distribution factory 0xd67D2EBA0D3172D43DBe41F76a7bD85357F9d1C5

The reward reserve address is created inside the same transaction. The token address is in the Launched event on HoodieCreate.

expectedEconomics must match previewLaunchEconomics(0, 0x0000000000000000000000000000000000000000) on the factory at the moment of the launch. If that call returns a different bytes32, use the new one. The vault, cost escrow, and whale addresses stay the same as long as the creator, salt, tax, split, and pair stay the same.