Install
openclaw skills install mpc-accept-crypto-paymentsAccept crypto payments on Solana via MoonPay Commerce (formerly Helio). Create Pay Links, generate checkout URLs, check transactions, and list supported currencies. Use when the user wants to accept crypto payments, create payment links, charge for products/services with crypto, or query payment transactions. Requires a MoonPay Commerce account with API key and secret.
openclaw skills install mpc-accept-crypto-paymentsMerchant-side skill for accepting crypto payments on Solana via MoonPay Commerce (formerly Helio).
Run the setup script with your API credentials (wallet ID is fetched automatically):
bash scripts/setup.sh
You'll need:
The setup script will:
~/.mpc/helio/configIf the user doesn't have an account, direct them to https://app.hel.io to sign up.
bash scripts/setup.sh status # Show current config
bash scripts/setup.sh clear # Remove saved credentials
Base URL: https://api.hel.io/v1
curl -s https://api.hel.io/v1/currency | jq '.[].symbol'
curl -s -X POST "https://api.hel.io/v1/paylink/create/api-key?apiKey=$HELIO_API_KEY" \
-H "Authorization: Bearer $HELIO_API_SECRET" \
-H "Content-Type: application/json" \
-d '{
"name": "My Payment",
"template": "OTHER",
"pricingCurrency": "<CURRENCY_ID>",
"price": "<AMOUNT_IN_BASE_UNITS>",
"features": {
"canChangePrice": false,
"canChangeQuantity": false,
"canSwapTokens": true
},
"recipients": [{
"currencyId": "<CURRENCY_ID>",
"walletId": "<YOUR_WALLET_ID>"
}]
}'
Defaults: Currency is USDC (6340313846e4f91b8abc519b). Token swapping is enabled so payers can pay with any supported Solana token (auto-converted to USDC).
Price format: price is in base units (int64 string). For USDC (6 decimals): "1000000" = 1 USDC. For SOL (9 decimals): "1000000000" = 1 SOL.
curl -s -X POST "https://api.hel.io/v1/charge/api-key?apiKey=$HELIO_API_KEY" \
-H "Authorization: Bearer $HELIO_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"paymentRequestId": "<PAYLINK_ID>"}'
Returns { "id": "...", "pageUrl": "https://..." } — share pageUrl with the payer.
curl -s "https://api.hel.io/v1/paylink/<PAYLINK_ID>/transactions?apiKey=$HELIO_API_KEY" \
-H "Authorization: Bearer $HELIO_API_SECRET"
curl -s -X PATCH "https://api.hel.io/v1/paylink/<PAYLINK_ID>/disable?apiKey=$HELIO_API_KEY&disabled=true" \
-H "Authorization: Bearer $HELIO_API_SECRET"
# Setup (run first)
bash scripts/setup.sh
# Operations
bash scripts/helio.sh currencies
bash scripts/helio.sh create-paylink "Coffee" 5.00 USDC
bash scripts/helio.sh charge <paylink-id>
bash scripts/helio.sh transactions <paylink-id>
bash scripts/helio.sh disable <paylink-id>
bash scripts/helio.sh enable <paylink-id>
The template field controls Pay Link type:
OTHER — generic paymentPRODUCT — physical/digital productINVOICE — invoiceSUBSCRIPTION — recurring (requires subscriptionDetails)EVENT — event ticketWhen setting up credentials, run the setup script interactively:
bash scripts/setup.sh
The script prompts for credentials directly in the terminal — they are never stored in chat history or logs. Credentials are saved to ~/.mpc/helio/config (mode 600).
references/api-reference.md