BAMBAM Builder

Visual Editor
Type: Geyser (Standard)

Logic Blocks

On Schedule Transactiontrigger

Triggered when a transaction is being scheduled. Allows custom ordering logic. (BAM Client Only)

Is Validator Identitycondition

Check if the transaction is signed by this validator's identity key (Dynamic).

Is Admin Signercondition

Check if the transaction is signed by a specific Admin Pubkey.

Is Leader (Block Production)condition

Check if this validator is currently producing the block (Leader).

Interacts with My Vote Accountcondition

Check if the transaction interacts with the validator's vote account.

Log Validator Contextaction

Log the current Slot, Epoch, and Validator Identity.

End Condition Scopeaction

Closes the most recent condition block.

Check Account Balancecondition

Check if a specific account has a balance within a range (in Lamports).

Check Account Ownercondition

Check if a specific account is owned by a specific program.

Check Account Data Patterncondition

Check if account data contains a specific pattern (Hex string) at a specific offset.

SPL Token / NFT Gatecondition

Check if the Fee Payer holds a specific SPL Token or Legacy NFT.

cNFT Merkle Tree Gatecondition

Check if the transaction includes a proof verification against a specific Merkle Tree (cNFT Collection).

Helius DAS API Gate (Networked)condition

Check if the Fee Payer owns a specific asset using Helius DAS API. WARNING: Adds network latency!

Webhook Notificationaction

Send a POST request to an external webhook with transaction details.

External API Allowlistcondition

Check an external API (GET) to see if the Fee Payer is allowed.

Reorder Priorityaction

Change the priority of the transaction by buffering and re-sorting.

Delay Execution (Blocking)action

Delay the execution of the transaction by blocking the thread.

Buffer Transactionaction

Buffer the transaction for later execution (requires flush).

Flush Buffer (Priority)action

Flush buffered transactions sorted by priority fee.

ACE: Magic Memo Checkcondition

Application Controlled Execution: Only allow transactions with a specific byte sequence in instruction data.

MEV: Hot Account Protectioncondition

Execute logic if the transaction writes to a specific 'Hot' account (e.g. liquidity pool).

Economics: Dutch Auction Priorityaction

Assign priority based on time elapsed in the slot (Time-based Auction). Earlier = Higher Cost/Lower Priority or vice versa.

Is Fast Lane Usercondition

Check if the transaction payer is in the fast lane list (comma-separated).

Interacts with Programcondition

Check if the transaction interacts with a specific Program ID.

On Nth Slotcondition

Execute logic only on every Nth slot (e.g., every 100 blocks).

Is Low Cost Transactioncondition

Check if the transaction compute budget is below a threshold.

Boost Priorityaction

Artificially boost the priority of the transaction.

Schedule Low Costaction

Buffer low cost transactions to be scheduled during gaps.

Flush Low Cost Bufferaction

Flush buffered low cost transactions.

Contains Program IDcondition

Check if the transaction interacts with a specific Program ID.

Drop Transactionaction

Immediately drop the transaction and stop processing.

TEE Verify Signatureaction

Verify transaction signature inside TEE enclave (Requires external TEE lib).

Dynamic Priority Multiplieraction

Adjust transaction priority dynamically based on a multiplier.

Hotspot Protectioncondition

Throttle transactions targeting hot accounts.

Rate Limit Senderaction

Limit transactions from a sender (requires state).

Whitelist Senderaction

Only allow transactions from whitelisted senders.

Count Transactionsaction

Count total transactions processed.

Decrypt CVM (TEE)action

Decrypt a confidential transaction inside the TEE.

MEV Sandwich Detectoraction

Detect potential sandwich attacks by analyzing swap patterns.

Jito Bundle Simulatoraction

Identify and handle Jito-style atomic bundles via Tip Program.

Dynamic Fee Adjusteraction

Adjust priority fees based on network congestion (Transaction Count).

Check Epochcondition

Check the current epoch from the Bank.

Check Program IDcondition

Check if the transaction interacts with a specific program (ACE).

Prioritize by Stakeaction

Adjust priority based on sender's stake weight (ACE).

Enforce FCFSaction

Strict First-Come-First-Served ordering.

Detect Sandwich Patterncondition

Heuristic check for sandwich attacks (High Fee + DeFi Interaction).

Route to Private Mempoolaction

Route transaction to a private execution lane (MEV Protection).

Enforce Dynamic Feeaction

Reject transaction if fee is below dynamic threshold.

Auction Orderingaction

Order transactions based on an auction bid in instruction data.

Is VIP Signercondition

Check if the transaction is signed by a VIP key.

Is Oracle Updatecondition

Check if the transaction interacts with a specific Oracle program.

Boost Priority Scoreaction

Artificially boost the priority score of a transaction.

Hot Account Contentioncondition

Check if the transaction touches a hot account.

On Transactiontrigger

Triggered for every transaction processed by the validator.

On Account Updatetrigger

Triggered when an account is updated.

On Slot Updatetrigger

Triggered when a slot status changes.

On Block Metadatatrigger

Triggered when block metadata is available.

On Entrytrigger

Triggered when an entry is executed.

On Block V4 (Rich Metadata)trigger

Triggered when block metadata (V4) is available, including rewards and entry counts.

Block Height > Xcondition

Check if block height is greater than X.

High Traffic Blockcondition

