> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# wallet/scanshieldedtrc20notesbyivk | TRON

> TRON API method that scans for shielded TRC20 notes using an incoming viewing key (ivk). wallet/scanshieldedtrc20notesbyivk on TRON via Chainstack.

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.

<Warning>
  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`.
</Warning>

## 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

<Info>
  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.
</Info>

## curl example

```shell Shell theme={"system"}
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"
  }'
```


## OpenAPI

````yaml openapi/tron_node_api/shielded_scanshieldedtrc20notesbyivk.json post /95e61622bf6a8af293978377718e3b77/wallet/scanshieldedtrc20notesbyivk
openapi: 3.0.0
info:
  title: wallet/scanshieldedtrc20notesbyivk TRON API
  version: 1.0.0
  description: Scan for shielded TRC20 notes using incoming viewing key
servers:
  - url: https://tron-mainnet.core.chainstack.com
security: []
paths:
  /95e61622bf6a8af293978377718e3b77/wallet/scanshieldedtrc20notesbyivk:
    post:
      tags:
        - Shielded Contract Methods
      summary: wallet/scanshieldedtrc20notesbyivk
      operationId: scanShieldedTRC20NotesByIvk
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - start_block_index
                - end_block_index
                - ivk
                - ak
                - nk
                - shielded_TRC20_contract_address
              properties:
                start_block_index:
                  type: integer
                  description: Starting block number for scanning
                  example: 10000000
                end_block_index:
                  type: integer
                  description: Ending block number for scanning
                  example: 10000001
                ivk:
                  type: string
                  description: >-
                    Incoming viewing key for decrypting notes (64 hex
                    characters, no 0x prefix)
                  example: >-
                    9f8e74bb3d7188a2781dc1db38810c6914eef4570a79e8ec8404480948e4e305
                ak:
                  type: string
                  description: >-
                    Authentication key for verification (64 hex characters, no
                    0x prefix)
                  example: >-
                    8072d9110c9de9d9ade33d5d0f5890a7aa65b0cde42af7816d187297caf2fd64
                nk:
                  type: string
                  description: >-
                    Nullifier key for note identification (64 hex characters, no
                    0x prefix)
                  example: >-
                    590bf33f93f792be659fd404df91e75c3b08d38d4e08ee226c3f5219cf598f14
                shielded_TRC20_contract_address:
                  type: string
                  description: >-
                    Shielded TRC20 contract address to scan (hex format, no 0x
                    prefix)
                  example: 41274fc7464fadac5c00c893c58bce6c39bf59e4c7
      responses:
        '200':
          description: Successfully scanned for shielded notes
          content:
            application/json:
              schema:
                type: object
                properties:
                  noteTxs:
                    type: array
                    description: Array of found shielded note transactions
                    items:
                      type: object
                      properties:
                        txid:
                          type: string
                          description: Transaction ID containing the note
                        index:
                          type: integer
                          description: Index of note within transaction
                        note:
                          type: object
                          description: Decrypted note details
                          properties:
                            value:
                              type: integer
                              description: Note value
                            payment_address:
                              type: string
                              description: Shielded payment address
                            rcm:
                              type: string
                              description: Randomness commitment
                            memo:
                              type: string
                              description: Optional memo field
                        position:
                          type: integer
                          description: Position in the merkle tree
                        is_spent:
                          type: boolean
                          description: Whether the note has been spent

````