---
title: "Create a signature share for a transaction on a transaction request"
method: POST
path: "/api/v2/wallet/{walletId}/txrequests/{id}/transactions/{transactionIdx}/signatureshares"
tags: ["Transaction request"]
---

# Create a signature share for a transaction on a transaction request

`POST /api/v2/wallet/{walletId}/txrequests/{id}/transactions/{transactionIdx}/signatureshares`

## Request

- Base URL: `https://developers.bitgo.com`
- URL: `https://developers.bitgo.com/api/v2/wallet/{walletId}/txrequests/{id}/transactions/{transactionIdx}/signatureshares`
- Auth: none declared

Allows users to supply their signature share for signing.

This route is only valid for transaction request full. Use only with MPC wallets.

## Path parameters

- `walletId` string, required
- `id` string, required
- `transactionIdx` string, required

## Request body

- CreateSignatureShareRequest
  - `signatureShare` SignatureShare
    - `from` 'user' | 'backup' | 'bitgo', required
    - `to` 'user' | 'backup' | 'bitgo', required
    - `share` string, required: The signature share.
  - `signatureShares` SignatureShare[]: User-provided shares to be used in the ECDSA or EDDSA MPC signing flow.
    - `from` 'user' | 'backup' | 'bitgo', required
    - `to` 'user' | 'backup' | 'bitgo', required
    - `share` string, required: The signature share.
  - `signerShare` string: An openPGP ascii armored message (encrypted to the known HSM public key) containing the previous signer’s offset secret share as a 128 character hex string (64 bytes) consisting of the new offset “u” private component from the user [or backup] new offset Y-share as a 64 character hex string (32 bytes) concatenated with the new offset “chaincode” component of the new offset Y-share as a 64 character hex string (32 bytes). Must be provided when uploading an R share.
  - `userPublicGpgKey` string: User’s public key of the gpg key.
  - `attestation` object: WebAuthn assertion authorizing this request.
    - `signature` string: WebAuthn assertion signature (base64url)
    - `credentialId` string: Passkey credential ID used to locate the registered authenticator public key
    - `clientDataJSON` string: WebAuthn clientDataJSON (base64url)
    - `authenticatorData` string: WebAuthn authenticatorData (base64url)

## Response `201`

Created

- SignatureShare
  - `from` 'user' | 'backup' | 'bitgo', required
  - `to` 'user' | 'backup' | 'bitgo', required
  - `share` string, required: The signature share.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

## Changes

> 57 revisions in range; 1 not diffed.

- **2026-10-23** `e1cf2375496a`: 1 info
  - added the new optional request property `attestation`

[Operation history](https://skmtc.dev/bitgo/apis/bitgo-api/changes/api/v2/wallet/:walletId/txrequests/:id/transactions/:transactionIdx/signatureshares/post.md)

---

[API](https://skmtc.dev/bitgo/apis/bitgo-api.md) - [All operations](https://skmtc.dev/bitgo/apis/bitgo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bitgo/apis/bitgo-api/revisions/6b6e050a7f84?raw)
