Skip to content

fix: verify Circle webhook signatures#5

Open
skyc1e wants to merge 1 commit into
circlefin:masterfrom
skyc1e:fix/circle-webhook-signature
Open

fix: verify Circle webhook signatures#5
skyc1e wants to merge 1 commit into
circlefin:masterfrom
skyc1e:fix/circle-webhook-signature

Conversation

@skyc1e

@skyc1e skyc1e commented Jun 18, 2026

Copy link
Copy Markdown

Adds Circle webhook signature verification before processing inbound notifications.

  • requires X-Circle-Signature and X-Circle-Key-Id on webhook POST requests
  • fetches and caches Circle's public key for the provided key id
  • verifies the raw request body before parsing or updating balances
  • documents the optional CIRCLE_WEBHOOK_SECRET Bearer guard as an extra layer

Circle documents these signature headers in the webhook setup guide: https://developers.circle.com/wallets/webhook-notifications#4-verify-digital-signature

Checked:

  • npm run lint
  • npm run build with local dummy env values required by the current env schema
  • git diff --check upstream/master..HEAD

@skyc1e
skyc1e force-pushed the fix/circle-webhook-signature branch from 364b1bb to 24bfc35 Compare July 6, 2026 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant