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

# Get on-chain state changes caused by a specific transaction

> Retrieves state changes (balance changes, token transfers) caused by a specific transaction.



## OpenAPI

````yaml /openapi-specs/pro-api-v11.yaml get /v2/transactions/{transaction_hash_param}/state-changes
openapi: 3.0.0
info:
  contact:
    email: info@blockscout.com
  title: Blockscout
  version: 11.0.3
servers:
  - url: http://localhost/api
    variables: {}
security: []
tags:
  - name: blocks
  - name: transactions
  - name: addresses
  - name: internal-transactions
  - name: tokens
  - name: token-transfers
  - name: smart-contracts
  - name: config
  - name: main-page
  - name: search
  - name: stats
  - name: csv-export
  - name: account-abstraction
  - name: withdrawals
  - name: advanced-filters
  - name: arbitrum
  - name: legacy
  - name: optimism
  - name: mud
  - name: celo
  - name: scroll
  - name: zilliqa
paths:
  /v2/transactions/{transaction_hash_param}/state-changes:
    get:
      tags:
        - transactions
      summary: Get on-chain state changes caused by a specific transaction
      description: >-
        Retrieves state changes (balance changes, token transfers) caused by a
        specific transaction.
      operationId: BlockScoutWeb.API.V2.TransactionController.state_changes
      parameters:
        - description: Transaction hash in the path
          in: path
          name: transaction_hash_param
          required: true
          schema:
            $ref: '#/components/schemas/FullHash'
        - description: API key for rate limiting or for sensitive endpoints
          in: query
          name: apikey
          required: false
          schema:
            type: string
            x-struct: null
            x-validate: null
        - description: Secret key for getting access to restricted resources
          in: query
          name: key
          required: false
          schema:
            type: string
            x-struct: null
            x-validate: null
        - description: State changes for paging
          in: query
          name: state_changes
          required: false
          schema:
            nullable: true
            type: string
            x-struct: null
            x-validate: null
        - description: >-
            Cumulative number of items to skip for keyset-based pagination of
            state changes
          in: query
          name: items_count
          required: false
          schema:
            minimum: 1
            type: integer
            x-struct: null
            x-validate: null
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                nullable: false
                properties:
                  items:
                    items:
                      $ref: '#/components/schemas/StateChange'
                    nullable: false
                    type: array
                    x-struct: null
                    x-validate: null
                  next_page_params:
                    example:
                      items_count: 50
                      state_changes: null
                    nullable: true
                    type: object
                    x-struct: null
                    x-validate: null
                required:
                  - items
                  - next_page_params
                type: object
                x-struct: null
                x-validate: null
          description: State changes caused by the specified transaction, with pagination.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonErrorResponse'
          description: Unprocessable Entity
      callbacks: {}
