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

> Evaluate Cardano transaction redeemers to calculate execution units and fees for Plutus smart contract transactions.

# Evaluate redeemers of a transaction



## OpenAPI

````yaml cardano/blockchain-indexer-api/openapi.json post /transactions/evaluate
openapi: 3.0.3
info:
  title: Cardano - Blockchain Indexer API
  description: Core indexer endpoints dedicated to Cardano.
  contact:
    name: Maestro Blockchain Inc.
    url: https://gomaestro.org/
    email: info@gomaestro.org
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.txt
  version: v1.8.0
servers:
  - url: https://mainnet.gomaestro-api.org/v1
    description: Cardano Mainnet
  - url: https://preprod.gomaestro-api.org/v1
    description: Cardano Preprod
  - url: https://preview.gomaestro-api.org/v1
    description: Cardano Preview
security:
  - api-key: []
tags:
  - name: Maestro
paths:
  /transactions/evaluate:
    post:
      tags:
        - Transactions
      summary: Evaluate redeemers of a transaction
      description: >-
        Executes the redeemers of a transaction in order to compute how many
        execution units are needed for each, without submitting the transaction
        to the chain and without requiring the transaction to be fully-valid.


        Useful during transaction building to compute what budget should be used
        for each redeemer.


        Note that all transaction inputs and reference inputs must be able to be
        resolved (we must be able to find the contents of that UTxO by finding
        the UTxO on-chain) in order to evaluate the transaction. If your
        transaction contains any inputs which may not be found on-chain at the
        time of evaluation, for example if you are transaction chaining, then
        you must pass in these inputs and their corresponding transaction output
        bytes as additional UTxOs.
      operationId: evaluate_redeemers
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EvaluateRequest'
            examples:
              With Additional UTxOs:
                summary: Transaction evaluation request with additional input UTxOs
                value:
                  cbor: >-
                    84a80084825820649748a242393deac81d6f88a2b7edfec28b...946693a204c50204f726465722050726f63657373
                  additional_utxos:
                    - tx_hash: >-
                        649748a242393deac81d6f88a2b7edfec28b1966d1d88b7f0a36e2d8c60ef9e9
                      index: 0
                      txout_cbor: >-
                        83581d713422c13d5a97e68fe725d3d740b7f96cb315e3b44d03a2be28863beb821a0ae72e72a1581c804f5544c1962a40546827cab750a88404dc7108c0f588b72964754fa144565946491a0e9b3eda58205b90f5d273e2d7f7db45dc4f0efdcfe7536250a9abf18dee57abee9c798944c7
              Without Additional UTxOs:
                summary: Transaction evaluation request without additional UTxOs
                value:
                  cbor: >-
                    84a80084825820649748a242393deac81d6f88a2b...8176567946693a204c50204f726465722050726f63657373
        required: true
      responses:
        '200':
          description: Details of executed redeemers
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EvaluatedRedeemer'
              example:
                - redeemer_tag: spend
                  redeemer_index: 0
                  ex_units:
                    mem: 426418
                    steps: 125361025
                - redeemer_tag: spend
                  redeemer_index: 1
                  ex_units:
                    mem: 385832
                    steps: 113607371
                - redeemer_tag: mint
                  redeemer_index: 0
                  ex_units:
                    mem: 388722
                    steps: 111814261
        '400':
          description: Malformed query parameters
        '404':
          description: No results found
        '500':
          description: Internal server error
components:
  schemas:
    EvaluateRequest:
      type: object
      required:
        - cbor
      properties:
        additional_utxos:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalUtxo'
          nullable: true
        cbor:
          type: string
          description: Transaction CBOR
    EvaluatedRedeemer:
      type: object
      description: >-
        Identifier of an evaluated redeemer and the execution units required to
        execute it
      required:
        - redeemer_tag
        - redeemer_index
        - ex_units
      properties:
        ex_units:
          $ref: '#/components/schemas/ExUnits'
        redeemer_index:
          type: integer
          description: Index for the redeemer tag (which input, policy, etc)
          minimum: 0
        redeemer_tag:
          $ref: '#/components/schemas/RedeemerTag'
    AdditionalUtxo:
      type: object
      description: >-
        UTxO which may not exist on-chain yet but is used in the transaction
        inputs or reference inputs
      required:
        - tx_hash
        - index
        - txout_cbor
      properties:
        index:
          type: integer
          format: int64
          description: UTxO transaction index
          minimum: 0
        tx_hash:
          type: string
          description: UTxO transaction hash
        txout_cbor:
          type: string
          description: CBOR encoding of the UTxO
    ExUnits:
      type: object
      description: Execution unit budget for executing a redeemer
      required:
        - mem
        - steps
      properties:
        mem:
          type: integer
          format: int64
          minimum: 0
        steps:
          type: integer
          format: int64
          minimum: 0
    RedeemerTag:
      type: string
      description: Redeemer tag
      enum:
        - spend
        - mint
        - cert
        - wdrl
        - vote
        - propose
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: api-key
      description: Project API Key

````