# Senders

Below is a list of all available senders and their configs.

**For sender tips:** `tip_amount` options available are:

```toml
{ strategy = "tipstream", percentile = 65, max_tip = 20_000 }
{ strategy = "fixed", amount = 20_000 }
{ strategy = "random", from = 20_000, to = 40_000 }
```

### Global Settings Per Sender

**Trigger ID**

* Links this sender to a specific trigger. Must match a trigger's `id` exactly (e.g., `"aggressive"`, `"conservative"`). When that trigger fires, only senders with the matching `trigger_id` will execute.

**API Key**

* API key for this sender (if required by provider)

**Skip Durable Nonce**

* If true (and durable nonces enabled), skips durable nonce for this sender

**Compute Unit Price**

* Compute unit price (in lamports). Optimized priority fee, if enabled, will take precedence over this value. To send **no** **priority fee**, using just the base 0.000005 per tx, set this parameter to 0.

**Max Compute Unit Price**

* Maximum compute unit price (in lamports), 0 => no limit

**No Failure Mode**

* If true, all txs will succeed, even if not profitable. Fees will persist (and tips if no fail is on).

**Use Different TX Per Region**

* If true, sends a unique tx for each region set.
* Option not available for Jito.

### RPC

Sends txs via specified RPC urls. In most case, these won't be your read RPCs. Should be staked RPC endpoints.

**Use Different TX Per Sender**

* If true, sends different tx for each sender url

**Send URLs**

* List of RPC urls to use for sending txs

```toml
[[strategy.spam.sender]]
type = "rpc"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_sender = false
no_failure_mode = false
send_urls = [
    "https://mainnet.helius-rpc.com/?api-key=********"
]
```

### Jito

Sends txs via Jito block engines. Recommended to only use if you have a Jito UUID and 'no failure mode' on. Hard to land otherwise.

**Use Different TX Per Block Engine**

* If true, sends a unique tx for each block engine set.

**UUID**

* Optional Jito UUID for increased tps.

**Block Engines**

* Options: ams, dub, fra, lon, nyc, slc, sgr, tyo

```toml
[[strategy.spam.sender]]
type = "jito"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
skip_durable_nonce = false
use_different_tx_per_block_engine = false
tip_amount = { strategy = "tipstream", percentile = 65, max_tip = 20_000 }
uuid = ""
no_failure_mode = true
block_engines = ["ams","dub","fra","lon","nyc","slc","sgr","tyo"]
```

### Helius Sender

Sends txs via Helius region endpoint. **Helius API key is optional, not required.** Min. tip: is 200\_000 lamports. If `swqos_only` true, minimum tip is only 0.000005.

**SWQOS Only**

* If true, routes exclusively through SWQOS infrastructure with a lower 0.000005 SOL minimum tip requirement. Else, sends transactions to both Solana validators and Jito infrastructure simultaneously for maximum inclusion probability. Requires minimum 0.0002 SOL tip.

**Regions**

* Options: global, ewr, slc, ams, fra, lon, sg, tyo

```toml
[[strategy.spam.sender]]
type = "helius"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # optional: only add if your API key is > 15tps
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 100_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 200_000, to = 500_000 }
no_failure_mode = false
swqos_only = false
regions = ["fra"]
```

### Stellium

Sends txs via Stellium region endpoint. Requires Stellium API key. Min. tip is 1\_000\_000 lamports.

**Regions**

* Options: ewr, ams, fra, lhr, tyo, sin, dub, lit

```toml
[[strategy.spam.sender]]
type = "stellium"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 100_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
regions = ["fra"]
```

### NextBlock

Sends txs via Nextblock region endpoint. Requires Nextblock API key. Min. tip is 1\_000\_000 lamports.

**MEV Protect**

* If true, enables MEV protection. i.e., false: SWQOS + Jito, true: only Jito

**Regions**

* Options: fra, ny, slc, tyo, lon, sgp, ams, vil, dub

```toml
[[strategy.spam.sender]]
type = "nextblock"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 100_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
mev_protect = false
regions = ["fra"]
```

### Astralane

