The following functionality exists for wallets reconstituted
server-side. More on Privy architecture
here
Webhooks is currently a scale feature. To use webhooks, please upgrade your account in the Privy
Dashboard.
Events
Privy allows you to subscribe to webhooks on the following transaction events:'broadcasted'
refers to when a transaction has been submitted to the network but has not yet been included in a block'still_pending'
refers to when a transaction has been submitted to the network but is taking longer than expected to be confirmed. To ensure that the transaction gets included, we recommend listening to this webhook to trigger transaction speed-ups.'confirmed'
refers to when a transaction has been included in at least one block that has been confirmed on the network.'execution_reverted'
refers to when a transaction has reverted in execution.'replaced'
refers to when a transaction has been replaced by another transaction with the same nonce. This is only applicable to EVM chains.'failed'
refers to when a transaction has been pending for too long, signaling that it will not be included on-chain. This can happen when the gas fee is too low given the current activity on the blockchain and is only triggered for chains that have a defined pending time limit (e.g. Base, Solana, Flow.).
Failures are uncommon overall, but more likely to occur on Base and Polygon than other chains
(<1% of transactions). To ensure transactions get confirmed, follow our guide on transaction
replacement to speed up stalled transactions.
Setup
To start, go to the Webhooks page for your app in the Privy Dashboard and provide a destination URL for receiving webhooks. Then, enable the'transaction.broadcasted'
, transaction.still_pending
, 'transaction.confirmed'
, 'transaction.execution_reverted'
, 'transaction.replaced'
, and/or 'transaction.failed'
events depending on the transaction events you’d like to be notified of.
Privy will emit a signed webhook to this URL whenever transaction status updates, and will retry delivery if the endpoint does not successfully respond to the original webhook.
Payload
When the status of a transaction updates, Privy will emit a webhooks payload with the following fields:Event for the transaction.
ID for the transaction.
ID of the wallet that sent the transaction.
Hash for the transaction.
CAIP-2 chain ID of the network that the transaction was broadcasted on.
Example
Below is a sample webhooks payload that Privy will send on a'transaction.confirmed'
event.