Event types
The table below lists every Circle Mint webhook topic and the resource each notification carries. The subsections that follow describe each topic, document its status values when applicable, and show a single example payload.wire
Lifecycle notifications for a linked wire bank account. Use these events to
track the status of bank-account creation requests submitted through
POST /v1/businessAccount/banks/wires.
Example payload
Example payload
deposits
Fires when a fiat deposit (mint) settles to your Circle Mint balance. The
notification carries the deposit id, the settled amount, the source (the
linked wire bank account), and the destination wallet.
When the originating wire memo included a
customerExternalRef matching the
EXT... format (used by the Core API for Institutions), Circle echoes that
value on the deposit so you can reconcile the credit to the originating client.
Example payload
Example payload
payouts
Fires for fiat redemptions (burns) and stablecoin payouts. The payout resource
carries the destination (a wire bank account or an address_book recipient),
the gross amount, fees, and any error information.
The most important fields to consume:
id: Unique payout identifier.destination: Either awiredestination (fiat redemption) or anaddress_bookdestination (stablecoin payout).amount: Gross amount of the payout, as a money object.toAmount: Net amount delivered to the destination. Present only on stablecoin payouts.trackingRef: Reference that appears on the bank statement. Present on fiat redemption (burn) payouts.sourceWalletId: Identifier of the wallet funding the payout.fees: Fees deducted from the source wallet, as a money object.networkFees: Onchain network fees. Present only on stablecoin payouts.status:pending,complete, orfailed.errorCode: Populated whenstatusisfailed. See Stablecoin Payouts errors for the catalog.riskEvaluation: Risk decision and reason, populated for compliance-driven denials.
Example payload
Example payload
transfers
Fires on every status transition for an onchain transfer, in either direction
(Circle wallet to blockchain address, blockchain address to Circle wallet, or
wallet to wallet). You receive one notification per transition, so a transfer
that runs to completion produces multiple events.
When
status is failed, the transfer carries an errorCode; see
Transfer entity errors
for the catalog.
Example payload
Example payload
paymentIntents
Fires on lifecycle changes for a Stablecoin Payins payment intent, including
deposit-address assignment, settlement, expiry, refund, and failure. The payload
includes the intent’s full state—paymentMethods[] (the assigned deposit
addresses), timeline[] (an ordered history of status and context
transitions with timestamps), amountPaid, amountRefunded,
settlementCurrency, and fees[].
The intent’s lifecycle depends on type:
continuousintents stay atactiveafter Circle assigns the deposit address and never advance tocomplete. To reconcile settled transfers against a continuous intent, listen to thepaymentstopic or callGET /v1/paymentswithpaymentIntentId={id}.transientintents move throughcreated→pending→complete, where the latesttimeline[]entry carries acontextofpaid,underpaid, oroverpaid. Terminal states areexpired,failed, andrefunded.
Example payload
Example payload
payments
Fires for inbound Stablecoin Payins settlements and for Stablecoin Payouts
refunds. Both flows use the same payments resource; the type field
discriminates between them: payment for an inbound settlement and refund for
an outbound refund.
Example payment payload
Example payment payload
Example refund payload
Example refund payload
addressBookRecipients
Fires on lifecycle transitions for a Stablecoin Payouts recipient registered
through the Address Book API. Use this topic to learn when a recipient is ready
to receive payouts and to handle Travel Rule decisions on counterparties.
For Travel Rule requirements and identity schemas that influence these
decisions, see
Travel rule compliance.
Example payload
Example payload
externalEntities
Fires when Circle finishes its compliance review for an external entity
onboarded through the Institutional API. The webhook carries the final
complianceState decision; walletId is present only when the decision is
ACCEPTED.
For background on the onboarding flow and how to use a provisioned
walletId,
see Institutional API and
Manage institutional subaccounts.
Example payload
Example payload
creditTransfers
Fires when a credit draw changes status. The two Credit API products follow
different lifecycles, so the meaningful status values depend on which product
the credit line is scoped to.
Settlement Advance status values:
Line of Credit status values:
When a transfer is configured with a Credit Express destination, the
disbursement carries an additional onchain delivery status:
For background on the credit-line model and the two product lifecycles, see the
Credit API concept.
Example payload
Example payload
creditFees
Fires when a fee accrues against a credit line. Cadence matches the credit
line’s feeCadence: daily lines emit a fee notification every 24 hours and
hourly Line of Credit lines emit one every hour. Each notification carries the
accrued amount, the credit line it applies to, and the period it covers.
Example payload
Example payload
creditRepayments
Fires when Circle matches an incoming fiat wire to a credit line or records a
completed crypto repayment. The payload identifies the credit line, the
repayment method (fiat or crypto), the matched amount, and the resulting
outstanding balance.
Example payload
Example payload
approvalWorkflowTransferApproved and approvalWorkflowTransferRejected
Recipient approval workflow events. Some regions require a separate approval
step before a transfer can proceed; France and Singapore are two examples.
Pending transfers are routed to an approver. The decision is delivered on
approvalWorkflowTransferApproved when the proposal is approved or on
approvalWorkflowTransferRejected when it is rejected. The payload carries the
proposal’s transferStatus, proposalStatus, the originating idempotencyKey,
and the transferId of the affected transfer.
Example payload
Example payload