Skip to main content

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

FieldTypeRequiredDescription
tokenNamestringYesToken name, 1-100 characters
tokenSymbolstringNoTicker symbol, 1-10 characters. Defaults to first 4 characters of tokenName
descriptionstringNoShort description, max 500 characters. Stored in on-chain metadata
imagestringNoURL to a token logo image. Uploaded to IPFS as part of token metadata
tweetUrlstringNoURL to a tweet about the token. Stored in on-chain metadata
websiteUrlstringNoToken website URL. Stored in on-chain metadata
feeRecipientobjectNoWho receives the creator's share of trading fees. Defaults to your API key's wallet
simulateOnlybooleanNoWhen 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.

typevalue exampleDescription
wallet0x5f8DA8F88eC81e27f2E22fCB9CA5D926c595E508A raw EVM address
x0xdeployerTwitter/X username — resolves to their Bankr wallet
farcasterdwr.ethFarcaster username — resolves to their verified EVM address
ensvitalik.ethENS 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

FieldTypeDescription
successbooleanAlways true on success
tokenAddressstringDeployed token contract address on Base
poolIdstringUniswap v4 pool ID for the token's bonding curve
txHashstringTransaction hash. Absent when simulateOnly: true
activityIdstringInternal activity record ID
chainstringAlways base
simulatedbooleanPresent and true when simulateOnly was used
feeDistributionobjectOn-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%).

RoleShareDescription
creator57%The feeRecipient address (or your wallet)
bankr36.1%Bankr platform fee
alt1.9%Bankr ecosystem fund
protocol5%Doppler protocol fee

Errors

StatusErrorCause
400Validation errorInvalid or missing required fields
400Fee recipient resolution failedCould not resolve feeRecipient to an address
401Authentication requiredMissing or invalid API key
403Agent API access not enabledAPI key does not have agent access enabled
403Write operations require a read-write API keyAPI key is read-only
429Rate limit exceededMore 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 TypeDeploys Per Day
Standard50
Bankr Club100

Gas is sponsored within these limits. The window is a rolling 24 hours.

Next Steps