getTokenAccountsByOwner (Solana JSON-RPC)on-chain program
The primary read: for a pasted wallet it returns each token account already parsed into delegate and delegatedAmount fields, so Revokepad can list approvals without decoding raw bytes itself.
www.helius.dev/docs/api-reference/rpc/http/gettokenaccountsbyownerSPL Token programon-chain program
Source of the per-account delegate and delegatedAmount state, and of the TokenInstruction::Revoke (discriminator 5) that clears them — the instruction Revokepad builds for classic accounts.
github.com/solana-program/tokenToken-2022 programon-chain program
A second program ID that must be scanned separately, because approvals on Token-2022 accounts are invisible to a classic-only scan.
solana.com/docs/tokens/extensions/permanent-delegateToken-2022 PermanentDelegate extensionSDK
Read at the mint and surfaced as a distinct, non-revocable risk flag so users are not told a Revoke they can sign will help — because for this one it cannot.
solana.com/docs/tokens/extensions/permanent-delegate@solana-program/token (0.13.0, Apache-2.0)on-chain program
Builds getRevokeInstruction and getApproveCheckedInstruction so the revoke transaction is constructed from the canonical client rather than hand-rolled instruction data.
www.npmjs.com/package/@solana-program/token@solana/spl-tokenSDK
Fallback/legacy path for building Revoke instructions and for compatibility with existing @solana/web3.js Connection code.
solana-labs.github.io/solana-program-library/token/js/functions/create@solana/kit (6.9.0)SDK
RPC client plus transaction build/sign/send plumbing for the read side and the revoke transaction.
www.npmjs.com/package/@solana/kit@solana/web3.jsSDK
Compatibility layer documented alongside every SPL Token revoke example; used where the app needs the older Connection API.
solana.com/docs/tokens/basics/revoke-delegate@solana/wallet-adapter-react (+ react-ui)SDK
Lets the user connect and sign the revoke transaction in their own wallet; Revokepad never holds keys and the scan works on a pasted address with no connection at all.
www.npmjs.com/package/@solana/wallet-adapter-reactsimulateTransactionRPC method
Preflights the multi-revoke transaction before the user signs, so a bad instruction is caught and the real compute/fee is shown. Documented example returns fee: 5000.
solana.com/docs/rpc/http/simulatetransactiongetFeeForMessageRPC method
Produces the exact base cost of the revoke message (5000 lamports in the docs example), which is the honest core of the 'what clearing costs' figure.
solana.com/docs/rpc/http/getfeeformessagegetRecentPrioritizationFeesRPC method
Adds a current priority-fee estimate on top of the base fee so the quoted clearing cost reflects mainnet congestion rather than a stale number.
solana.com/docs/rpcHelius DAS getTokenAccountsRPC method
Fast path for wallets with very large token-account counts, avoiding paginated loop-chatter on base RPC.
www.helius.dev/docs/api-reference/das/gettokenaccountsgetAccountInfo (jsonParsed) on the mintSDK
Reads the mint's extension TLV to detect PermanentDelegate and other mint-level authorities that a token-account Revoke cannot touch.
www.helius.dev/docs/rpc/http/get-accountsgetSignaturesForAddress / getParsedTransactionRPC method
Optional provenance pass that dates an approval and attributes it to the dApp that requested it, so the ranking can consider age.
solana.com/docs/rpcgetLatestBlockhashRPC method
Stamps the revoke transaction with a fresh, unexpired blockhash so it lands on the first attempt.
solana.com/docs/rpc