Transactions
Transaction webhook events and example payloads.
Transaction webhooks track blockchain activity for incoming payments.
Use these events to monitor on-chain state before payment state is finalized.
Field descriptions
Transaction webhook events use data.transaction.
They also include data.session for the related payment session.
Transaction object
data.transaction.id
string
Unique transaction identifier.
data.transaction.txHash
string
Blockchain transaction hash.
data.transaction.fromAddress
string
Sender address.
data.transaction.toAddress
string
Destination address.
data.transaction.amount
string
Crypto amount received.
data.transaction.asset
string
Crypto asset code.
data.transaction.chain
string
Blockchain network.
data.transaction.status
string
Transaction status.
data.transaction.confirmations
number
Confirmation count.
data.transaction.createdAt
string
Detection timestamp.
data.transaction.confirmedAt
string | null
Confirmation timestamp.
data.transaction.failureReason
string | null
Failure reason when present.
Related session object
data.session.id
string
Related session identifier.
data.session.reference
string
Your order or payment reference.
data.session.title
string
Session title.
data.session.description
string | null
Optional session description.
data.session.state
'open' | 'closed'
Session state.
data.session.type
string
Session type.
data.session.amount
string
Requested amount.
data.session.currency
string
Requested currency.
data.session.settlements
object | null
Settlement breakdown.
data.session.payment.status
string
Payment status inside the related session.
data.session.payment.asset
string
Crypto asset code.
data.session.payment.chain
string
Blockchain network.
data.session.payment.amount
string
Required crypto amount.
data.session.payment.amountReceived
string
Amount received so far.
data.session.payment.conversionRate
string
Fiat to crypto conversion rate used.
data.session.payment.gasFee
string
Network gas fee.
data.session.payment.address
string
Deposit address.
data.session.payment.feePaidBy
'merchant' | 'customer'
Who pays the network fee.
data.session.customer
object
Customer information.
data.session.metadata
object | null
Custom metadata.
data.session.successUrl
string
Redirect URL used after success.
data.session.cancelUrl
string
Redirect URL used after cancellation.
data.session.createdAt
string
Session creation timestamp.
data.session.expiresAt
string
Session expiry timestamp.
data.session.completedAt
string | null
Session completion timestamp.
Events
transaction.receivedtransaction.confirmed
transaction.received
Sent when an incoming transaction is first detected on-chain.
Use this event for early detection.
Do not treat it as final confirmation.
transaction.confirmed
Sent when a transaction reaches the required confirmation count.
Use this event when you need confirmed blockchain state.
Last updated
Was this helpful?