Cubewire LogoDeveloper
Support
Onboarding
Cubewire Developer Hub Logo
SOC 2 Compliant

Developer documentation and tools for Cubewire's digital wallet infrastructure. Built for developers, by developers.

developers@cubewire.com
TwitterGitHubDiscord

Developer Tools

  • API Documentation
  • API Reference

Resources

  • Documentation

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
© 2026 Cubewire. All rights reserved.
Developer Documentation Portal•Built with ♥ for developers
  1. Cubewire Wallet
  2. Manage Transactions
  3. Sign data

Sign data

Initiate a raw signing workflow. The provided 32-byte hex digest is signed directly using the vault's HSM-protected key. If the organization's policy requires approval, the workflow is held pending until sufficient approvals are collected.

Request Body

FieldTypeRequiredDescription
senderobjectYesSigning sender — identifies the vault to sign with
chainIdnumberYesChain ID for the signing context
datastringYes32-byte hex digest to sign (e.g., 0xabc123...)
userobjectNoUser context for policy evaluation

sender Object

FieldTypeDescription
vaultIdstringVault to sign with

Signing Workflow

  1. Validation — Request is validated against schema
  2. Policy Evaluation — Organization policies are checked for approval requirements
  3. Immediate signature — If no approval required, signature is returned in the response
  4. Pending approval — If policy requires approval, status=PENDING_APPROVAL is returned with a workflowId
  5. Approve / reject — Approvers cast votes via Approve signing request — POST /api/v1/signing/{workflowId}/approve
  6. Completion — Poll Get signing workflow status — GET /api/v1/signing/{workflowId}/status to retrieve the final signature

Response Fields

FieldTypeDescription
signingIdstringSigning request identifier
workflowIdstringTemporal workflow ID — use to poll status or approve/reject
statusstringOne of STARTED, SIGNED, PENDING_APPROVAL, DENIED, EXPIRED, FAILED, CANCELLED
messagestringHuman-readable status message
signaturestringHex signature (0x...) — present when status=SIGNED
messageHashstringHash of the signed data
signerAddressstringVault address that produced the signature
componentsobjectSignature components: r, s, v
approvalRequestIdstringApproval request ID (when PENDING_APPROVAL)
requiredApproversnumberNumber of approvers needed (when PENDING_APPROVAL)

Use Cases

  • Sign arbitrary data payloads for off-chain verification
  • Create signatures for custom authentication schemes
  • Sign raw transaction digests for specialized integrations

Required Permission

transactions:create

On this page

  • Request Body
  • sender Object
  • Signing Workflow
  • Response Fields
  • Use Cases
  • Required Permission
  1. Cubewire Wallet
  2. Manage Transactions
  3. Sign data

Sign data

Initiate a raw signing workflow. The provided 32-byte hex digest is signed directly using the vault's HSM-protected key. If the organization's policy requires approval, the workflow is held pending until sufficient approvals are collected.

Request Body

FieldTypeRequiredDescription
senderobjectYesSigning sender — identifies the vault to sign with
chainIdnumberYesChain ID for the signing context
datastringYes32-byte hex digest to sign (e.g., 0xabc123...)
userobjectNoUser context for policy evaluation

sender Object

FieldTypeDescription
vaultIdstringVault to sign with

Signing Workflow

  1. Validation — Request is validated against schema
  2. Policy Evaluation — Organization policies are checked for approval requirements
  3. Immediate signature — If no approval required, signature is returned in the response
  4. Pending approval — If policy requires approval, status=PENDING_APPROVAL is returned with a workflowId
  5. Approve / reject — Approvers cast votes via Approve signing request — POST /api/v1/signing/{workflowId}/approve
  6. Completion — Poll Get signing workflow status — GET /api/v1/signing/{workflowId}/status to retrieve the final signature

Response Fields

FieldTypeDescription
signingIdstringSigning request identifier
workflowIdstringTemporal workflow ID — use to poll status or approve/reject
statusstringOne of STARTED, SIGNED, PENDING_APPROVAL, DENIED, EXPIRED, FAILED, CANCELLED
messagestringHuman-readable status message
signaturestringHex signature (0x...) — present when status=SIGNED
messageHashstringHash of the signed data
signerAddressstringVault address that produced the signature
componentsobjectSignature components: r, s, v
approvalRequestIdstringApproval request ID (when PENDING_APPROVAL)
requiredApproversnumberNumber of approvers needed (when PENDING_APPROVAL)

Use Cases

  • Sign arbitrary data payloads for off-chain verification
  • Create signatures for custom authentication schemes
  • Sign raw transaction digests for specialized integrations

Required Permission

transactions:create

On this page

  • Request Body
  • sender Object
  • Signing Workflow
  • Response Fields
  • Use Cases
  • Required Permission