crossr
Build on crossr

Manifest

  • A manifest is {creator, nonce, creatorTaxBps, name, symbol, metadataURI, snipeExempt[], legs[]} with each leg {chainId, quote, allocationBps}. Allocations sum to 10,000. Quote 0x0 is the chain's native coin.
  • Launch id = keccak256(abi.encode(manifest)). Field order matters, so build it with hashManifest from @crossr/shared and check it with validateManifest before sending. predictToken(launchId) returns the token address every chain will get.
  • nonce is creator-chosen; bump it to relaunch identical metadata. Limits: name ≤ 64, symbol ≤ 16, metadata URI ≤ 512 chars, ≤ 8 legs, ≤ 16 snipe-exempt wallets, creator tax ≤ 1,000 bps.
  • Metadata: POST /api/metadata with form fields name, symbol, description, website, twitter, telegram, creator, image (png/jpeg/gif/webp ≤ 1.5 MB). It returns {id, uri, image}; put uri in the manifest. Any HTTPS JSON with {name, symbol, description, image} works too.