Ikhtisar
getTransfersByAddress adalah metode RPC eksklusif Helius yang mengembalikan objek transfer token dan SOL native yang telah diuraikan dan mudah dibaca untuk suatu alamat dompet. Metode ini bukan bagian dari RPC Solana standar.
Metode ini berfokus pada aktivitas transfer, sehingga mengembalikan catatan transfer ringkas, bukan payload transaksi lengkap. Setiap catatan dinormalisasi dengan akun pemilik dan token yang telah diuraikan, mint, jumlah mentah, desimal, jumlah UI, posisi instruksi, dan status konfirmasi. Dengan demikian, Anda dapat merekonsiliasi pergerakan saldo tanpa mengimplementasikan ulang penguraian token Solana.
Metode ini memerlukan paket Developer atau yang lebih tinggi dan dikenai biaya 10 kredit per permintaan.
Parsed transfer objects
Mengembalikan catatan transfer yang mudah dibaca dengan akun, jumlah, desimal, dan jenis transfer yang telah diuraikan.
Reconciliation ready
Memodelkan SOL, WSOL, biaya Token-2022, mint, burn, dan perubahan pemilik akun agar saldo dapat direkonsiliasi secara akurat.
Mint, time, and amount filters
Mempersempit riwayat transfer berdasarkan alamat mint, rentang waktu blok, atau rentang jumlah mentah.
Counterparty filters
Memfilter transfer berdasarkan pengirim atau penerima dengan
with dan direction.Kapan perlu menggunakannya
GunakangetTransfersByAddress saat Anda memerlukan:
- Riwayat transfer dompet untuk pembayaran atau pemantauan transfer
- Aktivitas portofolio dan analitik pergerakan token
- Rekonsiliasi saldo yang dapat diandalkan untuk buku besar dan akuntansi
- Laporan transfer khusus pihak lawan (siapa yang mengirim atau menerima apa)
- Penanganan SOL/WSOL, biaya Token-2022, mint, dan burn yang dinormalisasi tanpa menulis parser
getTransactionsForAddress saat Anda memerlukan data transaksi lengkap, riwayat yang hanya berisi tanda tangan, atau aktivitas selain transfer. Pola yang umum adalah menelusuri transfer per halaman di sini, lalu mengambil transaksi lengkap yang mendasarinya dengan panggilan getTransaction secara batch (lihat Ambil transaksi lengkap untuk baris transfer).
Akurasi dan rekonsiliasi
getTransfersByAddress dibuat untuk aplikasi yang memerlukan riwayat transfer yang dapat diandalkan untuk buku besar, pelacakan pembayaran, aktivitas portofolio, dan rekonsiliasi saldo. Alih-alih mengembalikan payload transaksi mentah dan menyerahkan setiap kasus khusus kepada parser Anda, API mengembalikan objek transfer yang dinormalisasi.
Respons secara eksplisit memodelkan kasus transfer yang umumnya menyulitkan rekonsiliasi riwayat Solana:
- Transfer token SPL standar dan SOL native.
- Transfer Token-2022 dengan biaya yang ditahan, yang direpresentasikan sebagai baris
transferbiasa dengan kolom biaya terpisah. - Mint dan burn, yang direpresentasikan sebagai transfer dengan pengirim atau penerima
null. - Perilaku wrapping dan unwrapping SOL, dengan mode default yang dirancang untuk menghindari baris siklus hidup yang tidak diperlukan.
- Perubahan pemilik akun token melalui SetAuthority.
- Penarikan biaya Token-2022 yang ditahan.
- Alur akun perantara, yang dikembalikan sebagai catatan transfer yang mendasarinya, bukan digabungkan menjadi perkiraan pergerakan bersih.
Mulai cepat
Parameter permintaan
Masukkan alamat pemilik dompet, bukan associated token account (ATA). API menemukan aktivitas transfer untuk akun token yang dimiliki dompet tersebut.string
wajib
Alamat dompet pemilik dengan pengodean Base58 yang transfernya akan dikueri. Masukkan alamat pemilik dompet, bukan associated token account (ATA).
object
Objek konfigurasi opsional untuk pemfilteran, paginasi, komitmen, pengurutan, serta perilaku SOL/WSOL.
string
Filter berdasarkan alamat pihak lawan. Hanya mengembalikan transfer ke atau dari alamat ini.
string
default:"any"
Filter berdasarkan arah transfer relatif terhadap
address.in: transfer yang diterima olehaddressout: transfer yang dikirim olehaddressany: transfer masuk dan keluar
string
Filter berdasarkan alamat mint token. Gunakan
So11111111111111111111111111111111111111111 untuk SOL native dan So11111111111111111111111111111111111111112 untuk WSOL.string
default:"merged"
Mengontrol cara SOL native dan WSOL direpresentasikan.
merged: WSOL diperlakukan sebagai SOL native. Baris siklus hidup wrap dan unwrap dikecualikan, dan nilai mint WSOL ditulis ulang menjadi mint SOL native.separate: WSOL dipertahankan sebagai mint yang berbeda, dan baris siklus hidup wrap dan unwrap disertakan.
object
Filter tambahan untuk jumlah, waktu blok, dan slot.
number
default:"100"
Jumlah maksimum transfer yang akan dikembalikan. Rentang: 1 hingga 100.
string
Kursor dari respons sebelumnya untuk paginasi.
string
default:"finalized"
Tingkat komitmen data.
finalizedconfirmed
number
Slot minimum tempat permintaan dapat dievaluasi
string
default:"desc"
Urutan hasil.
desc: terbaru terlebih dahuluasc: terlama terlebih dahulu
Respons
Detail kolom respons
fromUserAccountdantoUserAccountselalu ada. Jika salah satu sisi tidak ada, nilainya adalahnull.fromTokenAccountdantoTokenAccounthanya disertakan saat endpoint akun token relevan untuk baris tersebut. Keduanya sepenuhnya dihilangkan untuk transfer SOL native.- Transfer mint bersifat satu sisi:
fromUserAccountadalahnull, dan transfer tersebut hanya dapat dikembalikan sebagai transfer masuk bagi penerima. - Transfer burn bersifat satu sisi:
toUserAccountadalahnull, dan transfer tersebut hanya dapat dikembalikan sebagai transfer keluar bagi pemilik yang melakukan burn.
Filter
Gunakan filter perbandingan untuk kueri rentang numerik. Semua kolom perbandingan bersifat opsional dan dapat digabungkan.Jenis transfer
Kolomtype mengidentifikasi perilaku transfer yang direpresentasikan oleh setiap baris.
Jenis transfer dan instruksi
Perilaku SOL dan wSOL
SOL tersedia di Solana dalam dua bentuk yang sering muncul bersama dalam aktivitas pengguna nyata:- SOL native adalah aset native rantai. Aset ini berada langsung di dompet atau akun sebagai lamport. Satu SOL setara dengan 1.000.000.000 lamport.
- Wrapped SOL (WSOL, sering ditulis wSOL) adalah representasi token SPL dari SOL. Aset ini menggunakan mint WSOL
So11111111111111111111111111111111111111112dan berada dalam akun token, seperti USDC atau token SPL lainnya.
getTransfersByAddress menggunakan solMode: "merged". Dalam mode ini:
- SOL native dan WSOL diperlakukan sebagai satu aset SOL saat melakukan kueri berdasarkan
So11111111111111111111111111111111111111111. - Baris transfer WSOL dinormalisasi ke mint SOL native agar riwayat dalam denominasi SOL lebih mudah direkonsiliasi.
- Baris siklus hidup wrap dan unwrap dikecualikan karena biasanya merepresentasikan pergerakan antara akun yang dikendalikan oleh pemilik yang sama, bukan pembayaran kepada pengguna lain.
- Transfer SOL dan WSOL antara pemilik yang berbeda tetap direpresentasikan sebagai transfer.
- Rent yang diperoleh kembali dari
CloseAccountdirepresentasikan sebagai barisunwrapSOL native saat baris siklus hidup penutupan akun dikembalikan.
solMode: "separate" saat Anda memerlukan WSOL sebagai mint token SPL yang berbeda atau ingin memeriksa catatan siklus hidup wrap dan unwrap. Dalam mode ini, WSOL mempertahankan mint So11111111111111111111111111111111111111112, dan catatan wrap/unwrap dikembalikan dengan type: "wrap" atau type: "unwrap".
Untuk penutupan akun WSOL dalam solMode: "separate", catatan unwrap untuk mint WSOL merepresentasikan sisa saldo token WSOL yang dikembalikan sebagai SOL. Rent yang dikembalikan dari akun token yang ditutup akan dikembalikan sebagai baris unwrap SOL native terpisah.
Biaya transfer Token-2022
InstruksiTransferCheckedWithFee Token-2022 direpresentasikan sebagai satu catatan transfer dengan type: "transfer". Jumlah tujuan dikembalikan dalam amount; detail biaya yang ditahan dikembalikan dalam feeAmount dan feeUiAmount.
Untuk transfer dengan biaya, amount + feeAmount didebit dari sumber, sedangkan amount dikreditkan ke tujuan.
Contoh
Filter berdasarkan USDC
Transfer masuk dari pengirim
Rentang jumlah dan waktu
Permintaan dengan paginasi
Ambil transaksi lengkap untuk baris transfer
getTransfersByAddress mengembalikan baris transfer yang telah diuraikan, bukan payload transaksi lengkap. Jika Anda memerlukan transaksi lengkap untuk setiap transfer, telusuri transfer per halaman terlebih dahulu, hapus duplikat berdasarkan signature, lalu ambil transaksi lengkap dengan panggilan getTransaction secara batch.
getTransfersByAddress tidak dapat dijalankan secara batch untuk beberapa alamat pemilik. Kueri satu alamat pemilik pada satu waktu, lalu jalankan permintaan getTransaction yang dihasilkan secara batch berdasarkan tanda tangan. Satu transaksi dapat menghasilkan beberapa baris transfer, jadi selalu hapus tanda tangan duplikat sebelum mengambil transaksi.
Batasan
- Transaksi yang gagal tidak disertakan dalam V1.
- Pergerakan SOL tersembunyi yang hanya disimpulkan dari perubahan saldo tidak didukung dalam V1.
harvestWithheldTokensToMinttidak didukung dalam V1 karena tidak menunjukkan jumlah yang dikumpulkan.- Alur akun perantara tidak disederhanakan. Jika transaksi memindahkan dana melalui akun perantara, catatan transfer yang mendasarinya akan dikembalikan.
- Tidak dapat dijalankan secara batch untuk beberapa alamat pemilik. Kueri satu pemilik pada satu waktu.
Langkah berikutnya
getTransactionsForAddress
Riwayat transaksi lengkap dengan dukungan pemfilteran, pengurutan, dan akun token.
API reference
Skema permintaan dan respons lengkap untuk getTransfersByAddress.
Indexing guide
Lakukan backfill dan sinkronkan data transfer ke indeks Anda sendiri.
Historical data overview
Bandingkan semua metode data historis Solana.