An account's decoded bytes, or null when no such account exists.
The base64 decode lives here rather than at each call site, and null
means absent and nothing else — see HeliusRpcClient.call.
Optional_args: { commitment?: "confirmed" | "finalized" | "processed" }Every account owned by programId, walked one cursor page at a time.
There is deliberately no single-shot getProgramAccounts here. V1
materialises every match before it replies, so it falls over on a large
owner set — Helius refuses the call once its account-index service is
loaded (-32603, "please use getProgramAccountsV2 with pagination"), and
an owner as large as the upgradeable loader, which owns a loader account
for every program on the cluster, is only readable through the cursor.
A small owner set costs one page here, so V1 bought nothing worth the
footgun of a method that works until the data grows.
filters narrows what comes back; dataSlice narrows how much of each
one does. They are separate because listing loader buffers needs every
match and none of the payload — 28 of them on devnet today, ~5 MB if
fetched whole — so a caller can filter on bytes it never downloads.
The node pages over the scan, not over the results, so a page can come back empty and still carry a cursor. Only a null cursor ends the walk.
Optionalcommitment?: "confirmed" | "finalized" | "processed"OptionaldataSlice?: { length: number; offset: number }Bytes of each account's data to return. length: 0 returns none.
Optionalfilters?: ({ dataSize: number } | { memcmp: { bytes: string; offset: number } })[]Optionalargs: { limit?: number }Signatures for address, newest first.
The RPC only ever walks backwards: before picks the page's starting
point and until is the older signature it stops at. There is no key that
means "newer than X" — an unknown config key is silently ignored by the
node, so a misnamed watermark reads as no watermark and returns the full
history.
Optionalbefore?: stringPage backwards starting from this signature (exclusive).
Optionallimit?: numberOptionaluntil?: stringStop once this already-seen signature is reached (exclusive).
OptionalmaxRetries?: numberOptionalpreflightCommitment?: "confirmed" | "finalized" | "processed"OptionalskipPreflight?: booleanBase64-encoded signed wire transaction
Optionalcommitment?: "confirmed" | "finalized" | "processed"OptionalsigVerify?: booleanBase64-encoded serialized transaction
See
https://github.com/helius-labs/helius-sdk/tree/main