gRPC restrictions
Which programs are blocked in accounts.owner and transactions.account_include on shared gRPC plans, what is still allowed, and how to have a specific program unblocked for your account.
// updated 2026-08-26
What is not available on shared gRPC plans (FOCUS, BUILD, GROW, PROFESSIONAL), why, and what to do instead.
Blocked programs
A handful of programs touch such a large share of Solana traffic that subscribing to them on shared infrastructure would drown out other tenants. They are rejected by the node, per field.
| Program | Address | In accounts.owner | In transactions.account_include |
|---|---|---|---|
| System Program | 11111111111111111111111111111111 | blocked | blocked |
| Compute Budget | ComputeBudget111111111111111111111111111111 | blocked | blocked |
| Associated Token Account | ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL | blocked | blocked |
| Token Program | TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA | blocked | allowed |
| Token-2022 | TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb | allowed | allowed |
Everything not in this table is allowed. The rejection looks like this, with code InvalidArgument:
accounts filter: owner 11111111111111111111111111111111 is not allowed
The Token Program is only blocked as an owner. accounts.owner on the Token Program fans out to every token account on Solana, which is why it is closed. Naming the same program in transactions.account_include matches a bounded set of transactions and works normally.
Need one of these? Ask us and we will open it. The list is a default, not a policy - if a blocked program is central to what you are building, message @supanode_tgs and tell us which program and roughly what volume you expect. We lift it for your account, or move you to a Dedicated Node if the volume warrants it.
Working around a blocked program
- Filter by account instead of by owner. If you know which accounts you care about, list them in
accounts.account- there is no restriction on which accounts you name, only on the total count your plan allows. - Use the transaction filter. For the Token Program,
transactions.account_includeis open and usually closer to what you actually want. - Ask for it to be unblocked, as above.
- Move to a Dedicated Node if you genuinely need a firehose-scale owner subscription.
Subscription types not supported on shared plans
- Unfiltered block streaming -
blockswith an emptyaccount_includeis rejected on shared plans below PROFESSIONAL:blocks filter: subscription with empty account_include is not allowed. Included in the PROFESSIONAL tier; see Unfiltered block streaming. - Replay (
from_slot) - historical replay is not available on shared plans. Dedicated Nodes only. - Custom filter extensions - only standard Yellowstone filters are supported.
Other constraints
- Block reconstruction - the
entriescount in blocks is always 0. This is a Yellowstone-wide limitation, not specific to Supanode.
What you can do instead
- For replay needs - use RPC
getSignaturesForAddressfor historical lookups, or the Indexer for decoded history in SQL. - For full blocks - Unfiltered block streaming on PROFESSIONAL.
See also
- Limits - what is allowed but capped, and how to lay addresses out
- What's not allowed - global restrictions across all products