Wallet Setup
Citrate is EVM-compatible, so any Ethereum wallet that supports custom networks can connect to Citrate. We've found that most developers already have one of these wallets installed, so this guide covers the three most common options: MetaMask, Rabby, and the Citrate CLI wallet.
MetaMask
MetaMask is the most widely used browser wallet and works seamlessly with Citrate.
Adding Citrate as a Custom Network
- Open MetaMask and click the network selector dropdown at the top of the window
- Click "Add network" and then "Add a network manually"
- Enter the following values:
| Field | Value |
|---|---|
| Network Name | Citrate Testnet |
| New RPC URL | https://testnet-rpc.cnidarian.cloud |
| Chain ID | 1338 |
| Currency Symbol | SALT |
| Block Explorer URL | https://testnet-explorer.cnidarian.cloud |
- Click "Save"
- MetaMask will switch to the Citrate Testnet network
For local development against Devnet, add a second network entry:
| Field | Value |
|---|---|
| Network Name | Citrate Devnet |
| New RPC URL | http://localhost:8545 |
| Chain ID | 1337 |
| Currency Symbol | SALT |
| Block Explorer URL | (leave blank) |
Verifying the Connection
After adding the network, your MetaMask balance should display 0 SALT. To get testnet tokens, visit the faucet and enter your wallet address. Tokens arrive within approximately 15 seconds.
Common MetaMask Issues
- "Chain ID already in use" ... Another network in your MetaMask configuration is using the same Chain ID. Remove the conflicting entry or check for duplicates.
- Transactions stuck as pending ... Reset the account nonce by going to Settings, Advanced, and clicking "Clear activity tab data." This resyncs MetaMask's local nonce with the network.
- RPC connection errors ... Verify you have no VPN or proxy interfering with the HTTPS connection. The testnet RPC requires a standard HTTPS connection on port 443.
Rabby Wallet
Rabby is an alternative browser wallet with built-in multi-chain support and improved security features.
Configuring Rabby for Citrate
- Open Rabby and navigate to Settings (gear icon)
- Select "Custom Network" from the sidebar
- Click "Add Custom Network"
- Enter the network details:
- RPC URL:
https://testnet-rpc.cnidarian.cloud - Chain ID:
1338 - Symbol:
SALT - Block Explorer:
https://testnet-explorer.cnidarian.cloud
- RPC URL:
- Save and switch to the Citrate Testnet
Rabby will automatically detect the network name and validate the RPC connection before saving. If Rabby shows a warning about an unknown network, this is expected for new chains ... confirm to proceed.
Rabby Advantages for Citrate
- Transaction simulation ... Rabby previews the effects of each transaction before you sign, which is particularly useful when interacting with inference contracts where gas costs vary
- Multi-chain overview ... View your SALT balance alongside assets on other chains in a single dashboard
- Security alerts ... Rabby warns about interactions with unverified contracts, helping you avoid mistakes on the testnet
Citrate CLI Wallet
For developers who prefer command-line workflows or need programmatic wallet operations, the Citrate CLI includes a built-in wallet.
Installation
npm install -g @cnidarian/citrate-cli
Creating a New Wallet
citrate-cli wallet create
This generates a new keypair and outputs the address and a mnemonic phrase. Store the mnemonic securely ... it cannot be recovered if lost.
Importing an Existing Wallet
If you already have a private key or mnemonic from MetaMask or another wallet, you can import it.
Import from a mnemonic phrase:
citrate-cli wallet import --mnemonic "your twelve word mnemonic phrase goes here"
Import from a private key:
citrate-cli wallet import --private-key 0xYOUR_PRIVATE_KEY
Checking Your Balance
citrate-cli wallet balance --rpc https://testnet-rpc.cnidarian.cloud
Sending SALT
citrate-cli wallet send --to 0xRECIPIENT_ADDRESS --amount 1.5 --rpc https://testnet-rpc.cnidarian.cloud
CLI Wallet Configuration File
To avoid passing --rpc on every command, create a configuration file at ~/.citrate/config.json:
{
"defaultNetwork": "testnet",
"networks": {
"devnet": {
"rpcUrl": "http://localhost:8545",
"chainId": 1337
},
"testnet": {
"rpcUrl": "https://testnet-rpc.cnidarian.cloud",
"chainId": 1338
}
}
}
With this configuration in place, you can simply run:
citrate-cli wallet balance
Next Steps
Once your wallet is configured and funded with testnet SALT, I recommend heading to the Quickstart guide to deploy your first contract on Citrate.