Dogecoin Integration
ICP supports a native Dogecoin integration that works the same way as the Bitcoin integration. Because Dogecoin is a Bitcoin fork, it reuses the same two-component architecture: a dedicated adapter that communicates with the Dogecoin network, and a Dogecoin canister that maintains the current chain state and exposes a query-and-send API to other canisters.
Architecture
Section titled “Architecture”The Dogecoin adapter is a process that runs alongside the ICP replica on each node. It speaks the Dogecoin peer-to-peer protocol, syncs blocks from the Dogecoin network, and relays transactions. The Dogecoin canister (source) is a canister running on a system subnet that consumes blocks from the adapter, maintains the UTXO set, and exposes endpoints for balance queries, UTXO retrieval, fee estimation, and transaction submission.
Canister-controlled Dogecoin addresses are derived from chain-key ECDSA public keys, just as in the Bitcoin integration. Transactions are signed using the management canister’s sign_with_ecdsa API and broadcast to the Dogecoin network through the adapter.
Chain-key DOGE (ckDOGE)
Section titled “Chain-key DOGE (ckDOGE)”ckDOGE is the chain-key token representing Dogecoin on ICP, backed 1:1 by real DOGE held in a canister-controlled address. The minter-plus-ledger architecture is the same as ckBTC: users deposit DOGE to a minter-controlled address, the minter mints ckDOGE on the ledger, and withdrawals trigger an onchain Dogecoin transaction signed with threshold ECDSA.
Depositing DOGE (DOGE to ckDOGE)
Section titled “Depositing DOGE (DOGE to ckDOGE)”Withdrawing DOGE (ckDOGE to DOGE)
Section titled “Withdrawing DOGE (ckDOGE to DOGE)”Next steps
Section titled “Next steps”- Bitcoin integration: detailed description of the shared adapter and canister architecture
- Dogecoin canister documentation
- Dogecoin guide: code examples and canister API
- Chain Fusion overview: integration patterns and supported chains
- Dogecoin canister reference: API endpoints
- Chain-Key Token Canister IDs: ckDOGE: ckDOGE minter and ledger IDs