pumpfun-bonkfun-bot
A fully functional pump.fun / letsbonk.fun trading and sniping bot not relying on any 3rd party APIs
File Explorer
- auto-assign.yml
- spam-detection.yml
- bot-sniper-1-geyser.yaml
- bot-sniper-2-logs.yaml
- bot-sniper-3-blocks.yaml
- bot-sniper-4-pp.yaml
- pump_fees.json
- pump_fun_idl.json
- pump_swap_idl.json
- raydium_amm_idl.json
- raydium_launchlab_idl.json
- raw_create_tx_from_blocksubscribe.json
- get_bonding_curve_status.py
- get_graduating_tokens.py
- get_graduating_tokens_geyser.py
- poll_bonding_curve_progress.py
- listen_wallet_transactions.py
- idl_parser.py
- manual_buy_exact_in.py
- manual_buy_exact_out.py
- manual_sell_exact_in.py
- manual_sell_exact_out.py
- compare_migration_listeners.py
- listen_logsubscribe.py
- listen_programsubscribe.py
- compare_listeners.py
- listen_blocksubscribe.py
- listen_geyser.py
- listen_logsubscribe.py
- listen_pumpportal.py
- get_pumpswap_pools.py
- manual_buy_pumpswap.py
- manual_sell_pumpswap.py
- calculate_discriminator.py
- cleanup_accounts.py
- compute_associated_bonding_curve.py
- decode_from_blocksubscribe.py
- decode_from_getaccountinfo.py
- decode_from_gettransaction.py
- extract_blocksubscribe_transactions.py
- fetch_price.py
- live_listener_matrix.py
- live_v2_round_trip.py
- manual_buy.py
- manual_buy_geyser.py
- manual_sell.py
- mint_and_buy.py
- mint_and_buy_v2.py
- pump_v2.py
- raw_bonding_curve_from_getaccountinfo.json
- raw_buy_tx_from_gettransaction.json
- raw_create_tx_from_gettransaction.json
- simulate_bot_buy_path.py
- simulate_v2_trades.py
- tx_status.py
- verify_create_v2_optional_args.py
- verify_extreme_fast_zero_rpc.py
- verify_pumpportal_buy_path.py
- verify_tx_status_checks.py
- verify_v2_account_layout.py
- __init__.py
- manager.py
- modes.py
- __init__.py
- dynamic_fee.py
- fixed_fee.py
- manager.py
- __init__.py
- client.py
- pubkeys.py
- rpc_rate_limiter.py
- wallet.py
- geyser_pb2.py
- geyser_pb2.pyi
- geyser_pb2_grpc.py
- solana_storage_pb2.py
- solana_storage_pb2.pyi
- solana_storage_pb2_grpc.py
- geyser.proto
- solana-storage.proto
- core.py
- __init__.py
- base_listener.py
- listener_factory.py
- universal_block_listener.py
- universal_geyser_listener.py
- universal_logs_listener.py
- universal_pumpportal_listener.py
- __init__.py
- address_provider.py
- curve_manager.py
- event_parser.py
- instruction_builder.py
- pumpportal_processor.py
- __init__.py
- address_provider.py
- curve_manager.py
- event_parser.py
- instruction_builder.py
- pumpportal_processor.py
- __init__.py
- __init__.py
- base.py
- platform_aware.py
- position.py
- universal_trader.py
- __init__.py
- idl_manager.py
- idl_parser.py
- logger.py
- __init__.py
- bot_runner.py
- config_loader.py
- .env.example
- .gitignore
- AGENTS.md
- CLAUDE.md
- LICENSE
- MAINTAINERS.md
- pyproject.toml
- README.md
- uv.lock
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
git clone
View Details ▼
git clone
Clone an existing repository.
git clone {{remote_repository_location}} {{path/to/directory}}
Clone an existing repository into a new directory (the default directory is the repository name):
git clone --recursive {{remote_repository_location}}
Clone an existing repository and its submodules:
git clone {{[-n|--no-checkout]}} {{remote_repository_location}}
Clone only the `.git` directory of an existing repository:
ruff check
View Details ▼
ruff check
An extremely fast Python linter. `check` is the default command - it can be omitted everywhere.
If no files or directories are specified, the current working directory is used by default.
ruff check {{path/to/file_or_directory1 path/to/file_or_directory2 ...}}
Run the linter on the given files or directories:
ruff check --fix
Apply the suggested fixes, modifying the files in-place:
ruff check --watch
Run the linter and re-lint on change:
ruff
View Details ▼
ruff
An extremely fast Python linter and code formatter, written in Rust.
See also: `black`.
tldr ruff check
View documentation for the Ruff linter:
tldr ruff format
View documentation for the Ruff code formatter:
uv pip
View Details ▼
uv pip
Provides pip-like commands for installing, uninstalling, and managing packages.
uv pip install {{package}}
Install a package:
uv pip install {{[-r|--requirements]}} {{requirements.txt}}
Install packages from a requirements file:
uv pip install {{package==1.2.3}}
Install a package with a specific version:
uv run
View Details ▼
uv run
Run a command or script in the project environment.
uv run {{path/to/script.py}}
Run a Python script:
uv run {{[-m|--module]}} {{module_name}}
Run a Python module:
uv run {{[-w|--with]}} {{package}} {{command}}
Run a command with additional packages installed temporarily:
uv sync
View Details ▼
uv sync
Update the project's environment to match the lockfile.
uv sync
Sync the project environment with the lockfile:
uv sync --all-extras
Sync and include all optional dependencies:
uv sync --extra {{extra_name}}
Sync with specific optional dependencies:
