---
title: "Generate signature commitments for inputs of an unsigned transaction"
method: POST
path: "/wallet/generateCommitments"
tags: ["wallet"]
---

# Generate signature commitments for inputs of an unsigned transaction

`POST /wallet/generateCommitments`

## Request body

- GenerateCommitmentsRequest — request to generate commitments to sign a transaction
  - `tx` UnsignedErgoTransaction, required — Unsigned Ergo transaction
    - `id` string, base16 — Base16-encoded transaction id bytes
    - `inputs` ErgoTransactionUnsignedInput[], required — Unsigned inputs of the transaction
      - `boxId` string, base16, required — Base16-encoded transaction box id bytes. Should be 32 bytes long
      - `extension` object
    - `dataInputs` ErgoTransactionDataInput[], required — Data inputs of the transaction
      - `boxId` string, base16, required — Base16-encoded transaction box id bytes. Should be 32 bytes long
    - `outputs` ErgoTransactionOutput[], required — Outputs of the 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
  - `secrets` object — Optionally, external secrets used for signing
    - `dlog` DlogSecret[] — Sequence of secret exponents (DLOG secrets)
    - `dht` DhtSecret[] — Sequence of secret Diffie-Hellman tuple exponents (DHT secrets)
      - `secret` string, required — Hex-encoded big-endian 256-bits secret exponent
      - `g` string, required — Hex-encoded "g" generator for the Diffie-Hellman tuple (secp256k1 curve point)
      - `h` string, required — Hex-encoded "h" generator for the Diffie-Hellman tuple (secp256k1 curve point)
      - `u` string, required — Hex-encoded "u" group element of the Diffie-Hellman tuple (secp256k1 curve point)
      - `v` string, required — Hex-encoded "v" group element of the Diffie-Hellman tuple (secp256k1 curve point)
  - `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`

Transaction-related hints

- 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/revisions/ef97e678f020/schema)
