Inspect an SPL token delegate’s remaining allowance

A service authorized to spend tokens can lose that permission while the wallet balance stays unchanged. Inspect the per-account delegation when a previously working transfer starts failing.

Search by the authorized delegate and mint

Supply the service’s delegate address first and the mint address in the filter. Read account.data.parsed.info in each row. Compare its owner, delegate and delegatedAmount with the source token account that the transfer instruction actually references.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getTokenAccountsByDelegate",
  "params": [
    "DELEGATE_PUBLIC_KEY",
    {
      "mint": "MINT_PUBLIC_KEY"
    },
    {
      "encoding": "jsonParsed",
      "commitment": "finalized"
    }
  ]
}

Bound the transferable quantity per account

For a conventional unfrozen token account with 900 raw units and a remaining delegation of 250, a delegated transfer of 300 exceeds the allowance even though the balance is sufficient. A second account with its own allowance cannot expand the authorization on the first.

Save the account key and response slot with the observation. Revocation or a concurrent transfer may change the allowance before execution. Token extensions or a frozen state can impose additional restrictions.

Documentation