---
title: "Get pending transactions to sign"
method: POST
path: "/v3/kms/pending/{chain}"
tags: ["Key Management System"]
---

# Get pending transactions to sign

`POST /v3/kms/pending/{chain}`

## Request

- Base URL: `https://api.tatum.io`
- URL: `https://api.tatum.io/v3/kms/pending/{chain}`
- Auth: API key in header `x-api-key`

/v3/kms/pending/{chain}

**1 credit for every 500 signature IDs per API call**

Get the list of pending transactions to sign and broadcast using [KMS](https://github.com/tatumio/tatum-kms).

**NOTE:** This API works only in KMS v5.0 or later. If you use KMS older than v5.0, use [this API](#operation/GetPendingTransactionsToSign) instead.

## Path parameters

- `chain` 'ADA' | 'BNB' | 'BTC' | 'ETH' | 'XLM' | 'XRP' | 'BCH' | 'LTC' | 'DOGE' | 'VET' | 'BSC' | 'MATIC' | 'CELO' | 'TRON' | 'ONE' | 'XDC' | 'EGLD' | 'KLAY' | 'SOL', required

## Request body

- KmsSignatureIds
  - `signatureIds` string[]: List of the signature Ids to be used to sign transactions.

## Response `200`

OK

- PendingTransaction[]
  - `id` string, required: ID of the pending transaction
  - `chain` 'BNB' | 'BTC' | 'ETH' | 'XLM' | 'XRP' | 'BCH' | 'LTC' | 'DOGE' | 'VET' | 'BSC' | 'MATIC' | 'CELO' | 'TRON' | 'ONE' | 'XDC' | 'EGLD' | 'KLAY' | 'SOL' | 'ADA', required: Blockchain of the transaction
  - `hashes` string[], required: List of the signature Ids to be used to sign transaction. Those hashes should be in order of signing for the BTC, LTC or BCH blockchains.
  - `serializedTransaction` string, required: Serialized data of the transaction to be signed. It can be JSON, HEX or any other representation based on the blockchain.
  - `withdrawalId` string: ID of the pending off-chain withdrawal connected to this transaction
  - `index` number: In case of mnemonic type of signature Id, this is the index to the specific account that should be used for signature.
  - `txId` string: TX hash of successful transaction.
  - `withdrawalResponses` ResponseData[]: Additional information used for BTC, LTC, DOGE and BCH off-chain to blockchain transactions.
    - `address` object
      - `address` string, required: Blockchain address.
      - `currency` string, required: Currency of generated address. BTC, LTC, DOGE, BCH, ETH, XRP, XLM, TRX, ERC20, TRC20.
      - `derivationKey` integer: Derivation key index for given address.
      - `xpub` string: Extended public key to derive address from. In case of XRP, this is account address, since address is defined as DestinationTag, which is address field. In case of XLM, this is account address, since address is defined as message, which is address field.
      - `destinationTag` number: In case of XRP, destinationTag is the distinguisher of the account.
      - `memo` string: In case of BNB, message is the distinguisher of the account.
      - `message` string: In case of XLM, message is the distinguisher of the account.
    - `amount` number: Amount of unprocessed transaction outputs, that can be used for withdrawal. Bitcoin, Litecoin, Bitcoin Cash only.
    - `vIn` string: Last used unprocessed transaction output, that can be used. Bitcoin, Litecoin, Bitcoin Cash only. If -1, it indicates prepared vOut with amount to be transferred to pool address.
    - `vInIndex` integer: Index of last used unprocessed transaction output in raw transaction, that can be used. Bitcoin, Litecoin, Bitcoin Cash only.
    - `scriptPubKey` string: Script of last unprocessed UTXO. Bitcoin SV only.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403`: Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `500`: Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.dev/tatum/apis/security.md) - [All operations](https://skmtc.dev/tatum/apis/security/llms.txt) - [OpenAPI document](https://skmtc.dev/tatum/apis/security/revisions/a30eba7a3fa5?raw)
