Skip to content

Commit 325093a

Browse files
graysonhycclaude
andauthored
fix(skills): restore moonpay partner docs emptied by skill consolidation (#91)
PR #86 moved partner skills into skills/zerion/partners/ but the three moonpay files landed as 0-byte stubs — content from the old zerion-moonpay-{onramp,iron,predict}/SKILL.md was dropped in the move. Restore bodies from pre-consolidation commit (257ebe0^) with the same migration transform applied to other partners: frontmatter stripped, Related Skills refs rewritten to capabilities/*.md and partners/*.md paths. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 29ae839 commit 325093a

3 files changed

Lines changed: 327 additions & 0 deletions

File tree

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
2+
# MoonPay Iron Fiat-to-DCA
3+
4+
**Purpose:** Wire USD via bank transfer to an Iron virtual account (IBAN/ACH). MoonPay converts to USDC and delivers to your wallet. Combine with Zerion trading to auto-deploy into any token on a schedule.
5+
6+
## Key Commands
7+
8+
- `mp virtual-account retrieve` — Check Iron account status
9+
- `mp virtual-account create` — Create a new virtual account (requires KYC)
10+
- `mp virtual-account onramp create` — Get IBAN/ACH deposit details
11+
- `mp virtual-account transaction list` — Monitor incoming deposits
12+
- `zerion swap usdc <token> <amount>` — Deploy USDC into target after deposit lands
13+
14+
## Requirements
15+
16+
- MoonPay CLI: `npm i -g @moonpay/cli`
17+
- Zerion CLI: `npm i -g zerion-cli`
18+
- Completed KYC on MoonPay (required for virtual accounts)
19+
- Registered wallet on both CLIs
20+
21+
## Setup
22+
23+
### 1. Create the Iron account
24+
25+
```bash
26+
mp virtual-account create
27+
# Completes KYC via URL — finish in browser
28+
29+
mp virtual-account agreement list
30+
mp virtual-account agreement accept --contentId <id>
31+
```
32+
33+
### 2. Register your wallet
34+
35+
```bash
36+
# Register the wallet that will receive USDC
37+
mp virtual-account wallet register --wallet main --chain ethereum
38+
```
39+
40+
### 3. Create the onramp and get deposit details
41+
42+
```bash
43+
mp virtual-account onramp create \
44+
--name "Main onramp" \
45+
--fiat USD \
46+
--stablecoin USDC \
47+
--wallet <address> \
48+
--chain ethereum
49+
50+
mp virtual-account onramp retrieve --onrampId <id>
51+
```
52+
53+
Output includes your IBAN (international wire) or ACH routing + account number (US bank). Wire from your bank to these details — Iron converts automatically to USDC.
54+
55+
### 4. Monitor the deposit
56+
57+
```bash
58+
mp virtual-account transaction list --json \
59+
| jq '[.items[] | {status, fiatAmount, stablecoinAmount, createdAt}]'
60+
```
61+
62+
### 5. Deploy into a position using Zerion
63+
64+
Once USDC lands, use Zerion to execute the trade:
65+
66+
```bash
67+
# Check how much USDC arrived
68+
zerion positions <address>
69+
70+
# Swap USDC into ETH
71+
zerion swap usdc eth 500
72+
73+
# Or bridge USDC to Arbitrum first, then swap
74+
zerion bridge usdc arbitrum 500
75+
zerion swap usdc eth 500 --chain arbitrum
76+
```
77+
78+
## Manual DCA pattern
79+
80+
Run the swap command daily to dollar-cost average:
81+
82+
```bash
83+
# Deploy $71 per day for 7 days ($500 total into ETH)
84+
zerion swap usdc eth 71
85+
```
86+
87+
Automate with cron (Linux) or launchd (macOS):
88+
89+
```bash
90+
# Linux cron — 9am daily
91+
(crontab -l 2>/dev/null; echo '0 9 * * * zerion swap usdc eth 71 # iron-dca') | crontab -
92+
```
93+
94+
## Notes
95+
96+
- Wire transfers settle in 1–3 business days; ACH in 1 business day
97+
- USDC lands in your registered wallet automatically — no manual claim step
98+
- Iron virtual accounts are a MoonPay product (Iron.fi) — the IBAN is a real bank account number
99+
- Pair with `zerion analyze` before each DCA to check current price levels
100+
101+
## Related Skills
102+
103+
- **capabilities/trading.md** — Execute swaps and bridges after USDC lands
104+
- **capabilities/analyze.md** — Check portfolio and current prices before deploying
105+
- **partners/moonpay-onramp.md** — Card/bank purchase for smaller amounts without IBAN setup
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
2+
# MoonPay Fiat Onramp
3+
4+
**Purpose:** Buy crypto with a credit card or bank transfer via MoonPay CLI, then use the funded wallet with Zerion for trading and analysis.
5+
6+
## Key Commands
7+
8+
- `mp buy --token <token> --amount <usd> --wallet <address> --email <email>` — Purchase crypto with fiat
9+
- `mp token balance list --wallet <address> --chain <chain>` — Verify funds arrived
10+
- `mp wallet list` — View wallet addresses
11+
12+
## Requirements
13+
14+
- MoonPay CLI (`npm i -g @moonpay/cli`) — handles fiat-to-crypto purchases
15+
- Zerion CLI (`npm i -g zerion-cli`) — for on-chain analysis and trading after funding
16+
- Wallet address (use `zerion wallet list` or `mp wallet list`)
17+
18+
## Workflow
19+
20+
### 1. Confirm your wallet address
21+
22+
```bash
23+
# Zerion wallet (preferred — shared EVM address)
24+
zerion wallet list
25+
26+
# Or MoonPay wallet
27+
mp wallet list
28+
```
29+
30+
### 2. Buy crypto with fiat
31+
32+
```bash
33+
# Buy ETH on Ethereum mainnet with $100
34+
mp buy \
35+
--token eth_ethereum \
36+
--amount 100 \
37+
--wallet <eth-address> \
38+
--email <email>
39+
```
40+
41+
MoonPay returns a checkout URL — complete payment in browser. Funds arrive in ~5–30 minutes depending on payment method.
42+
43+
**Common tokens:**
44+
45+
| Token | Symbol | Chain |
46+
|-------|--------|-------|
47+
| Ethereum | `eth_ethereum` | Ethereum |
48+
| Solana | `sol_solana` | Solana |
49+
| Polygon | `pol_polygon` | Polygon |
50+
| Monad | `mon_mon` | Monad |
51+
| USDC (Ethereum) | `usdc_ethereum` | Ethereum |
52+
| USDC (Solana) | `usdc_solana` | Solana |
53+
54+
### 3. Verify funds arrived
55+
56+
```bash
57+
# Check balance on Ethereum
58+
mp token balance list --wallet <address> --chain ethereum
59+
60+
# Or via Zerion analyze
61+
zerion analyze <address>
62+
```
63+
64+
### 4. Start trading with Zerion
65+
66+
Once funded, use the full Zerion trading stack:
67+
68+
```bash
69+
# Swap ETH for USDC
70+
zerion swap eth usdc 0.05
71+
72+
# Bridge to another chain
73+
zerion bridge eth arbitrum 0.05
74+
75+
# Full portfolio view
76+
zerion analyze <address>
77+
```
78+
79+
## Authentication
80+
81+
MoonPay CLI uses its own authentication — run `mp login` on first use. The wallet address is shared between CLIs (same EVM address works in both).
82+
83+
## Common Blockers
84+
85+
- KYC required for purchases above $150 — complete at moonpay.com
86+
- Bank transfers take 1–3 business days; card purchases settle in minutes
87+
- `--email` flag is required for fiat purchases (receipt + KYC link)
88+
89+
## Related Skills
90+
91+
- **capabilities/analyze.md** — Check portfolio after funding
92+
- **capabilities/trading.md** — Swap, bridge, and send once wallet is funded
93+
- **partners/moonpay-iron.md** — Wire fiat via IBAN/ACH for larger amounts
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
2+
# MoonPay Prediction Markets
3+
4+
**Purpose:** Trade on prediction markets (Polymarket, Kalshi) using MoonPay CLI. Combines market research from Zerion portfolio analysis with event-based position taking.
5+
6+
## Key Commands
7+
8+
- `mp prediction-market market search --query <topic>` — Find markets by keyword
9+
- `mp prediction-market market trending list` — Top markets by volume
10+
- `mp prediction-market position buy --marketId <id> --outcome <yes|no> --amount <usdc>` — Open a position
11+
- `mp prediction-market position list` — View open positions
12+
- `mp prediction-market position sell --positionId <id>` — Exit a position
13+
- `mp prediction-market pnl retrieve` — Profit/loss across all markets
14+
15+
## Requirements
16+
17+
- MoonPay CLI: `npm i -g @moonpay/cli`
18+
- Funded wallet on Polygon with USDC.e (Polymarket uses Polygon)
19+
- USDC.e address: `0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174`
20+
21+
## Setup: Fund the Polygon wallet
22+
23+
Polymarket requires USDC.e on Polygon. Use MoonPay to bridge or buy:
24+
25+
```bash
26+
# Option A: Buy POL for gas, then bridge ETH to USDC.e
27+
mp buy --token pol_polygon --amount 5 --wallet <address> --email <email>
28+
29+
mp token bridge \
30+
--from-wallet main --from-chain ethereum \
31+
--from-token 0x0000000000000000000000000000000000000000 \
32+
--from-amount 0.01 \
33+
--to-chain polygon \
34+
--to-token 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
35+
36+
# Option B: Buy POL for gas directly + buy USDC on Polygon
37+
mp buy --token usdc_polygon --amount 50 --wallet <address> --email <email>
38+
```
39+
40+
Verify:
41+
42+
```bash
43+
mp token balance list --wallet <address> --chain polygon
44+
```
45+
46+
## Trading workflow
47+
48+
### 1. Find a market
49+
50+
```bash
51+
# Search by topic
52+
mp prediction-market market search --query "bitcoin ETF"
53+
54+
# Or browse trending
55+
mp prediction-market market trending list --limit 10
56+
```
57+
58+
### 2. Check market details
59+
60+
```bash
61+
mp prediction-market market price retrieve --marketId <id>
62+
mp prediction-market market price-history list --marketId <id>
63+
```
64+
65+
### 3. Open a position
66+
67+
```bash
68+
# Buy YES on a market with $20 USDC
69+
mp prediction-market position buy \
70+
--marketId <id> \
71+
--outcome yes \
72+
--amount 20
73+
74+
# Buy NO
75+
mp prediction-market position buy \
76+
--marketId <id> \
77+
--outcome no \
78+
--amount 20
79+
```
80+
81+
### 4. Monitor and close
82+
83+
```bash
84+
# View all open positions
85+
mp prediction-market position list
86+
87+
# View P&L
88+
mp prediction-market pnl retrieve
89+
90+
# Sell a position early
91+
mp prediction-market position sell --positionId <id>
92+
93+
# Redeem after market resolves
94+
mp prediction-market position redeem --positionId <id>
95+
```
96+
97+
## Combining with Zerion analysis
98+
99+
Use Zerion's on-chain data to inform macro market calls:
100+
101+
```bash
102+
# Check ETH whale flows before betting on price outcomes
103+
zerion history <whale-address>
104+
105+
# Check DeFi TVL trends before markets that depend on protocol health
106+
zerion positions <defi-protocol-address>
107+
108+
# Then place a prediction market bet based on the on-chain signal
109+
mp prediction-market position buy --marketId <eth-price-market-id> --outcome yes --amount 25
110+
```
111+
112+
## Common Blockers
113+
114+
- Gas required: keep at least $3–5 POL in the wallet for transaction fees
115+
- Market liquidity: check `market price retrieve` — low-liquidity markets have wide spreads
116+
- Position limits: some markets cap individual position size
117+
- Resolution delay: markets resolve after the event; redemption is available after resolution
118+
119+
## Notes
120+
121+
- Polymarket runs on Polygon — all positions are on-chain and non-custodial
122+
- USDC.e (`0x2791...`) is different from native USDC — Polymarket uses USDC.e specifically
123+
- P&L reflects unrealized gains; positions only settle to final value at market resolution
124+
125+
## Related Skills
126+
127+
- **capabilities/analyze.md** — On-chain research to inform market predictions
128+
- **partners/moonpay-onramp.md** — Fund the wallet with fiat first
129+
- **capabilities/trading.md** — Move profits back to Ethereum after positions close

0 commit comments

Comments
 (0)