About moonpay-export-data
moonpay-export-data is a skill for saving portfolio balances and CLI-recorded transaction history as CSV or JSON. It provides `mp` and `jq` command examples for dated exports, including multi-chain portfolio snapshots.
Key features
- 01Export portfolio data as CSV or JSON
- 02Export CLI swap and bridge history
- 03Combine balances across chains
- 04Create date-stamped export files
- 05Format output with `jq`
Use cases
- 01Prepare token balance spreadsheets
- 02Keep dated portfolio snapshots
- 03Create records for tax reporting
- 04Process exported data programmatically
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ moonpay/ skills --skill moonpay-export-dataAfter installing, type/moonpay-export-datain Claude Code to confirm it loaded.
Details
From the project READMEExport data
Goal
Save portfolio snapshots and transaction history to CSV or JSON files using mp output piped through jq. Useful for spreadsheets, tax reporting, and record-keeping.
Prerequisites
jqinstalled:which jq- Default output directory:
~/Documents/moonpay/(create if needed)
Portfolio to CSV
Export all token balances for a wallet on a specific chain:
mkdir -p ~/Documents/moonpay
# Header + data
echo "symbol,name,amount,usd_value,price" > ~/Documents/moonpay/portfolio-$(date +%Y%m%d).csv
mp --json token balance list --wallet <address> --chain solana \
| jq -r '.items[] | [.symbol, .name, .balance.amount, .balance.value, .balance.price] | @csv' \
>> ~/Documents/moonpay/portfolio-$(date +%Y%m%d).csv
Multi-chain portfolio
Loop over chains and append to one file:
FILE=~/Documents/moonpay/portfolio-$(date +%Y%m%d).csv
echo "chain,symbol,name,amount,usd_value,price" > "$FILE"
for CHAIN in solana ethereum base polygon arbitrum; do
mp --json token balance list --wallet <address> --chain "$CHAIN" \
| jq -r --arg chain "$CHAIN" '.items[] | [$chain, .symbol, .name, .balance.amount, .balance.value, .balance.price] | @csv' \
>> "$FILE" 2>/dev/null
done
Note: EVM wallets share one address across all EVM chains. Solana uses a different address.
Transaction history to CSV
Export swap and bridge history. These are transactions executed via the CLI and registered with swaps.xyz — not all on-chain activity.
echo "date,type,from_chain,from_token,from_amount,to_chain,to_token,to_amount,usd,status" \
> ~/Documents/moonpay/transactions-$(date +%Y%m%d).csv
mp --json transaction list --wallet <address> \
| jq -r '.items[] | [
.transactionId,
.type,
.from.chain, .from.token, .from.amount,
.to.chain, .to.token, .to.amount,
.usd,
.status
] | @csv' \
>> ~/Documents/moonpay/transactions-$(date +%Y%m%d).csv
Filter by chain
mp --json transaction list --wallet <address> --chain solana \
| jq -r '.items[] | ...' >> transactions.csv
Portfolio to JSON
For structured data or programmatic use:
mp --json token balance list --wallet <address> --chain solana \
| jq '.items | map({symbol, amount: .balance.amount, usd: .balance.value})' \
> ~/Documents/moonpay/portfolio-$(date +%Y%m%d).json
Open exported file
After writing the file, open it in the default app:
# macOS — opens in Numbers/Excel
open ~/Documents/moonpay/portfolio-$(date +%Y%m%d).csv
# Linux
xdg-open ~/Documents/moonpay/portfolio-$(date +%Y%m%d).csv
Tips
jq @csvhandles proper CSV escaping (quotes, commas in values)- Date-stamp filenames to keep a history:
portfolio-20260222.csv mp transaction listonly includes CLI-executed swaps/bridges registered via swaps.xyz, not all on-chain transactions- For a quick summary without exporting, use
mp token balance list --wallet <addr> --chain <chain>directly - EVM address is the same across ethereum, base, polygon, arbitrum, optimism, bnb, avalanche
Related skills
- moonpay-check-wallet — View balances interactively
- moonpay-block-explorer — Open exported transactions in block explorers
- moonpay-trading-automation — Combine with scheduled exports for daily snapshots