Skip to main content

Token Launching

Partners can deploy tokens through two distinct flows: org-level deploys using your partner API key, and wallet-level deploys where provisioned wallets deploy on their own behalf. Both hit the same endpoint (POST /token-launches/deploy) but differ in authentication, signing, and fee routing.

For the full endpoint reference (fields, validation, error codes), see the Partner Deploy API.


Two Deploy Flows

Org-Level Deploys

Your server calls the deploy endpoint with X-Partner-Key. The org's deployment wallet signs the transaction, and the partner fee split is applied automatically.

curl -X POST https://api.bankr.bot/token-launches/deploy \
-H "Content-Type: application/json" \
-H "X-Partner-Key: bk_ptr_YOUR_KEY" \
-d '{
"tokenName": "My Token",
"tokenSymbol": "MTK",
"feeRecipient": {
"type": "wallet",
"value": "0x87be4dA49869fD055d5a60cAc2a6Dc61fdd3052D"
}
}'
  • Auth: X-Partner-Key
  • Signing wallet: Your org's deployment wallet
  • feeRecipient: Required — the org wallet signs, so you must specify where the creator's fee share goes
  • Fee split: Includes your partner share (from org's tokenLaunch config)

Wallet-Level Deploys

A provisioned wallet with tokenLaunchApiEnabled calls the endpoint using its own X-API-Key. The wallet signs the transaction itself.

curl -X POST https://api.bankr.bot/token-launches/deploy \
-H "Content-Type: application/json" \
-H "X-API-Key: bk_usr_WALLET_KEY" \
-d '{
"tokenName": "User Token",
"tokenSymbol": "UTKN"
}'
  • Auth: X-API-Key (from a provisioned wallet)
  • Signing wallet: The provisioned wallet itself
  • feeRecipient: Optional — defaults to the wallet's own address
  • Fee split: Includes your partner share — the wallet's parent org is resolved automatically via provisioning, so the same fee config applies
  • Requires: tokenLaunchApiEnabled permission on the wallet's API key + tokenLaunchApi capability on the org

Comparison

Org-Level (X-Partner-Key)Wallet-Level (X-API-Key)
Signing walletOrg deployment walletProvisioned wallet
feeRecipientRequiredOptional (defaults to wallet)
Partner fee shareYes — from org configYes — resolved from provisioning org
Who controls the deployYour serverThe provisioned wallet holder
Use caseYou deploy on behalf of usersUsers deploy their own tokens

Fee Recipient Resolution

The feeRecipient field supports resolving addresses from multiple identifier types:

typevalue exampleResolution
wallet0x5f8D...E508Used directly
x0xdeployerResolves Twitter/X username to their Bankr wallet
farcasterdwr.ethResolves Farcaster username to their verified EVM address
ensvitalik.ethResolves ENS name to underlying address

Response

Both flows return the same response shape:

Response 201

{
"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": 1805 },
"partner": { "address": "0xYour...Fee", "bps": 1805 },
"ecosystem": { "address": "0xAlt...", "bps": 190 },
"protocol": { "address": "0xAirlock...", "bps": 500 }
}
}

The feeDistribution object shows exactly how the 1.2% swap fee is split. Values are in basis points (10,000 = 100%). Your partner share appears under the partner key in both deploy flows — for wallet-level deploys, the partner org is resolved automatically from the wallet's provisioning relationship.


Fee Wallet Configuration

Your fee wallet is the address that receives your partner share of trading fees from org-level deploys. It must be configured before deploying tokens with X-Partner-Key.

Set or update your fee wallet from the Token Launch tab in your partner dashboard. The fee wallet must be a valid Ethereum address.


Fee Split Types

Standard Split

Most partners get a percentage of Bankr's portion of fees. The feeSplitPercentage field (0–100) determines what fraction of Bankr's share goes to you.

For example, with feeSplitPercentage: 50:

  • Creator: 57% (5,700 bps)
  • Partner: ~18% (1,805 bps) — half of Bankr's share
  • Bankr: ~18% (1,805 bps) — remaining half
  • Ecosystem: 1.9% (190 bps)
  • Protocol: 5% (500 bps)

Custom Split

Partners with custom arrangements have a customFeeSplitBps object with exact basis-point allocations for each beneficiary. This overrides the standard percentage calculation.

Both split types are visible in your organization's tokenLaunch config and in every deploy response's feeDistribution.


Claiming Fees

Fees accumulate on-chain in the Uniswap V4 pool and must be claimed by the wallet holder. The Bankr CLI's claim-wallet command scans all launches where your wallet is a beneficiary and claims in bulk:

# Install the CLI
npm install -g @bankr/cli

# Set your partner wallet private key
echo "BANKR_PRIVATE_KEY=0xYourPartnerWalletKey" > .env

# Scan all launches and claim fees
bankr fees claim-wallet --all --yes

This works across all beneficiary roles (partner, creator, etc.). See Claiming Fees for the full guide including the interactive fee dashboard (bankr fees).


Simulate Before Deploying

Test your integration without broadcasting a transaction by setting simulateOnly: true. Works with both deploy flows:

curl -X POST https://api.bankr.bot/token-launches/deploy \
-H "Content-Type: application/json" \
-H "X-Partner-Key: bk_ptr_YOUR_KEY" \
-d '{
"tokenName": "Test Token",
"tokenSymbol": "TEST",
"feeRecipient": { "type": "wallet", "value": "0x..." },
"simulateOnly": true
}'

Returns the predicted tokenAddress and feeDistribution with status 200 instead of 201. No transaction is broadcast and no gas is consumed.


Rate Limits

ScopeLimit
Per fee recipient1 deploy per minute
Per fee recipient (daily)20 deploys per 24 hours

Rate limits are applied per fee recipient address, not per partner key — this means each unique end-user address has its own quota.