Sends txs via Astralane region endpoint. Requires Astralane API key. Min. tip is 10\_000 lamports.

**MEV Protect**

* If true, enables MEV protection. i.e., false: SWQOS + Jito, true: only Jito

**Regions**

* Options: fra, sf, tyo, ny, ams, lim, sgp

```toml
[[strategy.spam.sender]]
type = "astralane"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 100_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 10_000, to = 20_000 }
no_failure_mode = false
mev_protect = false
regions = ["fra"]
```

### Fast (Circular)&#x20;

Sends txs via Fast region endpoint. Requires Circular API key. Min. tip is 1\_000\_000 lamports.

**MEV Protect**

* If true, enables MEV protection. i.e., false: SWQOS + Jito, true: only Jito

**Regions**

* Options: everywhere, fra, ams, ny

```toml
[[strategy.spam.sender]]
type = "fast"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 100_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
mev_protect = false
regions = ["fra"]
```

### Node1

Sends txs via Node1 region endpoint. Requires Node1 API key. Min. tip is 2\_000\_000 lamports.

**Regions**

* Options: ny, fra, ams, lon

```toml
[[strategy.spam.sender]]
type = "node1"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 2_000_000, to = 2_500_000 }
no_failure_mode = false
regions = ["fra"]
```

### BlockRazor

Sends txs via BlockRazor region endpoint. Requires BlockRazor API key. Min. tip is 1\_000\_000 lamports.

**Revert Protection**

* If true, the tx will not fail on-chain, but the speed of inclusion will be affected.

**Regions**

* Options: fra, ny, tyo, ams, lon

```toml
[[strategy.spam.sender]]
type = "razor"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
revert_protection = false
regions = ["fra"]
```

### FlashBlock

Sends txs via FlashBlock RPC region endpoint. Requires FlashBlock API key. Min. tip is 100\_000 lamports.

**Regions**

* Options: ny, slc, ams, fra, sgp, lon, tko

```toml
[[strategy.spam.sender]]
type = "flashblock"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 100_000, to = 200_000 }
no_failure_mode = false
regions = ["fra"]
```

### Falcon (Corvus)

Sends txs via Corvus's Falcon RPC region endpoint. Requires Falcon API key. Min. tip is 1\_000\_000 lamports.

**Regions**

* Options: ams, dub, fra, lon, nyc, sqq, sgp, tyo

```toml
[[strategy.spam.sender]]
type = "falcon"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
regions = ["fra"]
```

### Temporal

Sends txs via Temporal's RPC region endpoint. Requires Temporal API key. Min. tip is 1\_000\_000 lamports.

**Regions**

* Options: pitt, tyo, sgp, ewr, ams, fra

```toml
[[strategy.spam.sender]]
type = "temporal"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
regions = ["fra"]
```

### Lunar Lander (Hello Moon)

Sends txs via Lunar Lander's RPC region endpoint. Requires Lunar Lander API key. Min. tip is 1\_000\_000 lamports.

**Regions**

* Options: fra, ams, nyc, ash, tyo

```toml
[[strategy.spam.sender]]
type = "lunar_lander"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
regions = ["fra"]
```

### Aura

Sends txs via Aura's RPC region endpoint. Requires Aura API key. Min. tip is 1\_000\_000 lamports.

**Regions**

* Options: fra, ams, ny

```toml
[[strategy.spam.sender]]
type = "aura"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
regions = ["fra"]
```

### 0Slot

Sends txs via 0Slot's RPC region endpoint. Requires 0Slot API key. Min. tip is 1\_000\_000 lamports.

**Regions**

* Options: ny, fra, ams, tyo, la

```toml
[[strategy.spam.sender]]
type = "0slot"
enabled = true
trigger_id = "yolo" # must match the trigger id set in the trigger config
api_key = "" # required
skip_durable_nonce = false
compute_unit_price = 40_000
max_compute_unit_price = 200_000
use_different_tx_per_region = false
tip_amount = { strategy = "random", from = 1_000_000, to = 1_500_000 }
no_failure_mode = false
regions = ["fra"]
```
