Skip to content

Wallets ​

C12 accounts use the Cosmos c12 bech32 prefix (app/config/bech32.go):

HRPPurpose
c12Account addresses
c12pubAccount pubkeys
c12valoperValidator operator
c12valconsConsensus keys

Event identifiers use HRP c12evt for CLI helpers (x/attest/types/keys.go).

Cosmos wallets ​

Keplr ​

Add c12-testnet-1 with REST/RPC from Testnet status. Chain registry for explorers mirrors testnet/explorer/chain.json in the chain repo (update RPC URLs for hosted testnet).

c12d keys ​

bash
c12d keys add mykey --keyring-backend os --home $HOME/.c12d
c12d keys list --home $HOME/.c12d

Testnet scripts recover faucet and fixture keys with algorithm eth_secp256k1:

bash
c12d keys add faucet --recover --keyring-backend test --algo eth_secp256k1 --home .testnet/...

This matches Cosmos EVM key derivation used in local bring-up (testnet/scripts/up.sh).

EVM wallets (MetaMask) ​

FieldTestnet value
Network nameCarbon12 Testnet (suggested)
RPC URLhttps://evm.testnet.carbon12.network
Chain ID12121 (hex 0x2f59)
Currency symbolC12 (display; gas paid in uc12 mapping)

Devnet local EVM id is 1212 (app/config/constants.go) — do not confuse with testnet 12121.

Key types ​

  • Default Cosmos secp256k1 keys work for most CLI flows.
  • eth_secp256k1 is used for EVM-aligned keys in testnet/devnet automation and faucet recovery.

Faucet ​

Fund test addresses with uc12 (no monetary value):

https://faucet.testnet.carbon12.network

Local make testnet-up also writes mnemonics to .testnet/mnemonics.txt — never reuse fixture private keys from devnet/genesis/keys.json on internet-facing services (chain testnet/README.md, ingest SDK README).

Signing transactions ​

  • Cosmos: c12d tx … or CosmJS @cosmjs/stargate against REST + POST /cosmos/tx/v1beta1/txs
  • EVM: standard EIP-155 txs on chain id 12121; contract calls to 0x…0C12 hit the read-only IC12 precompile (no deployment required)

See Connecting to the chain for endpoints and code samples.

Testnet tokens have no monetary value. Mainnet is planned.