Skip to main content
Stablecoin Payins and Stablecoin Payouts emit webhook events so your server can react to deposit-address assignment, settled payments, recipient review outcomes, and payout status changes. Subscribe to these events instead of polling for status. All payloads use the following envelope structure.

Event types

Payment intent events

The paymentIntents notification fires when you create an intent, when Circle assigns the deposit address, and—for transient intents—when the intent reaches complete. Continuous intents stay at active and never advance to complete; reconcile their transfers through the payments event instead. Status values observed in timeline[].status: created, pending, active, complete.
Example paymentIntents payload

Payment events

The payments notification fires whenever an inbound transfer settles or a refund changes status. Payments and refunds share this channel and are discriminated by the type field (payment or refund). The payload links back to its intent through paymentIntentId. Status values: pending, paid.
Example payments payload

Address book recipient events

The addressBookRecipients notification fires when a recipient’s status changes, such as when review completes and the recipient becomes active. Wait for active before you send a payout to the recipient. Status values: pending, inactive, active, denied.
Example addressBookRecipients payload

Payout events

The payouts notification fires when a payout status changes. The payload includes the resolved fees and onchain networkFees. Status values: pending, complete, failed.
Example payouts payload