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
| Field | Type | Required | Description |
|---|
sender | object | Yes | Signing sender — identifies the vault to sign with |
chainId | number | Yes | Chain ID for the signing context |
data | string | Yes | 32-byte hex digest to sign (e.g., 0xabc123...) |
user | object | No | User context for policy evaluation |
sender Object
| Field | Type | Description |
|---|
vaultId | string | Vault to sign with |
Signing Workflow
- Validation — Request is validated against schema
- Policy Evaluation — Organization policies are checked for approval requirements
- Immediate signature — If no approval required, signature is returned in the response
- Pending approval — If policy requires approval,
status=PENDING_APPROVAL is returned with a workflowId
- Approve / reject — Approvers cast votes via Approve signing request —
POST /api/v1/signing/{workflowId}/approve
- Completion — Poll Get signing workflow status —
GET /api/v1/signing/{workflowId}/status to retrieve the final signature
Response Fields
| Field | Type | Description |
|---|
signingId | string | Signing request identifier |
workflowId | string | Temporal workflow ID — use to poll status or approve/reject |
status | string | One of STARTED, SIGNED, PENDING_APPROVAL, DENIED, EXPIRED, FAILED, CANCELLED |
message | string | Human-readable status message |
signature | string | Hex signature (0x...) — present when status=SIGNED |
messageHash | string | Hash of the signed data |
signerAddress | string | Vault address that produced the signature |
components | object | Signature components: r, s, v |
approvalRequestId | string | Approval request ID (when PENDING_APPROVAL) |
requiredApprovers | number | Number 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