Phases
Prepare
The client calls
PrepareTransaction with a TransactionOperation enum value and a matching params oneof. The server builds the Canton transaction, returns its hash (prepared_transaction_hash), the serialized prepared_transaction, a transaction_id, and a TrafficEstimate.Sign
The client signs
prepared_transaction_hash with the agent’s Ed25519 private key — see Authentication for details on how signatures are carried.TransactionOperation
The enum selects which sub-operation the server should build in phase 1:Operations reference
Each enum value corresponds to one dedicated method page that documents itsparams message:
| Operation | params field | Page |
|---|---|---|
PAY_DVP_FEE | pay_fee | PayDvpFee |
PROPOSE_DVP | propose_dvp | ProposeDvp |
ACCEPT_DVP | accept_dvp | AcceptDvp |
PAY_ALLOC_FEE | pay_fee | PayAllocFee |
ALLOCATE | allocate | Allocate |
TRANSFER_CC | transfer_cc | TransferCc |
SPLIT_CC | split_cc | SplitCc |
REQUEST_PREAPPROVAL | request_preapproval | RequestPreapproval |
TRANSFER_CIP56 | transfer_cip56 | TransferCip56 |
ACCEPT_CIP56 | accept_cip56 | AcceptCip56 |
REQUEST_RECURRING_PREPAID | request_recurring_prepaid | RequestRecurringPrepaid |
REQUEST_RECURRING_PAYASYOUGO | request_recurring_payasyougo | RequestRecurringPayasyougo |
REQUEST_USER_SERVICE | request_user_service | RequestUserService |
EXECUTE_MULTICALL | execute_multicall | ExecuteMultiCall |
PrepareTransactionRequest
PrepareTransactionResponse
Opaque server-assigned ID. Pass this into
ExecuteTransaction.Hex-encoded Canton transaction hash. This is what the agent must sign.
Canton command ID used for idempotency.
Serialised prepared transaction (for deterministic re-hashing if desired).
Canton hashing scheme version used to compute the hash.
Estimated Canton traffic (
read_cost, write_cost, total_cost) the transaction will consume.Provider signature over the response payload — see Authentication.
Always
PENDING after prepare.ExecuteTransactionRequest
Value returned from
PrepareTransaction.Hex-encoded Ed25519 signature over
prepared_transaction_hash.Message-level signature from the cloud agent — see Authentication.
ExecuteTransactionResponse
true if the transaction was submitted and committed successfully.Canton update ID of the committed transaction.
Primary contract created by the transaction (if any).
All contracts created by the transaction — useful for tracking new amulets from change/split.
Actual traffic consumed.
Featured-app rewards earned, if applicable.
Mining round in which rewards were earned.
Human-readable error.
Structured error (
ProviderRpcError) when success = false.EXECUTED on success, FAILED on error.