Check if block has more than X executed transactions.

High Staking Rewardscondition

Check if block contains any reward > X lamports.

Is Versioned Txcondition

Check if transaction is Versioned (V0).

Is Vote Transactioncondition

Check if the transaction is a vote.

Is Slot Confirmedcondition

Check if the slot status is Confirmed.

Is Startupcondition

Check if the update is happening during startup.

Filter by Program IDcondition

Only process transactions involving a specific program.

Account Data Sizecondition

Filter accounts by data size.

Check Ownercondition

Check if the account is owned by a specific program.

High Compute Usagecondition

Check if transaction used more than X compute units.

Is Failed Transactioncondition

Check if the transaction failed.

Specific Account Matchcondition

Check if a specific account is involved in the transaction.

Instruction Discriminatorcondition

Check if instruction data starts with specific bytes (hex).

Log Messageaction

Log a message to the validator logs.

Emit Metricaction

Emit a custom metric to InfluxDB/Prometheus.

Send via gRPCaction

Stream event to a gRPC endpoint.

Send Slack Alertaction

Post a message to a Slack webhook (Blocking).

Send to Kafkaaction

Publish event to a Kafka topic.

Call Webhookaction

Send a POST request to a webhook URL (Blocking).

Redis PubSubaction

Publish event to a Redis channel.

Lamports > Xcondition

Check if account balance is greater than X lamports.

Is Executablecondition

Check if the account is executable.

Append to Fileaction

Append a line to a local file.

HTTP POSTaction

Send a generic HTTP POST request (Blocking).

Send to BAM Forgeaction

Send events to this BAM Forge instance for debugging.

High Value Transfercondition

Check for transfers > 1000 SOL.

Detect Sandwich (Heuristic)action

Log potential sandwich attacks.

Suggest Priority Feeaction

Log a suggestion to bump fee.

Prioritize High Feeaction

Prioritize transactions with high priority fees.

Block Senderaction

Block transactions from a specific sender.

Priority Queue Bufferaction

Buffer transactions in a priority queue (BinaryHeap).

TEE Decrypt & Verifyaction

Decrypt transaction in TEE and verify signature.

Slot Age < X mscondition

Check if the slot is fresh (less than X ms old).

Check Scheduling Modecondition

Check if we are in Block Production or Verification mode.

Writes to Accountcondition

Check if the transaction writes to a specific account (Hot Account detection).

Shuffle Buffer (Anti-Sandwich)action

Randomly shuffle the transaction buffer before flushing.

Prioritize Oracle Updatesaction

Bump priority if transaction writes to a known Oracle.

Interacts with Programcondition

Check if the transaction interacts with a specific program (e.g. Jupiter, Raydium).

Prioritize by Tipaction

Boost priority if a transfer to a specific tip account is detected.

Is Session Keycondition

Check if the signer is a valid session key (for gaming/casinos).

Deduplicate (Spam Protection)action

Drop transaction if a similar one was seen recently.

Low Compute (Discount Lane)condition

Check if transaction requests less than X compute units.

Is Validator Signercondition

Check if the fee payer is a known validator (Vote Account).

Conflict-Free Lanecondition

Check if transaction avoids a list of 'Hot Accounts'.

Is Complex Transactioncondition

Check if transaction has many instructions (Flash Loan detection).

Bucket by Priority Feeaction

Assign a priority bucket based on the compute unit price.

Has Conflictscondition

Check if the transaction conflicts with currently scheduled tasks.

Delay Until Conditionaction

Delay execution until a specific condition is met (simulated).

Boost Scoreaction

Add to a mutable score variable for the transaction.

Check Program ID (ACE)condition

Check if the transaction interacts with a specific Program ID (Application Controlled Execution).

MEV Protection (Sandwich)action

Detect and prevent sandwich attacks by checking for suspicious surrounding transactions.

Hold for Auctionaction

Hold the transaction for a micro-auction (BAM specific).

Dynamic Priorityaction

Adjust priority based on Compute Unit Price.

Signer Whitelist (ACE)condition

Only allow transactions from a specific list of signers.

Execute Custom Rust Logicaction

Inject arbitrary Rust code (Advanced Users Only).

Check Account Statecondition

Check if a specific account has specific data (requires deserialization logic).

Sell Spot (Auction)action

Auction off the top spot in the block to the highest bidder.

ACE: Check On-Chain Statecondition

Check specific account state to authorize execution (ACE).

MEV: Window Analysisaction

Analyze a window of transactions for MEV patterns (Sandwiching).

Congestion Multiplieraction

Multiply required fee based on block congestion.

Weighted Round Robin (Stake)action

Schedule transactions based on sender's validator stake.

Detect Backrunningcondition

Check if transaction targets accounts modified by recent high-value transactions.

Randomize Order (Anti-MEV)action

Randomly shuffle the execution order within a small window.

Dutch Auction Orderingaction

Order transactions based on a decaying price curve.

Track Fee Redistributionaction

Track fees for later redistribution to specific accounts.

Prioritize by Compute Efficiencyaction

Prioritize transactions that use less compute units (efficient code).

Drop Transactionaction

Silently drop the transaction. It will not be scheduled for execution.

Log (Simulation Mode)action

Log a message for testing/simulation purposes without affecting execution.

+

Drag blocks here to build your plugin

Configuration

Live Events

No events received...