When to bring your own wallet
Bring Your Own Wallet (BYOW) is a good fit when your organization:- Already operates wallet infrastructure with established key-management procedures.
- Requires custody arrangements that are specific to your compliance or regulatory environment.
- Manages USDC balances and blockchain interactions through an existing third-party provider.
Your responsibilities
When you bring your own wallet, you take on operational responsibilities that Circle otherwise handles. The following table summarizes how those responsibilities are divided.| Responsibility | BYOW | Circle-hosted wallet |
|---|---|---|
| Key management and signing | You | Circle |
| Blockchain support and connectivity | You | Circle |
| Nonce handling | You | Circle |
| USDC balance management | You | You |
| Native gas token funding (where required) | You | Circle |
Nonce handling requirements differ between CPN Transactions V1 and V2. V1
requires you to manage nonces directly; V2 provides unsigned transaction data
that includes nonce values. See the Create Transaction
V2 endpoint for
details.
How CPN works with your wallet
Regardless of which wallet option you choose, you interact with the same CPN APIs. Payment creation, settlement, and reporting work identically; only the custody and signing layer differs. If you use Transactions V1, your wallet also manages nonce selection; V2 returns a complete unsigned payload. The interaction between CPN and your wallet follows this pattern:- You call the CPN Create Transaction endpoint to prepare unsigned transaction data for a payment.
- CPN returns unsigned transaction data (the payload your wallet needs to sign).
- Your wallet infrastructure signs the transaction using its own key-management system.
- You submit the signed transaction back to CPN through the Submit Transaction endpoint.
- CPN validates the signed transaction and broadcasts it to the blockchain.
- CPN sends webhook notifications with transaction status updates.
CPN never accesses your private keys. It issues payment instructions that your
wallet infrastructure executes by signing and submitting transactions to the
appropriate blockchain.