Submit order approval
Submits the owner’s approval for an embedded-wallet order transaction. Sign the
approvalMessage from the order’s approval with the owner’s P-256 key and submit
the signature as a hex string (Turnkey stamp envelopes are not accepted). One signature per call; an M-of-N quorum is a
separate call per signer.
The approvalMessage MUST be byte-identical to what was signed and the
approvalMessageId MUST match the order’s current approval, or the call is
rejected as stale. Server-side signers typically output ~142-character DER-wrapped
hex; browser WebCrypto outputs 128-character raw r‖s hex. Either layout is
accepted. Invalid hex, wrong length, or a signature that does not verify over
approvalMessage is rejected synchronously with 400.
Authorizations
API key sent in the Authorization header.
Path Parameters
The order ID
Body
The approvalMessageId from the order's approval. Echoed back to guard against approving a superseded proposal: a stale id is rejected and the caller re-reads the order for the current one.
The exact approvalMessage bytes the owner signed, byte-identical to what was signed. Validated against the pending proposal.
ECDSA P-256 signature over the approvalMessage, as a hex string. Most server-side signers output DER-wrapped hex (~142 characters, often starts with 30); browser WebCrypto outputs raw r‖s as 128 hex characters. Either layout is accepted. See the worked example in Embedded Wallets.
Optional compressed SEC1 signer public key. When omitted, the wallet's registered signerPublicKey is used. When provided, it must match.