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 EIP-712 typed data

Sign EIP-712 typed data

Sign structured typed data using the EIP-712 standard. The vault's private key, securely stored in KMS (Key Management Service), is used to create the cryptographic signature. Returns the signature immediately if no approval is required, or a pending approval status if the organization's policy requires multi-sig approval.

Request Body

FieldTypeRequiredDescription
senderobjectYesSigning sender; must include vaultId (UUID of the vault)
chainIdintegerYesChain ID for the signing context (positive integer)
typedDataobjectYesEIP-712 structured data (see below)
userobjectNoUser context for policy evaluation (id, email, role, roles)

typedData Object

FieldTypeDescription
domainobjectDomain separator: name, version, chainId, verifyingContract, salt
typesobjectType definitions as key-value pairs where each value is an array of [name, type]
primaryTypestringThe primary type being signed
messageobjectThe actual message data to sign

Response

Returns 200 OK when signing completes synchronously, or 202 Accepted when the request is pending multi-sig approval.

FieldTypeDescription
signingIdstring (UUID)Unique identifier for this signing request
workflowIdstringWorkflow identifier tracking the signing operation
statusstringOne of STARTED, SIGNED, PENDING_APPROVAL, DENIED, EXPIRED, FAILED, CANCELLED
messagestringHuman-readable status message
signaturestringComplete signature in 0x... format (r + s + v, 65 bytes); present when status is SIGNED
messageHashstringEIP-712 encoded hash of the typed data
signerAddressstringVault address that produced the signature
componentsobjectSignature components r, s, v
approvalRequestIdstringApproval request ID when status is PENDING_APPROVAL
requiredApproversnumberNumber of approvers required when approval is pending

Use Cases

  • Permit approvals — ERC-20 permit signatures for gasless approvals
  • Gasless transactions — Meta-transactions via relayers
  • Off-chain orders — DEX order signing (Uniswap, 0x, etc.)
  • Authentication — Sign-in with Ethereum (SIWE)

On this page

  • Request Body
  • typedData Object
  • Response
  • Use Cases
  1. Cubewire Wallet
  2. Manage Transactions
  3. Sign EIP-712 typed data

Sign EIP-712 typed data

Sign structured typed data using the EIP-712 standard. The vault's private key, securely stored in KMS (Key Management Service), is used to create the cryptographic signature. Returns the signature immediately if no approval is required, or a pending approval status if the organization's policy requires multi-sig approval.

Request Body

FieldTypeRequiredDescription
senderobjectYesSigning sender; must include vaultId (UUID of the vault)
chainIdintegerYesChain ID for the signing context (positive integer)
typedDataobjectYesEIP-712 structured data (see below)
userobjectNoUser context for policy evaluation (id, email, role, roles)

typedData Object

FieldTypeDescription
domainobjectDomain separator: name, version, chainId, verifyingContract, salt
typesobjectType definitions as key-value pairs where each value is an array of [name, type]
primaryTypestringThe primary type being signed
messageobjectThe actual message data to sign

Response

Returns 200 OK when signing completes synchronously, or 202 Accepted when the request is pending multi-sig approval.

FieldTypeDescription
signingIdstring (UUID)Unique identifier for this signing request
workflowIdstringWorkflow identifier tracking the signing operation
statusstringOne of STARTED, SIGNED, PENDING_APPROVAL, DENIED, EXPIRED, FAILED, CANCELLED
messagestringHuman-readable status message
signaturestringComplete signature in 0x... format (r + s + v, 65 bytes); present when status is SIGNED
messageHashstringEIP-712 encoded hash of the typed data
signerAddressstringVault address that produced the signature
componentsobjectSignature components r, s, v
approvalRequestIdstringApproval request ID when status is PENDING_APPROVAL
requiredApproversnumberNumber of approvers required when approval is pending

Use Cases

  • Permit approvals — ERC-20 permit signatures for gasless approvals
  • Gasless transactions — Meta-transactions via relayers
  • Off-chain orders — DEX order signing (Uniswap, 0x, etc.)
  • Authentication — Sign-in with Ethereum (SIWE)

On this page

  • Request Body
  • typedData Object
  • Response
  • Use Cases