Skip to main content
Components of CPN send webhook notifications when events occur, typically for a change in state. These webhook notifications are sent to the OFI so that they can track and manage payments in CPN. The webhooks described in this topic are specific to OFIs only. All webhook notifications follow the same payload structure. The notificationType field indicates the event type, and the notification field contains the event-specific data object. The notification object schema matches the data field returned by the corresponding API endpoint (see the API reference for details).
JSON
The following sections describe the webhook events by component.

Source IP addresses

CPN webhook notifications are delivered from a static set of source IP addresses. Allowlist these addresses at your firewall, load balancer, or cloud security group as an additional layer of defense alongside signature verification. The same IPs apply to both mainnet and testnet:
  • 35.169.154.32
  • 3.90.127.28
  • 3.230.111.7
  • 54.88.227.75
For endpoint setup details, see Set up a webhook endpoint.

Payment events

The notification object has the same schema as the data field returned by Get Payment.

RFI events

The notification object has the same schema as the data field returned by Get RFI.

Transaction events

The notification object has the same schema as the data field returned by Get Transaction.

Refund events

The notification object has the same schema as the data field returned by Get Refund.

Webhooks from other Circle products

The event types in the previous sections are delivered through CPN subscriptions. When you also use Programmable Wallets or Circle APIs for liquidity and treasury, you may configure additional webhook subscriptions for those products. Payload shape and notificationType values differ from CPN webhooks. CPN and other Circle products each enforce their own API keys and notification contracts. Plan separate subscriber endpoints or routing logic if you need all event types in one service.