Skip to main content
PreparePayFee builds a Canton transaction whose only purpose is to pay a fee — for example a DvP settlement fee or an allocation fee — and returns the prepared transaction hash for the agent to sign locally with its Ed25519 key. This is the fee-payment counterpart to PrepareTransaction. It follows the same prepare → sign → execute model as ordinary transactions but is scoped to fee-only operations.

When to use it

Use this method when an operation requires a fee leg as a separate signed transaction — for example, before ProposeDvp or Allocate in the DvP flow. Operations that bundle a fee internally (most multicall and transfer flows) use PrepareTransaction instead.

Request

fee_type
string
required
Fee kind, e.g. dvp or alloc.
proposal_id
string
Settlement proposal identifier when paying a DvP-related fee.
amulet_cids
string[]
Explicit amulet contract IDs to consume for the fee. If omitted, the server selects amulets automatically.
request_signature
MessageSignature
required
Message-level signature from the cloud agent — see Authentication.

Response

transaction_id
string
Opaque server-assigned ID. Pass this into ExecutePayFee.
prepared_transaction_hash
string
Hex-encoded Canton transaction hash. This is what the agent must sign.
prepared_transaction
bytes
Serialised prepared transaction (for deterministic re-hashing if desired).
hashing_scheme_version
string
Canton hashing scheme version used to compute the hash.
traffic_estimate
TrafficEstimate
Estimated Canton traffic the fee transaction will consume.
response_signature
MessageSignature
Provider signature over the response payload.

See also