# Circle wallets and USDC

> Circle's screening runs inside Circle and its webhooks are notifications, so the agent asks Immiscible before it transfers.

Source: https://immiscible.fly.dev/docs/guides/circle

Circle issues USDC and EURC, and its Wallets product signs transfers for developer-controlled and user-controlled wallets. Its [Compliance Engine](https://developers.circle.com/wallets/compliance-engine/tx-screening) screens transactions against Circle-managed rules and your block and allow lists, and can block, freeze or send a transfer for manual review inside Circle. [Webhook notifications](https://developers.circle.com/wallets/webhook-notifications) are signed (`X-Circle-Signature`, `X-Circle-Key-Id`) and report what happened.

**There is no outside approval call** a service like Immiscible could answer before a transfer is signed.

## How to use them together

- The agent asks Immiscible first, through the SDK's `decideThenSign` or `decide_then_sign`, and creates the Circle transfer only after an allow whose receipt covers it. See [Crypto payments](https://immiscible.fly.dev/docs/guides/crypto-payments.md).
- USDC is priced from public sources at the moment of each decision, and checked against its peg, never assumed to be one dollar. See [Crypto rates](https://immiscible.fly.dev/docs/guides/crypto-rates.md).
