Skip to main content
Mulai langganan ke Preconfirmations — transaksi yang dikirim sebelum dikumpulkan menjadi entri dan diubah menjadi shred. Ini adalah sinyal transaksi dengan latensi terendah yang ditawarkan Helius. Satu langganan melakukan streaming Preconfirmations Helius, yang dipancarkan tepat saat leader mengeksekusi transaksi dan membawa status eksekusinya, serta Preconfirmations BAM, yang dipancarkan saat validator berkomitmen untuk mengeksekusinya; tetapkan includeBam: false agar hanya menerima Preconfirmations Helius.

Endpoint

preconfSubscribe disediakan dari endpoint Gatekeeper Helius:
  • wss://beta.helius-rpc.com/?api-key=<API_KEY>
Nama host beta merujuk pada peluncuran Gatekeeper, bukan tingkat kematangan Preconfirmations — ini akan menjadi endpoint standar seiring migrasi lalu lintas ke Gatekeeper.
Streaming tidak berlangsung terus-menerus. Cakupan meningkat sesuai proporsi stake jaringan yang meneruskan data ke Helius atau menjalankan BAM, jadi mungkin ada slot tanpa pesan — tangani celah ini dengan baik. Lihat Cakupan.

Otorisasi

string
wajib
Kunci API Helius Anda, yang diteruskan sebagai parameter kueri api-key. Memerlukan paket Professional atau yang lebih tinggi.

Isi

array
Opsional. Hilangkan params untuk menerima setiap transaksi dari Helius dan BAM. Untuk mempersempit streaming, teruskan objek filter sebagai elemen pertama — pemfilteran dilakukan di sisi server, sehingga Anda hanya membayar dan menerima transaksi yang Anda perlukan.
Nilai akun yang tidak valid atau kode wilayah yang tidak dikenal akan mengembalikan kesalahan JSON-RPC -32602 (parameter tidak valid). Filter akun mencocokkan lebih dari sekadar kunci akun statis transaksi — Helius menyelesaikan tabel pencarian alamat v0 di sisi server, sehingga accountInclude, accountExclude, dan accountRequired juga mencocokkan akun yang dimuat transaksi melalui ALT.

Kode wilayah

Untuk Preconfirmations Helius, wilayah menunjukkan lokasi tempat Helius menyerap transaksi. Untuk Preconfirmations BAM, wilayah menunjukkan endpoint BAM regional yang memancarkan preconfirmation, bukan tempat Helius menyerapnya. Endpoint BAM di Singapura dan Dallas dipetakan ke sgp dan dal.

Respons

integer
ID langganan (diperlukan untuk membatalkan langganan)

Notifikasi

Setelah konfirmasi JSON, notifikasi dikirim sebagai frame WebSocket biner (bukan JSON). Preconfirmations Helius dan BAM menggunakan tata letak yang sama. Setiap frame merupakan tata letak byte padat yang membawa satu transaksi: Payload tidak memiliki bidang sumber. Jangan menyimpulkan bahwa transaksi berasal dari BAM berdasarkan tx_index = 0, karena Preconfirmations Helius dapat membawa nilai yang sama.
Selalu baca dan periksa byte version terlebih dahulu. Saat ini nilainya 1. Jika Helius perlu memperbarui format payload, nomor versi akan bertambah — buat percabangan berdasarkan versi agar dekoder Anda tetap berfungsi saat skema berubah.
Preconfirmation adalah sinyal awal, bukan jaminan. Transaksi belum masuk ke on-chain dan masih dapat gagal atau dihapus. Konfirmasikan bahwa transaksi telah masuk melalui pemeriksaan commitment standar sebelum menganggapnya final.

Mendekode transaksi

Byte transaksi diteruskan persis seperti yang diserialisasi oleh validator, menggunakan enkode wire standar untuk versi transaksi tersebut. Transaksi legacy dan v0 menggunakan tata letak yang mendahulukan tanda tangan seperti yang dihasilkan oleh bincode. Transaksi v1 (SIMD-0385) menggunakan tata letak yang mendahulukan pesan dengan tanda tangan di bagian akhir, sehingga bincode gagal pada payload v1. Gunakan dekoder yang menangani setiap versi. Di Rust, agave-transaction-view mengurai transaksi legacy, v0, dan v1 secara langsung dan merupakan opsi yang direkomendasikan; wincode dengan VersionedTransaction dari SDK Solana terbaru juga dapat digunakan. Di JavaScript, pastikan versi pustaka Anda mendukung transaksi v1. Lihat panduan untuk contoh Rust.

Notifikasi duplikat

Preconfirmations Helius dan BAM dideduplikasi per sumber, bukan lintas sumber. Sebagian kecil transaksi mencapai Helius melalui keduanya, sehingga Anda dapat menerima tanda tangan yang sama dua kali, dan kedua salinan tersebut mungkin melaporkan slot yang berbeda. Lakukan deduplikasi berdasarkan tanda tangan di klien dan buat tindakan yang dipicu transaksi bersifat idempoten. Lihat panduan.

Harga

Preconfirmations memerlukan paket Professional atau yang lebih tinggi dan dikenai biaya 10 kredit per pesan — satu pesan untuk setiap transaksi yang di-streaming. Lihat Kredit untuk detailnya. Penagihan dihitung per pesan, bukan per tanda tangan unik. Transaksi yang dikirim oleh Helius dan BAM dihitung dua kali. Tetapkan includeBam: false jika Anda hanya menginginkan Preconfirmations Helius.

Terkait

Preconfirmations Overview

Penjelasan tentang Preconfirmations dan posisinya dalam pipeline validator.

preconfUnsubscribe

Hentikan langganan berdasarkan ID-nya.