Token Deploy API
Deploy tokens directly via REST without going through the AI agent. Authenticate with your standard API key (X-API-Key header) and receive a structured response with the token address, pool ID, and fee distribution.
For partner integrations with revenue sharing, see the Partner Deploy API.
Authentication
Include your API key on every request:
X-API-Key: your_api_key_here
Your API key must have Agent API access enabled and must not be read-only. Generate and configure keys at bankr.bot/api.
Deploy a Token
POST /token-launches/deploy
Request Body
{
"tokenName": "My Token",
"tokenSymbol": "MTK",
"description": "A token launched via the Bankr API",
"image": "https://example.com/token-logo.png",
"tweetUrl": "https://x.com/user/status/123456",
"websiteUrl": "https://mytoken.xyz",
"feeRecipient": {
"type": "wallet",
"value": "0x87be4dA49869fD055d5a60cAc2a6Dc61fdd3052D"
},
"simulateOnly": false
}
Fields
| Field | Type | Required | Description |
|---|---|---|---|
tokenName | string | Yes | Token name, 1-100 characters |
tokenSymbol | string | No | Ticker symbol, 1-10 characters. Defaults to first 4 characters of tokenName |
description | string | No | Short description, max 500 characters. Stored in on-chain metadata |
image | string | No | URL to a token logo image. Uploaded to IPFS as part of token metadata |
tweetUrl | string | No | URL to a tweet about the token. Stored in on-chain metadata |
websiteUrl | string | No | Token website URL. Stored in on-chain metadata |
feeRecipient | object | No | Who receives the creator's share of trading fees. Defaults to your API key's wallet |
simulateOnly | boolean | No | When true, returns the predicted token address without broadcasting. Default: false |
Fee Recipient
The feeRecipient field lets you route the creator's fee share to a specific address. When omitted, fees go to the wallet associated with your API key.
type | value example | Description |
|---|---|---|
wallet | 0x5f8DA8F88eC81e27f2E22fCB9CA5D926c595E508 | A raw EVM address |
x | 0xdeployer | Twitter/X username — resolves to their Bankr wallet |
farcaster | dwr.eth | Farcaster username — resolves to their verified EVM address |
ens | vitalik.eth | ENS name — resolves to the underlying address |
Response
Status: 201 Created (or 200 OK when simulateOnly: true)
{
"success": true,
"tokenAddress": "0x1234...abcd",
"poolId": "0xabcd...1234",
"txHash": "0x9876...fedc",
"activityId": "665f1a2b3c4d5e6f7a8b9c0d",
"chain": "base",
"feeDistribution": {
"creator": { "address": "0x87be...052D", "bps": 5700 },
"bankr": { "address": "0xBankr...", "bps": 3610 },
"alt": { "address": "0xAlt...", "bps": 190 },
"protocol": { "address": "0xAirlock...", "bps": 500 }
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
success | boolean | Always true on success |
tokenAddress | string | Deployed token contract address on Base |
poolId | string | Uniswap v4 pool ID for the token's bonding curve |
txHash | string | Transaction hash. Absent when simulateOnly: true |
activityId | string | Internal activity record ID |
chain | string | Always base |
simulated | boolean | Present and true when simulateOnly was used |
feeDistribution | object | On-chain fee beneficiary breakdown |
Fee Distribution
The feeDistribution object shows how the 1.2% swap fee is split among beneficiaries. Values are in basis points (10,000 = 100%).
| Role | Share | Description |
|---|---|---|
creator | 57% | The feeRecipient address (or your wallet) |
bankr | 36.1% | Bankr platform fee |
alt | 1.9% | Bankr ecosystem fund |
protocol | 5% | Doppler protocol fee |
Errors
| Status | Error | Cause |
|---|---|---|
400 | Validation error | Invalid or missing required fields |
400 | Fee recipient resolution failed | Could not resolve feeRecipient to an address |
401 | Authentication required | Missing or invalid API key |
403 | Agent API access not enabled | API key does not have agent access enabled |
403 | Write operations require a read-write API key | API key is read-only |
429 | Rate limit exceeded | More than 50 deploys in 24 hours (100 for Bankr Club) |
Examples
Minimal deploy
Only tokenName is required. Fees go to your wallet, symbol defaults to the first 4 characters of the name:
curl -X POST https://api.bankr.bot/token-launches/deploy \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key_here" \
-d '{
"tokenName": "My Token"
}'
Simulate a deploy
Test your integration without broadcasting a transaction:
curl -X POST https://api.bankr.bot/token-launches/deploy \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key_here" \
-d '{
"tokenName": "Test Token",
"tokenSymbol": "TEST",
"simulateOnly": true
}'
Deploy with full metadata
curl -X POST https://api.bankr.bot/token-launches/deploy \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key_here" \
-d '{
"tokenName": "My Token",
"tokenSymbol": "MTK",
"description": "Launched via the Bankr API",
"image": "https://example.com/logo.png",
"tweetUrl": "https://x.com/user/status/123456",
"websiteUrl": "https://mytoken.xyz"
}'
Route fees to another wallet
curl -X POST https://api.bankr.bot/token-launches/deploy \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key_here" \
-d '{
"tokenName": "Community Token",
"feeRecipient": {
"type": "wallet",
"value": "0x87be4dA49869fD055d5a60cAc2a6Dc61fdd3052D"
}
}'
Route fees to a Twitter user
curl -X POST https://api.bankr.bot/token-launches/deploy \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key_here" \
-d '{
"tokenName": "Community Token",
"feeRecipient": {
"type": "x",
"value": "0xdeployer"
}
}'
Rate Limits
| User Type | Deploys Per Day |
|---|---|
| Standard | 50 |
| Bankr Club | 100 |
Gas is sponsored within these limits. The window is a rolling 24 hours.
Next Steps
- Fee Redirecting — Route fees to collaborators or treasury
- Claiming Fees — How to collect your earnings
- Partner Deploy API — Revenue-sharing integration for platforms