components:
  schemas:
    FullHash:
      nullable: false
      pattern: ^0x([A-Fa-f0-9]{64})$
      title: FullHash
      type: string
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.FullHash
      x-validate: null
    StateChange:
      additionalProperties: false
      properties:
        address:
          $ref: '#/components/schemas/Address'
        balance_after:
          $ref: '#/components/schemas/IntegerStringNullable'
        balance_before:
          $ref: '#/components/schemas/IntegerStringNullable'
        change:
          $ref: '#/components/schemas/IntegerStringNullable'
        is_miner:
          type: boolean
          x-struct: null
          x-validate: null
        token:
          allOf:
            - $ref: '#/components/schemas/Token'
          nullable: true
          x-struct: null
          x-validate: null
        token_id:
          $ref: '#/components/schemas/IntegerStringNullable'
        type:
          enum:
            - token
            - coin
          type: string
          x-struct: null
          x-validate: null
      required:
        - address
        - balance_after
        - balance_before
        - change
        - is_miner
        - token
        - type
      title: StateChange
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.Transaction.StateChange
      x-validate: null
    NotFoundResponse:
      description: Response returned when the requested resource is not found
      properties:
        message:
          description: Error message indicating the requested resource was not found
          example: Resource not found
          type: string
          x-struct: null
          x-validate: null
      title: NotFoundResponse
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.ErrorResponses.NotFoundResponse
      x-validate: null
    JsonErrorResponse:
      properties:
        errors:
          items:
            properties:
              detail:
                example: null value where string expected
                type: string
                x-struct: null
                x-validate: null
              source:
                properties:
                  pointer:
                    example: /data/attributes/petName
                    type: string
                    x-struct: null
                    x-validate: null
                required:
                  - pointer
                type: object
                x-struct: null
                x-validate: null
              title:
                example: Invalid value
                type: string
                x-struct: null
                x-validate: null
            required:
              - title
              - source
              - detail
            type: object
            x-struct: null
            x-validate: null
          type: array
          x-struct: null
          x-validate: null
      required:
        - errors
      title: JsonErrorResponse
      type: object
      x-struct: Elixir.OpenApiSpex.JsonErrorResponse
      x-validate: null
    Address:
      additionalProperties: false
      description: Address
      properties:
        ens_domain_name:
          description: ENS domain name associated with the address
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        hash:
          $ref: '#/components/schemas/AddressHash'
        implementations:
          description: Implementations linked with the contract
          items:
            $ref: '#/components/schemas/Implementation'
          type: array
          x-struct: null
          x-validate: null
        is_contract:
          description: Has address contract code?
          nullable: true
          type: boolean
          x-struct: null
          x-validate: null
        is_scam:
          description: Has address scam badge?
          nullable: false
          type: boolean
          x-struct: null
          x-validate: null
        is_verified:
          description: Has address associated source code?
          nullable: true
          type: boolean
          x-struct: null
          x-validate: null
        metadata:
          allOf:
            - $ref: '#/components/schemas/Metadata'
          nullable: true
          x-struct: null
          x-validate: null
        name:
          description: Name associated with the address
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        private_tags:
          description: Private tags associated with the address
          items:
            $ref: '#/components/schemas/Tag'
          type: array
          x-struct: null
          x-validate: null
        proxy_type:
          $ref: '#/components/schemas/ProxyType'
        public_tags:
          description: Public tags associated with the address
          items:
            $ref: '#/components/schemas/Tag'
          type: array
          x-struct: null
          x-validate: null
        reputation:
          description: Reputation of the address
          enum:
            - ok
            - scam
          nullable: false
          type: string
          x-struct: null
          x-validate: null
        watchlist_names:
          description: Watchlist name associated with the address
          items:
            $ref: '#/components/schemas/WatchlistName'
          type: array
          x-struct: null
          x-validate: null
      required:
        - hash
        - is_contract
        - name
        - is_scam
        - reputation
        - proxy_type
        - implementations
        - is_verified
        - ens_domain_name
        - metadata
      title: Address
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.Address
      x-validate: null
    IntegerStringNullable:
      nullable: true
      pattern: ^-?([1-9][0-9]*|0)$
      title: IntegerStringNullable
      type: string
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.IntegerStringNullable
      x-validate: null
    Token:
      additionalProperties: false
      description: Token struct
      properties:
        address_hash:
          $ref: '#/components/schemas/AddressHash'
        bridge_type:
          description: Type of bridge used for this bridged token
          enum:
            - omni
            - amb
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        circulating_market_cap:
          $ref: '#/components/schemas/FloatStringNullable'
        decimals:
          $ref: '#/components/schemas/IntegerStringNullable'
        exchange_rate:
          $ref: '#/components/schemas/FloatStringNullable'
        foreign_address:
          nullable: true
          pattern: ^0x([A-Fa-f0-9]{40})$
          type: string
          x-struct: null
          x-validate: null
        holders_count:
          $ref: '#/components/schemas/IntegerStringNullable'
        icon_url:
          $ref: '#/components/schemas/URLNullable'
        name:
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        origin_chain_id:
          $ref: '#/components/schemas/IntegerStringNullable'
        reputation:
          description: Reputation of the token
          enum:
            - ok
            - scam
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        symbol:
          nullable: true
          type: string
          x-struct: null
          x-validate: null
        total_supply:
          $ref: '#/components/schemas/IntegerStringNullable'
        type:
          allOf:
            - $ref: '#/components/schemas/Type'
          nullable: true
          x-struct: null
          x-validate: null
        volume_24h:
          $ref: '#/components/schemas/FloatStringNullable'
      required:
        - address_hash
        - symbol
        - name
        - decimals
        - type
        - holders_count
        - exchange_rate
        - volume_24h
        - total_supply
        - icon_url
        - circulating_market_cap
        - reputation
      title: Token
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.Token
      x-validate: null
    AddressHash:
      nullable: false
      pattern: ^0x([A-Fa-f0-9]{40})$
      title: AddressHash
      type: string
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.AddressHash
      x-validate: null
    Implementation:
      additionalProperties: false
      description: Proxy smart contract implementation
      properties:
        address_hash:
          $ref: '#/components/schemas/AddressHash'
        name:
          nullable: true
          type: string
          x-struct: null
          x-validate: null
      required:
        - address_hash
        - name
      title: Implementation
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.Implementation
      x-validate: null
    Metadata:
      additionalProperties: false
      description: Metadata struct
      properties:
        tags:
          description: Metadata tags linked with the address
          items:
            $ref: '#/components/schemas/MetadataTag'
          type: array
          x-struct: null
          x-validate: null
      required:
        - tags
      title: Metadata
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.Proxy.Metadata
      x-validate: null
    Tag:
      additionalProperties: false
      description: Address tag struct
      properties:
        address_hash:
          $ref: '#/components/schemas/AddressHash'
        display_name:
          nullable: false
          type: string
          x-struct: null
          x-validate: null
        label:
          nullable: false
          type: string
          x-struct: null
          x-validate: null
      required:
        - address_hash
        - display_name
        - label
      title: Tag
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.Tag
      x-validate: null
    ProxyType:
      enum:
        - eip1167
        - eip1967
        - eip1822
        - eip1967_oz
        - eip1967_beacon
        - master_copy
        - basic_implementation
        - basic_get_implementation
        - comptroller
        - eip2535
        - clone_with_immutable_arguments
        - eip7702
        - resolved_delegate_proxy
        - erc7760
      nullable: true
      title: ProxyType
      type: string
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.ProxyType
      x-validate: null
    WatchlistName:
      additionalProperties: false
      description: Watchlist name struct
      properties:
        display_name:
          nullable: false
          type: string
          x-struct: null
          x-validate: null
        label:
          nullable: false
          type: string
          x-struct: null
          x-validate: null
      required:
        - display_name
        - label
      title: WatchlistName
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.WatchlistName
      x-validate: null
    FloatStringNullable:
      nullable: true
      pattern: ^([1-9][0-9]*|0)(\.[0-9]+)?$
      title: FloatStringNullable
      type: string
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.FloatStringNullable
      x-validate: null
    URLNullable:
      example: https://example.com
      format: uri
      nullable: true
      title: URLNullable
      type: string
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.General.URLNullable
      x-validate: null
    Type:
      enum:
        - ERC-20
        - ERC-721
        - ERC-1155
        - ERC-404
        - ERC-7984
      title: Type
      type: string
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.Token.Type
      x-validate: null
    MetadataTag:
      additionalProperties: false
      description: Metadata tag struct
      properties:
        meta:
          nullable: false
          type: object
          x-struct: null
          x-validate: null
        name:
          nullable: false
          type: string
          x-struct: null
          x-validate: null
        ordinal:
          nullable: false
          type: integer
          x-struct: null
          x-validate: null
        slug:
          nullable: false
          type: string
          x-struct: null
          x-validate: null
        tagType:
          nullable: false
          type: string
          x-struct: null
          x-validate: null
      required:
        - slug
        - name
        - tagType
        - ordinal
        - meta
      title: MetadataTag
      type: object
      x-struct: Elixir.BlockScoutWeb.Schemas.API.V2.Proxy.MetadataTag
      x-validate: null

````