vRPC
vRPC is a pre-confirmation transaction streaming service. It decodes transactions directly from Solana’s shred layer (turbine) — before the validator replays them — giving you the lowest possible latency for new transaction detection. vRPC operates at the shred layer, so transactions are available before replay completes. This means:- No transaction metadata (no balances, no logs, no CPI trace)
- No execution status (you don’t know if it succeeded or failed)
- You get: signature, account keys, decoded instruction args, slot
Connecting
Supported Programs
| Program | ID | Instructions |
|---|---|---|
| PumpFun | 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P | create, buy, sell |
| PumpSwap (AMM) | pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA | buy, sell, create_pool, deposit, withdraw |
| Raydium CPMM | CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C | swap_base_input, swap_base_output, create_pool |
| Raydium LaunchLab | LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj | create, buy_exact_in, buy_exact_out, sell_exact_in, sell_exact_out, migrate |
| Meteora DBC | dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN | swap, initialize, migrate |
| Meteora DAMM v2 | cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG | swap, create_pool, add_liquidity, remove_liquidity |
Filtering
Filters are set on the initial request and can be updated mid-stream by sending a newSubscribeRequest. Sending a new map replaces all previous filters atomically.
| Filter | Type | Description |
|---|---|---|
programs | repeated enum | Which DEX programs to include. Empty = all. |
instruction_types | repeated string | e.g. ["buy", "sell"]. Empty = all for selected programs. |
accounts_include | repeated string | OR logic — tx must contain ANY of these accounts (base58). |
accounts_exclude | repeated string | Reject tx if ANY of these accounts appear. |
accounts_required | repeated string | AND logic — tx must contain ALL of these accounts. |