Skip to main content
POST
SDK — propose a signing-quorum transaction for a business-account wallet

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

environmentId
string
required

ID of the environment

Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

businessAccountId
string
required

ID of the business account

Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

walletId
string
required
Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

Body

application/json

SDK proposeSigning body. message, context and chain describe the operation being proposed — the same fields the eventual signMessage call carries — while approvalQuorum holds the caller-signed intent over it.

message
string
required

A string with a max length of 204800 characters

Maximum string length: 204800
chain
enum<string>
required
Available options:
EVM,
MIDNIGHT,
SVM,
SUI,
BTC,
TON,
STELLAR,
TEMPO,
ALEO,
TRON
approvalQuorum
object
required

The Initiator's own signed Intent over the operation being proposed — the same bundle a governed sign carries in approvalQuorum, except proposing always needs the signature: there is no stored proposal to redeem yet. initiatorProof is issued server-side while the caller's token is live and is never sent by the client.

context
object

Response

The opened proposal and what its approvals still need

The signMessage proposal opened for the proposed intent — or the identical open one a retry found — with the requirement its approvals must satisfy. intent is the stored signed intent verbatim: approvers sign THESE bytes, never a re-derived copy.

proposalId
string<uuid>
required

The proposal collecting approvals.

intent
object
required

The client-created signed Intent. The enclave checks its operation against the request's current signing context and MPC message.

approvalRequirement
object
required

One signing-quorum requirement as wallet-service reports it, plus the approvals already counted toward it on the proposal. The role fields are absent when wallet-service did not report them — never re-derive them client-side.