For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Field
Type
Description

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.

Field
Type
Description

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.

The related data.session object uses the same shape as payment webhook events.

Events

  • transaction.received

  • transaction.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?