> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quantumapi.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get signing payload

> Returns the Keccak256 hash that must be signed with your post-quantum key.
Only available when the transaction is in PENDING_SIGNATURE state.




## OpenAPI

````yaml GET /transactions/{id}/signing_payload
openapi: 3.1.0
info:
  title: Qustody API
  description: >
    Non-custodial custody and orchestration API for Quantum Chain (post-quantum
    blockchain).

    Provides Fireblocks-like operating model for institutional integrators:

    multi-tenant vault/wallet management, transaction lifecycle with policy
    enforcement,

    external (callback-based) signing, webhook-driven event delivery, and full
    audit trail.
  version: 1.0.0
  contact:
    name: Quantum Chain Platform Team
  license:
    name: LGPL-3.0-or-later
servers:
  - url: '{baseUrl}/v1'
    description: Qustody API
    variables:
      baseUrl:
        default: https://api.qustody.io
security:
  - BearerAPIKey: []
tags:
  - name: health
    description: Liveness and readiness probes
  - name: tenants
    description: Tenant (integrator) management
  - name: vaults
    description: Vault (logical wallet grouping) management
  - name: wallets
    description: Wallet (on-chain address) registration and lookup
  - name: transactions
    description: Transaction lifecycle – create, sign, approve, reject, query
  - name: assets
    description: Supported asset registry
  - name: webhooks
    description: Webhook endpoint management
  - name: sso
    description: Single Sign-On (OIDC and SAML) authentication
  - name: tokens
    description: Token Management — Beta / Proposed.
paths:
  /transactions/{id}/signing_payload:
    get:
      tags:
        - transactions
      summary: Retrieve the signing payload for external signing
      description: >
        Returns the Keccak256 hash that must be signed with your post-quantum
        key.

        Only available when the transaction is in PENDING_SIGNATURE state.
      operationId: getSigningPayload
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Signing payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SigningPayload'
        '409':
          description: Transaction not in signable state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    SigningPayload:
      type: object
      required:
        - transactionId
        - signingHash
        - status
      properties:
        transactionId:
          type: string
          format: uuid
        signingHash:
          type: string
          description: >-
            Hex-encoded 32-byte Keccak256 digest to sign with your post-quantum
            key
        status:
          type: string
        sourceAddress:
          type: string
        destinationAddress:
          type: string
        amount:
          type: string
        assetId:
          type: string
          format: uuid
    Error:
      type: object
      required:
        - code
        - numericCode
        - message
      properties:
        code:
          type: string
          example: INVALID_REQUEST
        numericCode:
          type: integer
          description: Machine-readable numeric error code (Fireblocks-compatible)
          example: 1100
        message:
          type: string
          example: 'missing required field: name'
        details:
          type: object
  securitySchemes:
    BearerAPIKey:
      type: http
      scheme: bearer
      description: 'API key authentication. Format: `Bearer {key_id}:{secret}`'

````