Releases: maccardano/maccardano_cli
Release list
MACCARDANO CLI v1.0.0
MACCARDANO CLI — Installation Guide
Linux & Windows (via WSL)
Download
Go to Releases and download:
- Linux:
maccardano-cli - Windows:
maccardano-cli(same Linux binary, runs inside WSL — see Windows setup below)
Windows Setup (WSL)
Windows users run the CLI inside WSL (Windows Subsystem for Linux) — a full Linux environment built into Windows 10/11. All commands are identical to Linux once WSL is installed.
Install WSL
Open PowerShell as Administrator and run:
wsl --installThis installs WSL 2 with Ubuntu automatically. Restart your PC when prompted.
After restart, Ubuntu opens and asks you to create a username and password. Choose anything — this is your Linux username inside WSL.
Verify WSL is working:
wsl --list --verboseYou should see Ubuntu with STATE: Running.
Open WSL terminal
From now on, all CLI commands run inside WSL. Open it anytime by:
- Pressing
Win + R→ typewsl→ Enter - Or searching "Ubuntu" in the Start menu
Copy the binary into WSL
After downloading maccardano-cli, copy it into WSL:
# Inside WSL terminal
# Your Windows Downloads folder is accessible at:
cp /mnt/c/Users/YourWindowsUsername/Downloads/maccardano-cli ~/maccardano-cli
chmod +x ~/maccardano-cliReplace YourWindowsUsername with your actual Windows username.
Linux Setup
# Make executable
chmod +x maccardano-cli
# Run
./maccardano-cliRequired Tools
Install these depending on your wallet type. All commands work the same on Linux and WSL.
cardano-address (required for seed phrase import)
# Linux / WSL
wget https://github.com/IntersectMBO/cardano-addresses/releases/download/3.12.0/cardano-addresses-3.12.0-linux64.tar.gz
tar xf cardano-addresses-3.12.0-linux64.tar.gz
sudo mv bin/cardano-address /usr/local/bin/
cardano-address --versioncardano-hw-cli (required for Ledger hardware wallet)
# Linux / WSL
wget https://github.com/vacuumlabs/cardano-hw-cli/releases/latest/download/cardano-hw-cli_1.16.0_linux-x64.tar.gz
tar xf cardano-hw-cli_1.16.0_linux-x64.tar.gz
sudo mv cardano-hw-cli /usr/local/bin/
cardano-hw-cli versionWSL + Ledger note: Ledger USB access from WSL requires an extra step. See Ledger on WSL below.
Blockfrost API Key (required — free)
- Go to blockfrost.io → Sign up free
- Create a project → select Mainnet
- Copy your API key (starts with
mainnet...) - Enter it on first run — saved automatically to
~/.maccardano_cli.json
First Run
./maccardano-cliOn first launch you will be asked for your Blockfrost API key. Enter it once — saved permanently.
How to Use
Step 1 — Load Your Multisig Wallet
Main Menu → Load / Open Multi-Sig Wallet
→ Find my wallets (enter YOUR signer address)
Enter your personal wallet address (the one you sign with — NOT the multisig address).
The CLI scans your transaction history and finds all multisig wallets where you are a signer automatically.
Step 2 — Import Your Signing Key
Main Menu → Key Management
From seed phrase (Typhon, Eternl, Lace):
Key Management → Derive key from seed phrase
- Requires
cardano-addressinstalled - Enter your 15 or 24-word seed phrase
- Paste your wallet address to verify — must show ✅ MATCH
- Saves
payment.skey+payment.xprvwherever you choose
From Ledger hardware wallet:
Key Management → Get key hash from Ledger device
- Connect Ledger, open Cardano app
- Default derivation path:
1852H/1815H/0H/0/0 - For a second Ledger device: connect it and run again — always re-reads the connected device
From Tangem card:
- Open Tangem Cardano Signer app on Android
- Tap "List Card Wallets" → copy the key hash
- Enter it when prompted in the CLI
Step 3 — Create a Send Proposal
Wallet Actions → Create Send Proposal
- Enter recipient address
- Enter amount in ADA
- Confirm
- Note the Proposal ID (8 characters, e.g.
084953c9) - Share this ID with all co-signers
Cost: ~0.3 ADA network fee from YOUR wallet. The 1 ADA service fee is included inside the multisig transaction itself.
Step 4 — Sign the Proposal (each co-signer)
Wallet Actions → Sign Proposal
→ Enter Proposal ID
→ Choose: skey / Ledger / Tangem
Software key (.skey):
Choose option 1, enter path to your .skey file.
Ledger:
Choose option 2. Connect your Ledger, open Cardano app, press Enter. Confirm on device screen.
Each time you sign with Ledger the CLI re-reads the connected device — swap devices freely.
Tangem:
Choose option 3. A QR code appears in the terminal.
Scan it with Tangem Cardano Signer on Android → sign with card tap → paste the returned JSON back.
When saving the signature file, use a clear label:
Label for this signature file: typhon
Label for this signature file: ledger1
Label for this signature file: ledger2
Label for this signature file: tangem
Signature files are saved to ~/.maccardano_wallets/sigs/
Step 5 — Execute the Proposal
Once all required signatures are collected:
Wallet Actions → Execute Proposal
→ Enter Proposal ID
The CLI automatically finds all saved .json signature files for that proposal.
If a co-signer is on a different PC, they send you their .json file. Place it in:
~/.maccardano_wallets/sigs/
Then run Execute — it will find it automatically.
Confirm submission → transaction sent to mainnet.
View Proposals
Wallet Actions → View On-Chain Proposals
Shows all proposals with:
- Active — TTL not expired, can still be signed and executed
- Expired — 24-hour window passed, needs a new proposal
Columns: ID, Type, Amount, Signatures collected, Recipient address
Ledger on WSL
Ledger USB access requires forwarding the USB device from Windows to WSL.
Install usbipd-win on Windows:
Download from: https://github.com/dorssel/usbipd-win/releases
Install it, then in PowerShell as Administrator:
# List USB devices
usbipd list
# Find your Ledger (shows as "Ledger" or similar)
# Note the BUSID (e.g. 2-3)
# Attach Ledger to WSL
usbipd attach --wsl --busid 2-3Then inside WSL:
# Install USB tools
sudo apt install libusb-1.0-0-dev udev
# Add udev rule for Ledger
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="2c97", MODE="0660", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/20-ledger.rules
sudo udevadm control --reload-rules
sudo usermod -aG plugdev $USER
# Verify Ledger is visible
lsusb | grep -i ledgerRe-run usbipd attach each time you reconnect the Ledger.
File Locations
| File | Location |
|---|---|
| Config (API key) | ~/.maccardano_cli.json |
| Saved wallets | ~/.maccardano_wallets/ |
| Signature files | ~/.maccardano_wallets/sigs/ |
| Derived signing keys | wherever you chose during import |
WSL file location from Windows Explorer:
\\wsl$\Ubuntu\home\YourLinuxUsername\.maccardano_wallets\
Troubleshooting
"No UTxOs in proposer wallet"
When loading your .skey, the CLI shows the derived address. If it does not match your actual wallet, paste your real wallet address when prompted.
"OutsideValidityIntervalUTxO"
The proposal expired — 24-hour limit passed. Create a new proposal.
"ScriptWitnessNotValidatingUTXOW"
Not enough valid signatures. All required signers must sign before executing.
Two Ledgers show same key hash
Both devices use the same seed phrase. Each Ledger needs a unique seed for a unique signing key.
Proposal not visible on maccardano.online
The CLI uses a different metadata format from the website. This is expected — the CLI is a standalone backup tool. Proposals created via CLI are not shown on the website and vice versa.
WSL: permission denied running binary
chmod +x ~/maccardano-cliWSL: cardano-address not found
Make sure you moved it to /usr/local/bin/ and it has execute permission:
sudo chmod +x /usr/local/bin/cardano-addressFees
| Action | Cost |
|---|---|
| Proposal creation | ~0.3 ADA network fee (from your personal wallet) |
| Proposal execution | 1 ADA service fee (automatic, inside the multisig TX) |
| Signing | Free — no transaction needed |
| Key import | Free |
Security
- Your seed phrase is never stored anywhere
- All signing happens locally on your device
- The CLI connects only to Blockfrost (official Cardano API)
- Service fee address is protected inside the compiled binary and cannot be modified
- Signature files (
.json) contain only witness data — not your private key
MACCARDANO CLI — Backup tool for maccardano.online
Use this when the website is offline to manage your multisig wallets independently.