Skip to content

Conversation

@serejke
Copy link
Contributor

@serejke serejke commented Jan 15, 2026

Summary

  • Add non-standard sendBundle RPC endpoint for Jito bundles imitation
  • Allows clients to submit multiple transactions that are executed sequentially
  • Useful for testing applications that use Jito bundles

Implementation details

  • Transactions are processed sequentially in the order provided
  • Forces skip_preflight: true to match Jito Block Engine behavior
  • Returns bundle ID as SHA-256 hash of comma-separated signatures (Jito-compatible)
  • If any transaction fails, the entire bundle is rejected with error indicating which transaction failed

Notes

This is not a 100% bundles implementation as they are not atomic all-or-nothing like real Jito bundles. But it's useful for testing apps that want to verify their Jito integration works.

Test plan

  • Added unit tests for empty bundle rejection
  • Added unit tests for missing context error
  • Added async tests for single transaction bundle
  • Added async tests for multiple transaction bundle with bundle ID verification
  • All tests passing: cargo test -p surfpool-core jito

Add non-standard `sendBundle` RPC endpoint for Jito bundles imitation,
allowing clients to submit multiple transactions that are executed
sequentially. This is useful for testing applications that use Jito bundles.

Key features:
- Transactions are processed sequentially in order
- Forces skip_preflight to match Jito Block Engine behavior
- Returns bundle ID as SHA-256 hash of comma-separated signatures
- If any transaction fails, the entire bundle is rejected

Note: This is not a 100% bundles implementation as they are not atomic
all-or-nothing like real Jito bundles.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant