---
title: "Extract hints from a transaction"
method: POST
path: "/wallet/extractHints"
tags: ["wallet"]
---

# Extract hints from a transaction

`POST /wallet/extractHints`

## Request body

- HintExtractionRequest — request to extract prover hints from a transaction
  - `tx` ErgoTransaction, required — 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
  - `real` SigmaBoolean[], required — Real signers of the transaction
    - `op` integer, required — Sigma opCode
    - `h` string, base16 — Base16-encoded bytes
    - `g` string, base16 — Base16-encoded bytes
    - `u` string, base16 — Base16-encoded bytes
    - `v` string, base16 — Base16-encoded bytes
    - `condition` boolean
  - `simulated` SigmaBoolean[], required — Simulated signers of the transaction
    - `op` integer, required — Sigma opCode
    - `h` string, base16 — Base16-encoded bytes
    - `g` string, base16 — Base16-encoded bytes
    - `u` string, base16 — Base16-encoded bytes
    - `v` string, base16 — Base16-encoded bytes
    - `condition` boolean
  - `inputsRaw` string[] — Optional list of inputs to be used in serialized form
  - `dataInputsRaw` string[] — Optional list of inputs to be used in serialized form

## Response `200`

Hints for the transaction

- TransactionHintsBag — prover hints extracted from a transaction
  - `secretHints` InputHints[] — Hints which contain secrets, do not share them!
  - `publicHints` InputHints[] — Hints which contain public data only, share them freely!

## Other responses

- `400` — Error
- `default` — Error

---

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