{"$defs":{"DeployBundle":{"additionalProperties":false,"properties":{"buy_amount":{"type":"string"},"wallets":{"items":{"$ref":"#/$defs/DeployWallet"},"type":"array"}},"required":["buy_amount","wallets"],"type":"object"},"DeployWallet":{"additionalProperties":false,"properties":{"encrypted_private_key":{"type":"string"},"wallet_address":{"type":"string"}},"required":["wallet_address","encrypted_private_key"],"type":"object"},"FlapDeployPayload":{"additionalProperties":false,"description":"flap.sh (BNB Chain) launch request.","properties":{"anti_farmer_days":{"description":"Anti-farmer protection in days (0–365). Defaults to 30.","format":"uint32","minimum":0,"type":["integer","null"]},"bundle":{"anyOf":[{"$ref":"#/$defs/DeployBundle"},{"type":"null"}]},"buy_amount":{"description":"BNB spent on the creation buy. For an ERC-20 quote token this BNB is swapped into\nthe quote token first and the whole swap output is spent on the creation buy.","type":"string"},"description":{"type":["string","null"]},"gas_price_gwei":{"description":"Gas price override in gwei (decimal string).","type":["string","null"]},"holder_min_balance":{"description":"Minimum holder balance (whole tokens) for the non-tax holder fee. Defaults to 10000.","type":["string","null"]},"image":{"description":"URL or previously uploaded asset ID.","type":"string"},"name":{"type":"string"},"quote_asset":{"description":"flap quote token symbol or address. Defaults to native BNB.","type":["string","null"]},"slippage_bps":{"description":"Slippage tolerance for the BNB -> quote token swap, in basis points.","format":"uint16","maximum":65535,"minimum":0,"type":["integer","null"]},"tax":{"anyOf":[{"$ref":"#/$defs/FlapTaxSettings"},{"type":"null"}],"description":"Tax settings; required for `tax` tokens and rejected for `non_tax` tokens."},"ticker":{"type":"string"},"token_type":{"$ref":"#/$defs/FlapTokenType","default":"tax","description":"`tax` (default) or `non_tax`."},"twitter":{"type":["string","null"]},"vault":{"anyOf":[{"$ref":"#/$defs/FlapVault"},{"type":"null"}],"description":"Optional vault that receives the tax revenue (tax tokens only)."},"wallet":{"anyOf":[{"$ref":"#/$defs/DeployWallet"},{"type":"null"}]},"website":{"type":["string","null"]}},"required":["name","ticker","image","buy_amount"],"type":"object"},"FlapSplitRecipient":{"additionalProperties":false,"properties":{"address":{"type":"string"},"bps":{"format":"uint16","maximum":65535,"minimum":0,"type":"integer"}},"required":["address","bps"],"type":"object"},"FlapTaxSettings":{"additionalProperties":false,"properties":{"burn_bps":{"default":0,"description":"Share of the tax burned, in basis points.","format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"buy_tax_bps":{"description":"Buy tax in basis points (0–1000).","format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"dividend_bps":{"default":0,"description":"Share of the tax paid to holders as dividends, in basis points.","format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"dividend_token":{"description":"`quote` (default), `self`, or an ERC-20 address.","type":["string","null"]},"funds_bps":{"default":0,"description":"Share of the tax sent to `funds_wallet` (or the vault), in basis points.","format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"funds_wallet":{"description":"Wallet receiving the funds share. Defaults to the launching wallet. Ignored when a\nvault is attached.","type":["string","null"]},"liquidity_bps":{"default":0,"description":"Share of the tax added to liquidity, in basis points.","format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"min_dividend_balance":{"description":"Minimum balance (whole tokens) to receive dividends. Defaults to 10000 when\n`dividend_bps` is non-zero.","type":["string","null"]},"sell_tax_bps":{"description":"Sell tax in basis points (100–1000).","format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"tax_duration_days":{"description":"Days the tax stays active after the DEX listing. Defaults to 365.","format":"uint32","minimum":0,"type":["integer","null"]}},"required":["buy_tax_bps","sell_tax_bps"],"type":"object"},"FlapTokenType":{"enum":["tax","non_tax"],"type":"string"},"FlapVault":{"oneOf":[{"additionalProperties":false,"description":"flap Split Vault: 1–10 recipients whose shares sum to 10000 bps.","properties":{"recipients":{"items":{"$ref":"#/$defs/FlapSplitRecipient"},"type":"array"},"type":{"const":"split","type":"string"}},"required":["type","recipients"],"type":"object"},{"additionalProperties":false,"description":"flap Gift Vault: an X handle controls the payout address.","properties":{"type":{"const":"gift","type":"string"},"x_handle":{"type":"string"}},"required":["type","x_handle"],"type":"object"},{"additionalProperties":false,"description":"Any vault factory with ABI-encoded `vaultData`.","properties":{"data":{"type":"string"},"factory":{"type":"string"},"type":{"const":"custom","type":"string"}},"required":["type","factory","data"],"type":"object"}]},"FourMemeDeployPayload":{"additionalProperties":false,"description":"four.meme (BNB Chain) launch request.","properties":{"bundle":{"anyOf":[{"$ref":"#/$defs/DeployBundle"},{"type":"null"}],"description":"Bundle wallets buy in the same atomic builder bundle as the creation, each spending\nits own BNB and gas."},"buy_amount":{"description":"BNB spent on the creator's opening buy (decimal BNB); `\"0\"` for none.","type":"string"},"description":{"type":["string","null"]},"fee_plan":{"default":false,"description":"AntiSniperFeeMode: a higher trading fee in the opening blocks that decays block by\nblock. Applies to the launch's own bundle buys too.","type":"boolean"},"gas_price_gwei":{"description":"Gas price override in gwei (decimal string).","type":["string","null"]},"image":{"description":"URL, IPFS CID, base64 image, or an image already hosted on `static.four.meme`.","type":"string"},"name":{"type":"string"},"quote_asset":{"description":"four.meme raise asset symbol or address (`GET /quotes/four_meme`). Defaults to BNB.","type":["string","null"]},"tax":{"anyOf":[{"$ref":"#/$defs/FourMemeTaxSettings"},{"type":"null"}],"description":"Tax-token settings; omit for a plain token."},"ticker":{"type":"string"},"twitter":{"type":["string","null"]},"wallet":{"anyOf":[{"$ref":"#/$defs/DeployWallet"},{"type":"null"}]},"website":{"type":["string","null"]}},"required":["name","ticker","image","buy_amount"],"type":"object"},"FourMemeTaxSettings":{"additionalProperties":false,"description":"four.meme tax token configuration (`tokenTaxInfo`).","properties":{"burn_rate":{"default":0,"description":"Share of the tax burned, in percent.","format":"uint8","maximum":255,"minimum":0,"type":"integer"},"divide_rate":{"default":0,"description":"Share of the tax paid to holders as dividends, in percent.","format":"uint8","maximum":255,"minimum":0,"type":"integer"},"fee_rate_percent":{"description":"Trade tax in percent; four.meme accepts 1, 3, 5, or 10.","format":"uint8","maximum":255,"minimum":0,"type":"integer"},"liquidity_rate":{"default":0,"description":"Share of the tax added to liquidity, in percent.","format":"uint8","maximum":255,"minimum":0,"type":"integer"},"min_sharing":{"description":"Minimum holder balance (whole tokens) to receive dividends; must be `d * 10^n` with\n`1 <= d <= 9` and `n >= 5`. Defaults to 100000.","type":["string","null"]},"recipient_address":{"description":"Receives the `recipient_rate` share; required when that share is non-zero.","type":["string","null"]},"recipient_rate":{"default":0,"description":"Share of the tax sent to `recipient_address`, in percent.","format":"uint8","maximum":255,"minimum":0,"type":"integer"}},"required":["fee_rate_percent"],"type":"object"},"GeniusDeployPayload":{"additionalProperties":false,"description":"genius.fun (BNB Chain) launch request.","properties":{"bundle":{"anyOf":[{"$ref":"#/$defs/DeployBundle"},{"type":"null"}]},"buy_amount":{"description":"BNB spent on the opening buy. For a pair-token launch this BNB is swapped into the\npair token first and the whole swap output is spent on the curve.","type":"string"},"creator_fee_wallet":{"description":"Wallet that earns creator fees. Defaults to the launching wallet.","type":["string","null"]},"description":{"type":["string","null"]},"gas_price_gwei":{"description":"Gas price override in gwei (decimal string).","type":["string","null"]},"image":{"description":"URL or previously uploaded asset ID.","type":"string"},"name":{"type":"string"},"quote_asset":{"description":"genius pair token symbol or address. Defaults to native BNB.","type":["string","null"]},"slippage_bps":{"description":"Slippage tolerance for the BNB -> pair token swap, in basis points.","format":"uint16","maximum":65535,"minimum":0,"type":["integer","null"]},"ticker":{"type":"string"},"to_foundation":{"default":false,"description":"Send the launch's destination fee share to the Genius Foundation vault instead of\nthe creator fee wallet. Permanent.","type":"boolean"},"twitter":{"type":["string","null"]},"wallet":{"anyOf":[{"$ref":"#/$defs/DeployWallet"},{"type":"null"}]},"wallet_exemptions":{"description":"Additional wallets exempt from the opening snipe tax.","items":{"type":"string"},"type":"array"},"website":{"type":["string","null"]}},"required":["name","ticker","image","buy_amount"],"type":"object"},"LaunchlabDeployPayload":{"additionalProperties":false,"properties":{"bundle":{"anyOf":[{"$ref":"#/$defs/DeployBundle"},{"type":"null"}]},"buy_amount":{"type":"string"},"image":{"type":"string"},"name":{"type":"string"},"priority_fee":{"type":"string"},"ticker":{"type":"string"},"tip":{"type":"string"},"twitter":{"type":["string","null"]},"wallet":{"anyOf":[{"$ref":"#/$defs/DeployWallet"},{"type":"null"}]},"website":{"type":["string","null"]}},"required":["name","ticker","image","buy_amount","tip","priority_fee"],"type":"object"},"OtcDeployPayload":{"additionalProperties":false,"description":"OTC launch request: an ordinary Pump.fun coin whose creator fees are assigned to the\nOTC protocol, which converts them into the chosen reward asset for the coin's holders.","properties":{"bundle":{"anyOf":[{"$ref":"#/$defs/DeployBundle"},{"type":"null"}]},"buy_amount":{"description":"Exact SOL input amount used for the initial buy.","type":"string"},"description":{"type":["string","null"]},"image":{"description":"URL or previously uploaded asset ID.","type":"string"},"name":{"type":"string"},"priority_fee":{"description":"Total transaction priority fee in native-chain units.","type":"string"},"quote_asset":{"description":"Pump.fun quote symbol or canonical Solana mint the coin trades against. Defaults to\nSOL.","type":["string","null"]},"reward_asset":{"description":"Asset holders are paid in: a Pump.fun quote symbol or any Solana mint. Defaults to\n`quote_asset` for non-SOL quotes and is required for SOL-quoted coins.","type":["string","null"]},"reward_basket":{"description":"2–5 reward mints the payouts rotate through instead of a single `reward_asset`.","items":{"type":"string"},"type":"array"},"ticker":{"type":"string"},"tip":{"description":"Submitter tip in native-chain units.","type":"string"},"twitter":{"type":["string","null"]},"wallet":{"anyOf":[{"$ref":"#/$defs/DeployWallet"},{"type":"null"}]},"website":{"description":"Defaults to the coin's page on otcdesks.cash.","type":["string","null"]}},"required":["name","ticker","image","buy_amount","tip","priority_fee"],"type":"object"},"PonsDeployPayload":{"additionalProperties":false,"description":"pons (Robinhood Chain) launch request.","properties":{"bundle":{"anyOf":[{"$ref":"#/$defs/DeployBundle"},{"type":"null"}]},"buy_amount":{"description":"ETH spent on the opening buy. For a pair-token launch this ETH is swapped into the\npair token first and the whole swap output is spent on the curve.","type":"string"},"buyback":{"default":false,"description":"Route part of the creator fee into pons buyback-and-lock.","type":"boolean"},"creator_fee_wallet":{"description":"Wallet that earns creator fees. Defaults to the launching wallet.","type":["string","null"]},"creator_tax_bps":{"default":0,"description":"Extra creator trade tax in basis points, on top of the protocol curve fee.","format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"description":{"type":["string","null"]},"holder_fee_sharing":{"default":false,"description":"Redirect creator fees to the pons holder distributor (forces the launching wallet as\ncreator fee wallet).","type":"boolean"},"image":{"description":"URL or previously uploaded asset ID.","type":"string"},"name":{"type":"string"},"quote_asset":{"description":"pons pair token symbol or address. Defaults to native ETH.","type":["string","null"]},"slippage_bps":{"description":"Slippage tolerance for the ETH -> pair token swap, in basis points.","format":"uint16","maximum":65535,"minimum":0,"type":["integer","null"]},"ticker":{"type":"string"},"twitter":{"type":["string","null"]},"usepaid":{"anyOf":[{"$ref":"#/$defs/UsePaidOptions"},{"type":"null"}],"description":"Route the creator fees to UsePaid, which pays the named X account. Sets the creator\nfee wallet and excludes `creator_fee_wallet`, `buyback`, and `holder_fee_sharing`."},"wallet":{"anyOf":[{"$ref":"#/$defs/DeployWallet"},{"type":"null"}]},"wallet_exemptions":{"description":"Additional wallets exempt from the opening snipe tax.","items":{"type":"string"},"type":"array"},"website":{"type":["string","null"]}},"required":["name","ticker","image","buy_amount"],"type":"object"},"PumpFeeSplitEntry":{"description":"One Pump.fun creator fee recipient.","oneOf":[{"additionalProperties":false,"description":"Solana wallet paid directly.","properties":{"address":{"type":"string"},"share_bps":{"format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"type":{"const":"wallet","type":"string"}},"required":["type","address","share_bps"],"type":"object"},{"additionalProperties":false,"description":"GitHub user identified by numeric GitHub user id; claimable only through pump.fun.","properties":{"share_bps":{"format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"type":{"const":"github","type":"string"},"user_id":{"type":"string"}},"required":["type","user_id","share_bps"],"type":"object"},{"additionalProperties":false,"description":"Donate.gg charity config id (base58 public key).","properties":{"config_id":{"type":"string"},"share_bps":{"format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"type":{"const":"charity","type":"string"}},"required":["type","config_id","share_bps"],"type":"object"}]},"PumpFunDeployPayload":{"additionalProperties":false,"properties":{"bundle":{"anyOf":[{"$ref":"#/$defs/DeployBundle"},{"type":"null"}]},"buy_amount":{"description":"Exact SOL input amount used for the initial buy.","type":"string"},"creator_fee_bps":{"default":0,"format":"uint64","minimum":0,"type":"integer"},"description":{"type":["string","null"]},"fee_split":{"description":"Creator fee recipients (1–10) whose `share_bps` sum to 10000. Applied in a follow-up\ntransaction sent shortly after the creation bundle and locked permanently on-chain.","items":{"$ref":"#/$defs/PumpFeeSplitEntry"},"type":"array"},"holder_reward":{"default":false,"type":"boolean"},"image":{"description":"URL or previously uploaded asset ID.","type":"string"},"mayhem_mode":{"default":false,"type":"boolean"},"name":{"type":"string"},"priority_fee":{"description":"Total transaction priority fee in native-chain units.","type":"string"},"quote_asset":{"description":"Pump.fun quote symbol or canonical Solana mint. Defaults to SOL.","type":["string","null"]},"ticker":{"type":"string"},"tip":{"description":"Submitter tip in native-chain units.","type":"string"},"twitter":{"type":["string","null"]},"usepaid":{"anyOf":[{"$ref":"#/$defs/UsePaidOptions"},{"type":"null"}],"description":"Route 100% of the creator fees to UsePaid, which pays the named X account. Excludes\n`fee_split` and `holder_reward`."},"wallet":{"anyOf":[{"$ref":"#/$defs/DeployWallet"},{"type":"null"}]},"website":{"type":["string","null"]}},"required":["name","ticker","image","buy_amount","tip","priority_fee"],"type":"object"},"StonkfunDeployPayload":{"additionalProperties":false,"properties":{"bundle":{"anyOf":[{"$ref":"#/$defs/DeployBundle"},{"type":"null"}]},"buy_amount":{"type":"string"},"image":{"type":"string"},"name":{"type":"string"},"priority_fee":{"type":"string"},"quote_asset":{"type":"string"},"reward_bps":{"default":0,"format":"uint16","maximum":65535,"minimum":0,"type":"integer"},"ticker":{"type":"string"},"tip":{"type":"string"},"twitter":{"type":["string","null"]},"wallet":{"anyOf":[{"$ref":"#/$defs/DeployWallet"},{"type":"null"}]},"website":{"type":["string","null"]}},"required":["name","ticker","image","quote_asset","buy_amount","tip","priority_fee"],"type":"object"},"UsePaidOptions":{"additionalProperties":false,"description":"UsePaid fee routing (usepaid.app): the coin's whole creator fee goes to UsePaid's\ntreasury, permanently, and UsePaid pays the X account named in the token description.","properties":{"x_handle":{"description":"X account that receives the payouts, with or without a leading `@`.","type":"string"}},"required":["x_handle"],"type":"object"},"WsAction":{"enum":["deploy"],"type":"string"}},"$schema":"https://json-schema.org/draft/2020-12/schema","oneOf":[{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/WsAction"},"launchpad":{"const":"pump_fun","type":"string"},"payload":{"$ref":"#/$defs/PumpFunDeployPayload"},"request_id":{"type":"string"},"simulate_only":{"default":false,"type":"boolean"}},"required":["launchpad","request_id","action","payload"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/WsAction"},"launchpad":{"const":"launchlab","type":"string"},"payload":{"$ref":"#/$defs/LaunchlabDeployPayload"},"request_id":{"type":"string"},"simulate_only":{"default":false,"type":"boolean"}},"required":["launchpad","request_id","action","payload"],"type":"object"},{"additionalProperties":false,"description":"Pump.fun coin whose creator fees are routed to the OTC protocol.","properties":{"action":{"$ref":"#/$defs/WsAction"},"launchpad":{"const":"otc","type":"string"},"payload":{"$ref":"#/$defs/OtcDeployPayload"},"request_id":{"type":"string"},"simulate_only":{"default":false,"type":"boolean"}},"required":["launchpad","request_id","action","payload"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/WsAction"},"launchpad":{"const":"stonkfun","type":"string"},"payload":{"$ref":"#/$defs/StonkfunDeployPayload"},"request_id":{"type":"string"},"simulate_only":{"default":false,"type":"boolean"}},"required":["launchpad","request_id","action","payload"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/WsAction"},"launchpad":{"const":"pons","type":"string"},"payload":{"$ref":"#/$defs/PonsDeployPayload"},"request_id":{"type":"string"},"simulate_only":{"default":false,"type":"boolean"}},"required":["launchpad","request_id","action","payload"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/WsAction"},"launchpad":{"const":"flap","type":"string"},"payload":{"$ref":"#/$defs/FlapDeployPayload"},"request_id":{"type":"string"},"simulate_only":{"default":false,"type":"boolean"}},"required":["launchpad","request_id","action","payload"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/WsAction"},"launchpad":{"const":"genius","type":"string"},"payload":{"$ref":"#/$defs/GeniusDeployPayload"},"request_id":{"type":"string"},"simulate_only":{"default":false,"type":"boolean"}},"required":["launchpad","request_id","action","payload"],"type":"object"},{"additionalProperties":false,"properties":{"action":{"$ref":"#/$defs/WsAction"},"launchpad":{"const":"four_meme","type":"string"},"payload":{"$ref":"#/$defs/FourMemeDeployPayload"},"request_id":{"type":"string"},"simulate_only":{"default":false,"type":"boolean"}},"required":["launchpad","request_id","action","payload"],"type":"object"}],"title":"WsRequest"}