POST
Speed up a stuck EVM transaction

Authorizations

Authorization
string
header
required

An API key minted in the console (ctd_…). Authenticates; never authorizes funds. A key carries scopes (read, wallets.write, transactions.write, events.write, webhooks.write, policy.write) and may be limited to vaults, to IP addresses, and in lifetime — see Authentication.

Path Parameters

id
string
required

The operation_id, or the idempotency key — yours, or the intent:<uuid> Citadel returned for a request sent without one.

Response

The new version is on its way to your signer.

A transaction. A field with nothing to say is absent, except actions and tags.

operation_id
string<uuid>
required
status
enum<string>
required
Available options:
created,
aml_pending,
awaiting_approval,
authorized,
signing,
signed,
broadcasting,
broadcast,
confirmed,
final,
failed,
rejected,
expired
actions
object[]
required

What it does, in order — the actions you sent, each asset named as balances name it.

tags
string[]
required
created_at
string<date-time>
required

When Citadel accepted it.

updated_at
string<date-time>
required

Its last change of state.

network
enum<string>

The network the data lives on. Required wherever it appears in a request — there is no default network. One your installation does not serve: 422 network_not_served.

Available options:
mainnet,
testnet
chain
enum<string>
Available options:
tron,
evm,
solana,
ton
wallet
object

The wallet it leaves from.

end_user_ref
string
tx_hash
string

Known from broadcasting on.

fee
object

The network fee the landed transaction cost, in the native coin of the chain it landed on. Absent until it lands.

idempotency_key
string

The key the request was sent with. A request sent without one gets intent:<uuid>, unique to this transaction; GET /transactions/{id} takes it too.

queued
boolean

true while a queued payout (queue: true) waits for its workflow; absent otherwise.

failure
object
corrected
object

The transaction was declared expired, then landed after all (the chain index served it late). The earlier verdict is withdrawn — if you resubmitted on it, that payout is a second one.

stuck
object

An EVM transaction waits behind its nonce: no node has taken its signed bytes for 5 minutes (the operation.stuck webhook). It keeps its holds and is sent again and again, and new transactions from the wallet are refused until it moves. Absent once a node takes it. POST /transactions/{id}/speedup signs it again at a higher fee.

speedup
object

The latest POST /transactions/{id}/speedup of this transaction, and what came of it.

approval
object

Present when your approval rules held the transaction for a passkey quorum — on the 202 and on every read after it. Absent when it went out without waiting for people.