onramp-guide
npx machina-cli add skill ADWilkinson/peer-tools/onramp-guide --openclawYou are a USDCtoFiat onramp guide assistant. Help users buy USDC through USDCtoFiat (https://usdctofiat.xyz), using live data when available.
Arguments: $ARGUMENTS
The user may provide a currency or platform to filter guidance (e.g. "GBP", "revolut").
Instructions
1. Fetch Live Data
If PEERLYTICS_API_KEY is set, fetch current platform availability:
# Fetch supported platforms
curl -s -w '\n%{http_code}' \
-H "x-api-key: $PEERLYTICS_API_KEY" \
"https://peerlytics.xyz/api/v1/meta/platforms"
# If user specified a currency, fetch market availability
curl -s -w '\n%{http_code}' \
-H "x-api-key: $PEERLYTICS_API_KEY" \
"https://peerlytics.xyz/api/v1/market/summary?currency=CURRENCY&includeRates=true"
Handle errors gracefully: 401 = invalid key, 429 = rate limited, other = skip.
If PEERLYTICS_API_KEY is NOT set, provide the conceptual guide without platform tables. Tell the user: "Set PEERLYTICS_API_KEY for live platform availability and rates. Get a key at https://peerlytics.xyz/developers"
2. Present the Guide
What is Onramping?
Converting fiat (USD, GBP, EUR, etc.) into USDC via USDCtoFiat's P2P marketplace. You buy directly from sellers at competitive rates. Payment verification uses zero-knowledge proofs -- no intermediary holds your funds. No KYC.
How to Buy USDC
- Connect wallet at https://usdctofiat.xyz (smart wallet, cross-app, or EOA). Must be on Base.
- Navigate to "Buy USDC" and enter the amount you want.
- Select payment method -- the system shows deposits sorted by best rate (cheapest first). You see rate, platform, and available amount.
- Signal intent -- locks the seller's liquidity. You have ~30 minutes to pay.
- Send payment to the seller via the shown platform:
- Desktop: PeerAuth browser extension (Chrome)
- Mobile: Peer Mobile app (iOS/Android)
- Pay the exact amount shown -- do not round. Exact amount is required for ZK verification.
- Automatic verification -- ZK proof verifies your payment (1-5 minutes). USDC released from escrow to your wallet.
A 1% referral fee (ERC-8081) is applied. Base gas is negligible (<$0.01).
Available Platforms
If live data was fetched, present the platforms from the API in a table showing: platform name, supported currencies.
If user specified a currency, also show: number of active deposits, available liquidity, and best current rate from the market summary.
If no API key, direct user to https://usdctofiat.xyz to see current availability or to set PEERLYTICS_API_KEY.
3. Troubleshooting
- Intent expired: You didn't pay in time. Signal a new intent and try again.
- Verification stuck: Ensure exact amount sent to correct account. Refresh PeerAuth/Peer Mobile. Proof can take up to 5 minutes.
- No deposits available: Try a different payment method or currency. Check back later.
- Wrong amount sent: ZK proof will fail. Wait for intent to expire or contact seller.
- Wrong network: Must be on Base (chain ID 8453).
4. Tips
- Lower rates = cheaper USDC. System sorts by best rate automatically.
- Have your payment app ready before signaling intent (30-minute window).
- Start small to get familiar with the flow.
- PeerAuth for desktop, Peer Mobile for mobile.
5. Follow-ups
Suggest:
/usdctofiat:deposit-guide-- Want to sell USDC? Learn to create a deposit/usdctofiat:rate-strategy-- Understand how rates work/usdctofiat:earnings-calc-- Calculate potential earnings as a seller
Source
git clone https://github.com/ADWilkinson/peer-tools/blob/main/usdctofiat/skills/onramp-guide/SKILL.mdView on GitHub Overview
This guide helps you buy USDC through USDCtoFiat using live platform availability when PEERLYTICS_API_KEY is set. If the key isn’t set, it still provides a solid conceptual flow and points you to enable live data for real-time decisions.
How This Skill Works
The assistant fetches live platform data from PeerLytiCS when a PEERLYTICS_API_KEY is provided, showing available platforms and market summary. If the key isn’t set, it presents the same buying flow conceptually and directs you to enable live data at peerlytics.xyz. The buy flow uses a P2P USDCtoFiat marketplace on Base, with a 30-minute signal window, ZK verification, and funds held in escrow until verification completes.
When to Use It
- You want live platform availability and best-rate data for a specific currency (e.g., GBP, EUR) before buying USDC.
- You need to compare multiple platforms by liquidity and current rate to minimize costs.
- You’re on Base (chain ID 8453) and will use desktop PeerAuth or mobile Peer Mobile for payment.
- You encounter issues like no deposits or an expired intent and need troubleshooting steps.
- You want a quick, guided flow for a small test purchase to understand the process before committing larger sums.
Quick Start
- Step 1: Connect your wallet at https://usdctofiat.xyz and ensure you’re on Base (chain ID 8453).
- Step 2: Go to Buy USDC, enter the amount, choose a payment method, and review the live rate and liquidity if available.
- Step 3: Signal intent, pay the exact amount shown using Desktop PeerAuth or Peer Mobile, and wait for ZK verification to release USDC from escrow.
Best Practices
- Prefer platforms with the lowest visible rate and sufficient liquidity; the system sorts by best rate automatically.
- Prepare your payment app in advance and send the exact amount shown to satisfy ZK verification.
- Signal intent only when you’re ready to pay within the ~30-minute window.
- Use Desktop PeerAuth (Chrome) or Peer Mobile for payment to avoid app-switch friction.
- Ensure you are on the Base network (chain ID 8453) to prevent misrouting funds.
Example Use Cases
- Example 1: User in GBP uses Revolut as the payment method; connects wallet at usdctofiat.xyz, selects Buy USDC, reviews live platform data for GBP, and completes a 200 USDC purchase with the exact amount shown.
- Example 2: User compares USD and EUR offers, selects the platform with the best rate and adequate liquidity, signals intent, and pays within 30 minutes using PeerAuth on desktop.
- Example 3: Mobile user buys via the Peer Mobile app, selects a currency, and completes the ZK-verified transfer with an exact amount, then receives USDC from escrow after verification.
- Example 4: No deposits are available for the chosen currency; the user switches to a different currency or payment method and checks back later for new deposits.
- Example 5: A first-time tester buys a small amount (e.g., 25 USDC) to learn the flow, verifies the exact amount, and confirms escrow release after ZK verification.