Deploy tokens by sending a JSON POST request. Same functionality as WebSocket but via REST API.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| api_key | string | required | — | Your wallet API key |
| access_token | string | required | — | JWT session token — links the deploy to your Artem account |
| name | string | required | — | Token name (max 32 chars) |
| symbol | string | required | — | Token symbol / ticker (max 13 chars) |
| platform | string | required | — | Target launchpad: pump | bonk | bags |
| wallet_pubkey | string | required | — | Public key of the signing wallet |
| description | string | optional | — | Token description shown on the explorer |
| string | optional | — | Twitter/X URL linked to the token | |
| website | string | optional | — | Website URL |
| telegram | string | optional | — | Telegram group or channel URL |
| amount | number | optional | 0 | Dev buy amount in SOL at launch (0 = no dev buy) |
| imgUri | string | optional | — | Pre-uploaded IPFS image URI. If provided, skips the image upload step |
| metadataUri | string | optional | — | Pre-uploaded IPFS metadata URI. If provided, skips all IPFS upload steps |
| image_base64 | string | optional | — | Base64-encoded image data. Used when no IPFS URI is provided |
| slippage | number | optional | 10 | Slippage tolerance in % for the dev buy transaction |
| priority_fee | number | optional | 0.0001 | Transaction priority fee in SOL |
| bribe_fee | number | optional | 0.001 | Jito bribe / tip in SOL for bundle transactions |
| bundle | array | optional | — | Array of bundle wallet buy objects { wallet_id, sol_amount } |
| sniper | array | optional | — | Array of sniper wallet objects { wallet_id, sol_amount } |
Connect once and deploy multiple tokens without re-establishing connections. Ideal for bots and high-frequency workflows. Supports real-time deploy status callbacks.
| type | Direction | Description |
|---|---|---|
| auth | Client → Server | Authenticate the connection with your api_key and access_token |
| deploy | Client → Server | Trigger a token deploy — accepts all same fields as POST /deploy |
| deploy_status | Server → Client | Intermediate progress update. Fields: step, message |
| deploy_result | Server → Client | Final result. Fields: ok, mint, signature, time_ms, error |
| ping | Client → Server | Keepalive ping — server responds with pong |
Use this endpoint to verify server availability before initiating deploy workflows. No authentication required.
When using platform: "pump" you can include these additional parameters.
| Name | Type | Default | Description |
|---|---|---|---|
| amount | number | 0 | Dev buy amount in SOL at launch. 0 = no dev buy |
| slippage | number | 10 | Slippage tolerance in % for the dev buy transaction |
| priority_fee | number | 0.0001 | Transaction priority fee in SOL |
| bribe_fee | number | 0.001 | Jito tip / bribe in SOL for bundle transactions |
| cashback_mode | boolean | false | Enable Cashback mode — 0% creator fees |
| agent_buyback | boolean | false | Enable Creator Mode — auto buyback using 100% of creator fees (flywheel) |
| fee_split | array | — | Array of fee recipients — wallet address, percentage, type. Configured via Fee Split settings |
| auto_trade.buy | object | — | Auto action triggered when a new tweet is deployed. Fields: enabled, action, pct, slip, delay |
| auto_trade.sell | object | — | Auto sell action after deploy. Same fields as buy. Actions: insta_sell, limit_sell, insta_buy, none |
| bundle | array | — | Bundle wallets: { wallet_id, sol_amount }. Each wallet buys at launch in the same Jito bundle |
| sniper | array | — | Sniper wallets: { wallet_id, sol_amount }. Snipe immediately after launch block |
The fee_split array contains recipient objects. Each recipient must specify one identifier and a percentage:
| Field | Type | Description |
|---|---|---|
| address | string | Solana wallet address (base58) |
| percentage | number | Share of fees in % — all recipients must sum to exactly 10% |
| type | string | sol — direct wallet | github — GitHub username resolved to PDA | twitter — X handle resolved to PDA |
Bonk.fun and USD1 platform support is currently in development. Parameters will mirror Pump.fun with an additional quote_currency field.
Bags platform support is currently in development. Will include liquidity pool configuration and automatic LP management. Available in API v1.2.
Bundle mode is currently accessible via the Artem dashboard only. Full API control of bundle parameters will be available in the next release. For now, bundle wallets can be passed as an array via the bundle field in the main deploy request.
- Never share your API key — It controls your wallet and has full deploy permissions
- Use HTTPS/WSS only — All connections must use TLS. Plain HTTP requests are rejected
- Validate responses — Always check the
okfield before proceeding with on-chain actions - Rate limiting — Don't spam requests. Implement exponential backoff on 429 errors