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 (workflow)

Sign EIP-712 typed data (workflow)

Initiate an EIP-712 typed data signing workflow through the orchestration service. Returns the signature immediately if no approval is required, or status=PENDING_APPROVAL if the organization's policy requires multi-party approval before signing.

This endpoint goes through the transaction orchestration service with full policy evaluation. For direct vault-level signing without workflow orchestration, see Sign EIP-712 typed data — POST /api/v1/vaults/{id}/sign-typed-data.

Request Body

FieldTypeRequiredDescription
senderobjectYesSigning sender — identifies the vault to sign with
chainIdnumberYesChain ID for the signing context
typedDataobjectYesEIP-712 typed data structure
userobjectNoUser context for policy evaluation

sender Object

FieldTypeDescription
vaultIdstringVault to sign with

typedData Object

FieldTypeRequiredDescription
domainobjectYesEIP-712 domain separator (name, version, chainId, verifyingContract, salt)
typesobjectYesType definitions (key → array of {name, type})
primaryTypestringYesThe primary type being signed
messageobjectYesThe actual message data to sign

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 — present when status=SIGNED
messageHashstringEIP-712 encoded hash of the typed 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

  • Permit approvals — ERC-20 gasless approvals via EIP-2612
  • DEX order signing — Uniswap, 0x protocol off-chain orders
  • DeFi permits — Aave, Compound gasless interactions
  • Meta-transactions — Sign for relayer-based execution
  • Sign-In with Ethereum — SIWE authentication with policy guard

Required Permission

transactions:create

On this page

  • Request Body
  • sender Object
  • typedData Object
  • Response Fields
  • Use Cases
  • Required Permission
  1. Cubewire Wallet
  2. Manage Transactions
  3. Sign EIP-712 typed data (workflow)

Sign EIP-712 typed data (workflow)

Initiate an EIP-712 typed data signing workflow through the orchestration service. Returns the signature immediately if no approval is required, or status=PENDING_APPROVAL if the organization's policy requires multi-party approval before signing.

This endpoint goes through the transaction orchestration service with full policy evaluation. For direct vault-level signing without workflow orchestration, see Sign EIP-712 typed data — POST /api/v1/vaults/{id}/sign-typed-data.

Request Body

FieldTypeRequiredDescription
senderobjectYesSigning sender — identifies the vault to sign with
chainIdnumberYesChain ID for the signing context
typedDataobjectYesEIP-712 typed data structure
userobjectNoUser context for policy evaluation

sender Object

FieldTypeDescription
vaultIdstringVault to sign with

typedData Object

FieldTypeRequiredDescription
domainobjectYesEIP-712 domain separator (name, version, chainId, verifyingContract, salt)
typesobjectYesType definitions (key → array of {name, type})
primaryTypestringYesThe primary type being signed
messageobjectYesThe actual message data to sign

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 — present when status=SIGNED
messageHashstringEIP-712 encoded hash of the typed 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

  • Permit approvals — ERC-20 gasless approvals via EIP-2612
  • DEX order signing — Uniswap, 0x protocol off-chain orders
  • DeFi permits — Aave, Compound gasless interactions
  • Meta-transactions — Sign for relayer-based execution
  • Sign-In with Ethereum — SIWE authentication with policy guard

Required Permission

transactions:create

On this page

  • Request Body
  • sender Object
  • typedData Object
  • Response Fields
  • Use Cases
  • Required Permission