Skip to main content
POST

Overview

JSON-RPC method paymaster_executeTransaction with the apply_action type. The relayer submits the proven call on-chain and pays the gas; the pool fee (from the build step) reimburses it. No user signature is needed: the transaction settles straight from the proof. Use invoke_and_apply_action to also wrap a signed user call (with the typed_data returned by the build step). The endpoint is the base URL itself (no path): https://starknet.paymaster.avnu.fi (mainnet) or https://sepolia.paymaster.avnu.fi (testnet).

Headers

x-paymaster-api-key
string
required
Portal API key. Required for the sponsored fee modes (sponsored, sponsored_private)

Body (JSON-RPC 2.0)

method
string
required
paymaster_executeTransaction
params.transaction.type
string
required
apply_action, or invoke_and_apply_action when a signed user call is wrapped
params.transaction.apply_action.apply_actions_call
object
required
The proven call, as { to, selector, calldata }
params.transaction.apply_action.proof
string
required
The zero-knowledge proof produced by the proving backend
params.transaction.apply_action.proof_facts
array
required
The proof facts (array of felt hex strings)
params.transaction.invoke
object
Only for invoke_and_apply_action: { user_address, typed_data, signature }
params.parameters
object
required
Same shape as the build step: { version: '0x1', fee_mode, time_bounds? }

Response

transaction_hash
string
required
The hash of the submitted transaction
tracking_id
string
Relayer tracking id

Errors