Skip to main content
POST
/
95e61622bf6a8af293978377718e3b77
/
wallet
/
scanshieldedtrc20notesbyivk
wallet/scanshieldedtrc20notesbyivk
curl --request POST \
  --url https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/wallet/scanshieldedtrc20notesbyivk \
  --header 'Content-Type: application/json' \
  --data '{
  "start_block_index": 10000000,
  "end_block_index": 10000001,
  "ivk": "9f8e74bb3d7188a2781dc1db38810c6914eef4570a79e8ec8404480948e4e305",
  "ak": "8072d9110c9de9d9ade33d5d0f5890a7aa65b0cde42af7816d187297caf2fd64",
  "nk": "590bf33f93f792be659fd404df91e75c3b08d38d4e08ee226c3f5219cf598f14",
  "shielded_TRC20_contract_address": "41274fc7464fadac5c00c893c58bce6c39bf59e4c7"
}'
{
  "noteTxs": [
    {
      "txid": "<string>",
      "index": 123,
      "note": {
        "value": 123,
        "payment_address": "<string>",
        "rcm": "<string>",
        "memo": "<string>"
      },
      "position": 123,
      "is_spent": true
    }
  ]
}
TRON API method that scans for shielded TRC20 notes using an incoming viewing key (ivk). This method allows users to detect incoming shielded transactions without revealing their spending keys or compromising privacy.
Get you own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
All hex values (ivk, ak, nk) must be provided without the 0x prefix and must be exactly 64 hexadecimal characters (32 bytes). The shielded_TRC20_contract_address must be in hex format (starting with 41), not base58 format. There is a block range limit: (end_block_index - start_block_index) <= 1000.

Parameters

  • start_block_index — the starting block number for scanning (inclusive)
  • end_block_index — the ending block number for scanning (exclusive, max 1000 blocks from start)
  • ivk — the incoming viewing key for decrypting notes (64 hex characters, no 0x prefix)
  • ak — the authentication key for verification (64 hex characters, no 0x prefix)
  • nk — the nullifier key for note identification (64 hex characters, no 0x prefix)
  • shielded_TRC20_contract_address — the shielded TRC20 contract address to scan (hex format starting with 41, no 0x prefix)

Response

  • noteTxs — array of found shielded note transactions
    • txid — transaction ID containing the note
    • index — index of the note within the transaction
    • note — the decrypted note details
      • value — note value
      • payment_address — shielded payment address
      • rcm — randomness commitment
      • memo — optional memo field
    • position — position in the merkle tree
    • is_spent — whether the note has been spent

Use case

The wallet/scanshieldedtrc20notesbyivk method is used for:
  • Scanning the blockchain for incoming shielded TRC20 payments
  • Detecting received transactions without compromising sender privacy
  • Building wallet interfaces that show shielded transaction history
  • Monitoring shielded contract activity for specific addresses
The incoming viewing key (ivk) is generated from the authentication key (ak) and nullifier key (nk) using a BLAKE2s hash. This key hierarchy allows recipients to view shielded transactions they receive without exposing their spending keys.

curl example

Shell
curl --request POST \
  --url 'https://tron-mainnet.core.chainstack.com/95e61622bf6a8af293978377718e3b77/wallet/scanshieldedtrc20notesbyivk' \
  --header 'Content-Type: application/json' \
  --data '{
    "start_block_index": 10000000,
    "end_block_index": 10000001,
    "ivk": "9f8e74bb3d7188a2781dc1db38810c6914eef4570a79e8ec8404480948e4e305",
    "ak": "8072d9110c9de9d9ade33d5d0f5890a7aa65b0cde42af7816d187297caf2fd64",
    "nk": "590bf33f93f792be659fd404df91e75c3b08d38d4e08ee226c3f5219cf598f14",
    "shielded_TRC20_contract_address": "41274fc7464fadac5c00c893c58bce6c39bf59e4c7"
  }'

Body

application/json
start_block_index
integer
required

Starting block number for scanning

Example:

10000000

end_block_index
integer
required

Ending block number for scanning

Example:

10000001

ivk
string
required

Incoming viewing key for decrypting notes (64 hex characters, no 0x prefix)

Example:

"9f8e74bb3d7188a2781dc1db38810c6914eef4570a79e8ec8404480948e4e305"

ak
string
required

Authentication key for verification (64 hex characters, no 0x prefix)

Example:

"8072d9110c9de9d9ade33d5d0f5890a7aa65b0cde42af7816d187297caf2fd64"

nk
string
required

Nullifier key for note identification (64 hex characters, no 0x prefix)

Example:

"590bf33f93f792be659fd404df91e75c3b08d38d4e08ee226c3f5219cf598f14"

shielded_TRC20_contract_address
string
required

Shielded TRC20 contract address to scan (hex format, no 0x prefix)

Example:

"41274fc7464fadac5c00c893c58bce6c39bf59e4c7"

Response

200 - application/json

Successfully scanned for shielded notes

noteTxs
object[]

Array of found shielded note transactions