Skip to main content

Blaze vs sponsored transactions

Both let someone else pay the fee. They differ in what the user signs.

Sponsored transaction (Stacks native)Blaze intent (SIP-018)
What the user signsA complete Stacks transaction: payload, post-conditions and the user's account nonce, marked as sponsored. The sponsor then adds its own fee, nonce and signature (SIP-005).A structured-data message (contract, intent, opcode, amount, target, uuid), not a transaction. The submitter wraps it in a transaction of its own.
tx-sender on-chainThe user. tx-sponsor? returns the sponsor.The submitter (Charisma's solver). The contract learns the user from blaze-v1 execute or recover.
Ordering and replayAccount nonce: one sequence. Any other transaction the user sends with that nonce invalidates it.UUID: single-use in one global map, order-independent. Many intents can be outstanding and pre-signed for later (triggered orders, DCA as N pre-signed swaps).
What can change after signingOnly the sponsor's own fee and nonce.Everything outside the signed fields. Swaps: the route, vaults and output token always. Recipient on x-multihop-rc9 and REDEEM_BEARER. x-multihop-v1 binds the payout to the signer.
Post-conditionsPart of what the user signs.Added by the submitter. Charisma's executor attaches deny-mode post-conditions.
Which contractsAny contract call or deploy.Only contracts that verify through blaze-v1 (subnet tokens and the routers built on them). Funds must be deposited into the subnet first.
CancellingSend another transaction with the same nonce first.A signature can't be revoked. Cancelling an order stops Charisma's executor; withdrawing from the subnet or spending the UUID is the hard stop.
Good forOne-off gasless actions the user approves exactly.Pre-signed, conditional or batched actions run later.

Side by side​

Blaze intent​

When to use which​

  • The user approves an exact action now but has no STX for fees: use a sponsored transaction.
  • The action should run later, on a condition, or many times from one approval: use Blaze, and accept that the submitter chooses the unsigned parts. See the trust model.