Skip to main content
Request example
POST /api/external/transactions/ Use a contract call for arbitrary contract execution. These transactions can have chain-specific data requirements and may require approval before broadcast.

Request body

string
required
Vault that signs and submits the call.
string
required
Blockchain identifier.
string
Decimal amount of native asset sent with the call.
string
required
Must be "CONTRACT_CALL".
object
Chain-specific call payload. Use one of the following shapes.
string
Client reference.
object
Gas settings for the call.
object
Creation options.
The SDK accepts chain and serializes it as blockChain. It injects category: "CONTRACT_CALL".

Response

Returns a Transaction. Its status is the lifecycle source of truth.

Approve the transaction

New transactions return status: "PENDING" and wait for approval. Get the approval message for the transaction id, sign it with your API user’s key, then submit the approval. See Approvals. With the SDK, call approveChangeRequest({ entityId: transaction.id, action: "approve" }) after this call.
Request example