Skip to main content
Uploads the image and metadata, builds the launch transaction, signs it with the user’s delegated wallet, and submits it. When a first buy is included, the launch and the buy land together. This is the only partner endpoint that is not JSON. The token image is a required file part, so the request must be multipart.

Fields

All amounts are integer strings in base units.

The First Buy

The first buy is optional, and there are two mutually exclusive ways to ask for one. Sending both initialBuySol and initialBuyTokens is rejected. A first buy can never exceed 2.5% of supply, and the two modes handle that ceiling differently:
initialBuySol is clamped, not rejected. If the amount you send would buy more than 2.5% of supply, the launch still succeeds and spends only as much SOL as fits under the cap. initialBuyTokens above the cap is rejected outright instead.
When a clamp happens the response says so, and you should read initialBuyPlan.expectedSolIn rather than assuming your requested amount was spent.
clampReasons lists every limit that tied for binding, so it can hold more than one entry. At launch both balances are zero, so a first buy clamped by the supply cap reports token_balance and net_bought together. Your client’s maxTradeLamports and daily volume cap do not apply to a first buy. The curve already bounds it at 2.5% of supply, which is a tighter and more meaningful limit than a configured ceiling.

Launch Limits

Two per-creator restrictions are checked before anything is uploaded. Both belong to the connected user, not to your app. launch_identity_limit_reached may quote a bypass fee. To take it, resend the request with maxBypassFeeLamports set to at least the quoted totalBypassFeeLamports. Sending a lower value, or omitting it, keeps the rejection.

Request

cURL
TypeScript

Response

initialBuyPlan is null when no first buy was requested. When one was, the launch and the buy are submitted as a bundle and signatures carries both. status is submitted, not confirmed. Poll GET /partner/v1/transactions/{signature}/status for the outcome.

Errors

See Errors for the shared response shape.