---
title: "Checks an Ergo transaction without sending it over the network. Checks that transaction is valid and its inputs are in the UTXO set. Returns transaction identifier if the transaction is passing the checks."
method: POST
path: "/transactions/check"
tags: ["transactions"]
---

# Checks an Ergo transaction without sending it over the network. Checks that transaction is valid and its inputs are in the UTXO set. Returns transaction identifier if the transaction is passing the checks.

`POST /transactions/check`

## Request body

- ErgoTransaction — ErgoTransaction is an atomic operation which changes UTXO state.
  - `id` string, base16 — Base16-encoded transaction id bytes
  - `inputs` ErgoTransactionInput[], required — Inputs, that will be spent by this transaction
    - `boxId` string, base16, required — Base16-encoded transaction box id bytes. Should be 32 bytes long
    - `spendingProof` SpendingProof, required — Spending proof for transaction input
      - `proofBytes` string, base16, required — Base16-encoded spending proofs
      - `extension` object, required — Variables to be put into context
  - `dataInputs` ErgoTransactionDataInput[], required — Read-only inputs, that are not going to be spent by transaction.
    - `boxId` string, base16, required — Base16-encoded transaction box id bytes. Should be 32 bytes long
  - `outputs` ErgoTransactionOutput[], required — Outputs of the transaction, i.e. box candidates to be created by this transaction.
    - `boxId` string, base16 — Base16-encoded transaction box id bytes. Should be 32 bytes long
    - `value` integer, required — Amount of Ergo token
    - `ergoTree` string, base16, required — Base16-encoded ergo tree bytes
    - `creationHeight` integer, required — Height the output was created at
    - `assets` Asset[] — Assets list in the transaction
      - `tokenId` string, base16, required — Base16-encoded 32 byte digest
      - `amount` integer, required — Amount of the token
    - `additionalRegisters` Registers, required — Ergo box registers
    - `transactionId` string, base16 — Base16-encoded transaction id bytes
    - `index` integer — Index in the transaction outputs
  - `size` integer — Size of ErgoTransaction in bytes

## Response `200`

JSON with ID of the new transaction

- string, base16 — Base16-encoded transaction id bytes

## Other responses

- `default` — Error

---

[API](https://skmtc.dev/ergoplatform/apis/ergo-node-api.md) · [All operations](https://skmtc.dev/ergoplatform/apis/ergo-node-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ergoplatform/ergo-node-api/revisions/fb8d02ee5bf6/schema)
