Skip to main content
Never fulfill from a wallet signature, submitted transaction hash, or client state. Decode confirmed AuthCaptureEscrow events, match their paymentInfoHash to the order, and claim each settlement exactly once in persistent storage.

Demo

The demo above is mock only. If you want to see onchain demos on Vibenet, head to Base chain demos.

Verify a Protocol Settlement

Use the v1.1.0 escrow address and ABI together. The PaymentCharged and PaymentCaptured events contain an absolute uint256 feeAmount; the v1.0 events used a different field type and event topic.
Backend
PaymentAuthorized and PaymentCharged include the full PaymentInfo. Later lifecycle events include only the hash, so join them to the immutable terms stored when you created the order.
Only the first confirmed event with the expected chain, escrow address, payment hash, operation, amount, and fee reaches fulfillment.
claimOnce must use a database uniqueness constraint and participate in the same durable workflow as fulfillment. A process-local Set cannot prevent replay across restarts or workers.
Choose a confirmation depth that matches the value and reversibility of fulfillment. See transaction finality.

See Also

Request a Payment

Create an immediate protocol charge.

Watch for Payments

Backfill and process confirmed escrow events.