The lore
Everything before you unleash the bull
Wallets, setup, what runs every five minutes, when we skip a cycle on purpose, and how not to ngmi your bootstrap SOL. Full detail — no fluff, no corporate speak.
Basics
Overview
Liquidity Bull eats your Pump.fun creator fees and puts them to work — burn supply on the curve pre-grad, stack LP post-grad. The SOL traders pay you? Automated. No daily clicking. No custom contract.
| Token phase | What Liquidity Bull does |
|---|---|
| Pre-bonding (still on the bonding curve) | Claim fees → buy back your token on the curve → burn it (reduce supply) |
| Post-bonding (graduated to PumpSwap) | Claim fees → swap SOL to your token → add liquidity to the pool |
You configure everything once with Phantom. After that, a background worker checks your token every five minutes and only executes when on-chain fees are large enough and the run is simulated to be profitable.
After setup you touch grass
You do not sign Phantom for every claim, burn, or LP add. You do not paste your seed anywhere. Normal runs are signed by the bull wallet — a separate hot wallet per token.
Architecture
Liquidity Bull does not deploy a custom smart contract for your token. It orchestrates official on-chain programs you already trust:
- Pump.fun — bonding curve, creator fee distribution / claiming, graduation
- Jupiter — SOL → token swaps after graduation
- PumpSwap — liquidity pool operations for graduated tokens
The platform has three main parts:
| Component | Role |
|---|---|
| Web app (dashboard) | Login, add tokens, complete fee routing setup, view status and run history |
| API + storage | Stores automation config, encrypted automation wallet keys, session auth |
| Worker | Runs the 5-minute cycle: read fees → preflight → execute or skip |
The dashboard refreshes its display every 60 seconds so you see updated claimable amounts and run history. That refresh is read-only — it does not send transactions. Only the worker executes on-chain actions.
The two wallets
Every automation uses two different Solana wallets. Confusing them is the most common source of mistakes (e.g. sending bootstrap SOL to Phantom instead of the automation wallet).
A) Dev wallet — your Phantom wallet
| What it is | The wallet you use in Phantom — the Pump.fun token creator |
| You control it | Yes, only in Phantom |
| Private key | Never leaves Phantom. Liquidity Bull never asks for it |
| Used for | Logging in, proving you own the token, one-time activation message, one-time fee-routing transaction |
| Stored as | ownerWallet in Liquidity Bull |
B) Automation wallet — platform hot wallet
| What it is | A separate wallet generated automatically when you activate a token |
| You control it | No — you do not import it into Phantom |
| Private key | Generated by Liquidity Bull, encrypted at rest, loaded only when the worker runs your token |
| Used for | Receiving routed creator fees and signing all automatic transactions (claim, burn, LP) |
| Shown in dashboard as | Automation wallet: xxxx…yyyy |
Why two wallets?
Automation must run 24/7 without you approving every transaction in Phantom. At the same time, you should never paste your main wallet's private key into a website. The solution: a dedicated automation wallet per token that only handles that token's fee strategy.
How fees reach the automation wallet
By default, Pump.fun creator fees accrue to the creator (dev) wallet. During setup you sign one on-chain transaction in Phantom that routes 100% of creator fees to your automation wallet via Pump fee-sharing configuration.
Traders pay fees on Pump
↓
Fees accumulate (claimable)
↓
Worker distributes / claims → automation wallet receives SOL
↓
Pre-bonding: buyback + burn | Post-bonding: swap + add LPImportant
Until fee routing is complete, the dashboard shows Fee routing setup required. The worker will not execute live actions for that token until routing is done.
Who can use this
Liquidity Bull is for you if:
- You launched a token on Pump.fun
- You are the creator / dev wallet for that token
- You want creator fees to automatically burn supply (pre-bonding) or grow liquidity (post-bonding)
You need:
- Phantom or a compatible Solana wallet
- Your token mint address
- A small one-time SOL deposit to the automation wallet (see SOL & funding)
Setup
Complete setup
- 01
Connect wallet
Open the dashboard, click Connect wallet, choose Phantom, and sign the login message. This proves you control the dev wallet. No automation runs yet.
- 02
Add a token
Click + Add token and provide:
- Token mint address — from Pump.fun or Solscan
- Symbol — e.g.
BLIQ
You do not choose pre- or post-bonding manually. Liquidity Bull reads the Pump bonding curve on-chain and shows Detected strategy(claim & burn vs claim & LP). You can also pick a token from From your Pump wallet if discovery finds your launches.
Click Sign & activate and approve the activation message in Phantom. Behind the scenes:
- An automation record is created for your token
- A new automation wallet is generated and stored (encrypted)
- Your Phantom address is linked as the creator (ownerWallet)
- 03
Complete fee routing (one-time, Phantom)
Route 100% of creator fees to the automation wallet. Phantom may prompt you automatically, or click Complete Setup on your token card.
When successful, status becomes Automation ready. If you skip this step, the worker cannot claim fees into the automation wallet.
- 04
Fund the automation wallet (one-time bootstrap)
Send SOL to the automation wallet address shown on the token card — not your Phantom address.
Purpose Recommended amount Minimum bootstrap 0.05 SOL Comfortable start 0.1 SOL This pays network fees for the first on-chain transactions before creator fees have been claimed into the automation wallet. After the first successful claim, ongoing operations are funded from claimed fees when profitable.
- 05
Let the worker run
When all of the following are true, automation runs every five minutes:
- Fee routing complete (Automation ready)
- Automation wallet has bootstrap SOL
- Automation state is ACTIVE
- The platform worker is running (live mode for real transactions)
You do not sign anything in Phantom for normal runs.
SOL & funding
Two sources of SOL in the automation wallet
| Source | Role |
|---|---|
| Your one-time bootstrap | Pays gas for the very first transactions |
| Claimed creator fees | Funds later burns, swaps, and LP adds when profitable |
What the hard floor is not
solHardFloor is a safety buffer, not the amount spent on burns. The worker refuses to run if a cycle would leave the wallet at or below this floor. Strategy spend uses claimed fees only when preflight shows positive net after all estimated costs.
Typical first-run timeline
- You send 0.05 SOL to the automation wallet
- Worker claims e.g. 0.03 SOL in creator fees
- Preflight approves (fees > costs, balance stays above hard floor)
- Buyback/burn or LP executes
- Remaining SOL stays above the hard floor
After the first successful claim, the system is designed to be self-funding as long as creator fee income exceeds transaction costs. If fees are zero or tiny, the worker skips and waits — it does not drain your bootstrap.
Quick checklist
- Phantom connected (dev wallet)
- Token added and activation signed
- Detected strategy shown (pre or post-bonding)
- Fee routing complete — Automation ready
- ~0.05–0.1 SOL sent to automation wallet address (not Phantom)
- Automation state ACTIVE
- Worker running (live mode for real on-chain transactions)
When all boxes are checked, Liquidity Bull handles creator fees automatically — checking every five minutes, executing only when it makes sense.
Open dashboardAutomation
Automation cycles
Worker cycle (on-chain) — every 5 minutes
For each ACTIVE token, the worker runs this pipeline roughly every five minutes (configurable via WORKER_INTERVAL_MS, default 300000):
┌─────────────┐ ┌──────────────┐ ┌─────────────────────────┐
│ Detect │ --> │ Preflight │ --> │ Execute (if approved) │
│ fees/state │ │ simulate $ │ │ claim → burn or LP │
└─────────────┘ └──────────────┘ └─────────────────────────┘
│
SKIP if guardrails failOn each cycle the worker:
- Reads claimable creator fees and current token phase (pre/post-bonding) from RPC
- Runs preflight — estimates gas, swap costs, slippage, and net profit
- If approved: sends transactions (claim → strategy). If not: logs SKIP with a reason — no drain, no reckless execution
- Writes the result to Run History (with Solscan links when txs land)
Dashboard refresh — every 60 seconds
The dashboard polls the API every 60 seconds to update claimable amounts, wallet balance, bonding progress, and run history. This is display-only. After actions like adding a token or completing setup, the dashboard also refreshes immediately.
Skipped runs are normal
Most cycles will be SKIP when fees are too small, net profit is negative, or the SOL hard floor would be breached. That is intentional — the system waits for a worthwhile run rather than burning SOL on gas.
Pre-bonding vs post-bonding
| Pre-bonding | Post-bonding | |
|---|---|---|
| When | Token still on Pump bonding curve | Token graduated to PumpSwap |
| Goal | Reduce circulating supply (burn) | Deepen the liquidity pool |
| Strategy | Claim → buyback on curve → burn | Claim → Jupiter swap → add LP |
| Detection | Automatic via on-chain bonding curve | Automatic when curve completes |
| You select at setup | No — auto-detected from mint | No — auto-detected from mint |
When your token graduates, Liquidity Bull detects bondingCurve.complete on-chain, updates token_state to post-bonding, and switches strategy on the next worker cycles. You do not need to reconfigure manually.
While pre-bonding, the dashboard may show Bonding progress: X% — how far the curve is toward graduation.
Pre-bonding runs
When preflight approves a pre-bonding cycle, the worker executes in order:
- Distribute / claim creator fees — SOL moves to the automation wallet (Pump fee-sharing v2 distribute or legacy claim, depending on your token)
- Buy back your token — spends a portion of available SOL on the bonding curve (capped by
maxSolPerRunand hard floor rules) - Burn purchased tokens — permanently removes them from supply
Priority fees may be attached to land transactions during congestion, capped by maxPriorityFeeLamports.
In Dry-run mode (operator testing), the worker simulates approval and logs what it would do without sending transactions.
Post-bonding runs
After graduation, each approved cycle:
- Distribute / claim creator fees → automation wallet receives SOL
- Swap SOL to your token via Jupiter (respecting
maxSlippageBps) - Add liquidity to the canonical PumpSwap pool for your token
Swap fees and slippage buffers are included in preflight so the worker does not LP when the math does not work.
Preflight & guardrails
Before every execution, Liquidity Bull simulates costs and compares them to configurable risk limits. Default values for new automations:
| Setting | Default | Purpose |
|---|---|---|
| solHardFloor | 0.2 SOL | Never leave the automation wallet below this SOL buffer |
| minClaimAmountSol | 0.02 SOL | Skip if claimable fees are too small |
| minNetProfitSol | 0.005 SOL | Skip if costs would eat all profit |
| maxSolPerRun | 0.5 SOL | Cap how much SOL is deployed per cycle |
| maxSlippageBps | 300 (3%) | Limit swap slippage on Jupiter routes |
| maxPriorityFeeLamports | 100000 | Cap priority fees on congested network |
Preflight also estimates:
- Base network fee and priority fee
- Swap fee (~0.3% of claim amount) and slippage buffer (~1%)
- ATA creation buffer and retry buffer for failed landing
Common skip reasons you may see in Run History:
- Claim amount below minimum threshold — not enough fees yet
- Net after fees is below profit threshold — gas/swap costs too high vs fees
- SOL hard floor reached — need more bootstrap SOL or larger fee claim
- Priority fee over configured cap — network too hot; waits for next cycle
Circuit breaker
If repeated runs fail in a short window, the automation can be auto-paused to protect your wallet. Resume manually from the dashboard when you have investigated.
Dashboard
Dashboard reference
| UI element | Meaning |
|---|---|
| Connect wallet | Login with Phantom (dev wallet) |
| + Add token | Start a new automation for a mint |
| Detected strategy | Auto-detected pre-bonding (burn) or post-bonding (LP) |
| Automation wallet: … | Hot wallet address — send bootstrap SOL here |
| Fee routing setup required | Complete Phantom setup to route fees |
| Automation ready | Fee routing OK; worker can execute when other checks pass |
| Claimable: X SOL | Live on-chain claimable creator fees |
| Wallet: X SOL | Current automation wallet balance |
| Bonding: X% | Progress toward graduation (pre-bonding) |
| Preflight | Whether the next run would be approved right now |
| Run History | Past cycles with EXECUTE/SKIP and Solscan links |
| Dry-run / Live badge | Operator mode — dry-run logs only, live sends transactions |
| Your runs / Burn cycles / LP cycles / Net SOL | Personal analytics for your automations |
Per-token actions:
- Complete Setup — finish fee routing in Phantom
- Resume — set automation to ACTIVE
- Pause — temporarily stop worker runs
- Stop — stronger off switch (can resume later)
Pause, resume, and stop
| State | Worker behavior |
|---|---|
| ACTIVE | Normal automatic runs every 5 minutes |
| PAUSED | Skipped until you resume — useful for maintenance or review |
| STOPPED | Skipped until you resume — stronger off switch |
Pause does not undo on-chain fee routing. It only stops the worker from executing new strategy transactions until you set the token back to ACTIVE.
Security
Security
- Phantom private key — never shared. You only sign a login message, activation message, and one-time fee-routing transaction.
- Automation wallet key — generated server-side, encrypted at rest with
SIGNER_ENCRYPTION_KEY, used only by the worker for your token. - Session auth — wallet signature + nonce; your dashboard only shows automations where you are
ownerWallet. - No Liquidity Bull contract — interactions are with Pump, Jupiter, and PumpSwap programs directly.
Multi-token creators
One Phantom can manage many tokens. Each token gets its own automation wallet and its own fee-routing setup. Keys and data are isolated per automation.
Help
FAQ
Is the automation wallet my dev wallet?
No. Dev wallet = Phantom (identity). Automation wallet = separate hot wallet for automatic signing.
Do I give Liquidity Bull my Phantom private key?
No. Never. You only sign messages and setup transactions in Phantom.
Do I need to send SOL every day?
No. Only a small one-time bootstrap to the automation wallet. After that, claimed fees fund operations when profitable.
What if my token has no fees yet?
The worker skips until minClaimAmountSol is met. Your bootstrap is not spent on empty runs.
What if I already configured fee sharing on Pump manually?
If fees are locked to other shareholders, setup may fail. Liquidity Bull needs 100% routing to your automation wallet for that token.
Does graduation change my strategy?
Yes, automatically. Pre-bonding burn switches to post-bonding LP when detected on-chain.
How often are fees actually claimed?
The worker checks every 5 minutes. It claims and executes only when preflight approves — not on every tick.
Troubleshooting
| Problem | What to do |
|---|---|
| Fee routing setup required | Click Complete Setup and sign in Phantom |
| Could not detect — check mint address | Verify mint is a Pump.fun token with a bonding curve |
| Skipped: SOL hard floor | Send more SOL to the automation wallet or wait for larger fees |
| Skipped: below minimum threshold | Normal — fees too small; will retry later |
| Skipped: net below profit | Fees too small vs gas; will retry later |
| Phantom not found | Install the Phantom browser extension |
| Automation not running | Check state is ACTIVE and worker is running in live mode |
| No run history | Worker may be in dry-run or not started |
| 401 / Invalid signature on login | Sign the exact message shown; try disconnect and reconnect |