Alchemy Agentic Gateway
moonpay/skills
A skill your agent uses when accessing Alchemy APIs for RPC calls, token balances, NFT metadata, asset transfers, transaction simulation, or Alchemy-specific features.
Operates Breeze x402 payment-gated endpoints for balance checks, deposits, and withdrawals on Solana.
$ npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills breeze-x402-payment-api --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/breeze-x402-payment-api .claude/skills/breeze-x402-payment-api && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "breeze-x402-payment-api" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/breeze-x402-payment-api into .claude/skills/breeze-x402-payment-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "breeze-x402-payment-api", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/breeze-x402-payment-apiType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills breeze-x402-payment-api --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/breeze-x402-payment-api .agents/skills/breeze-x402-payment-api && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "breeze-x402-payment-api" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/breeze-x402-payment-api into .agents/skills/breeze-x402-payment-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "breeze-x402-payment-api", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills breeze-x402-payment-api --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/breeze-x402-payment-api .cursor/skills/breeze-x402-payment-api && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "breeze-x402-payment-api" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/breeze-x402-payment-api into .cursor/skills/breeze-x402-payment-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "breeze-x402-payment-api", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LeoYeAI/openclaw-master-skills.git --path skills/breeze-x402-payment-api--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills breeze-x402-payment-api --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/breeze-x402-payment-api .gemini/skills/breeze-x402-payment-api && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "breeze-x402-payment-api" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/breeze-x402-payment-api into .gemini/skills/breeze-x402-payment-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "breeze-x402-payment-api", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LeoYeAI/openclaw-master-skills breeze-x402-payment-apiInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/breeze-x402-payment-api .github/skills/breeze-x402-payment-api && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "breeze-x402-payment-api" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/breeze-x402-payment-api into .github/skills/breeze-x402-payment-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "breeze-x402-payment-api", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills breeze-x402-payment-api --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/breeze-x402-payment-api .opencode/skills/breeze-x402-payment-api && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "breeze-x402-payment-api" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/breeze-x402-payment-api into .opencode/skills/breeze-x402-payment-api/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "breeze-x402-payment-api", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
breeze-x402-payment-apiOperates Breeze x402 payment-gated endpoints for balance checks, deposits, and withdrawals on Solana.
Breeze X402 Payment API is an agent skill from LeoYeAI/openclaw-master-skills. Operates Breeze x402 payment-gated endpoints for balance checks, deposits, and withdrawals on Solana. Use when the user asks to manage Breeze positions or execute paid x402 API calls.
Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `README.md` and `_meta.json`). Compatibility notes: Requires Node.js and network access to x402 API and Solana RPC. Requires a funded Solana wallet for x402 USDC micropayments.
It sits in Backend & APIs. It works with x402, Solana and Circle USDC. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodecurlnpmpnpmbunFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
x402.breeze.babyapi.mainnet-beta.solana.comapi.breeze.babysolscan.ioAlso links to:
breeze.babygithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
WALLET_PRIVATE_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Node.js and network access to x402 API and Solana RPC. Requires a funded Solana wallet for x402 USDC micropayments.
From compatibility in the SKILL.md frontmatter.
Breeze X402 Payment API loads about 4.6k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 1,050 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
fs.writeFileSync('.env', `WALLET_PRIVATE_KEY=${secretKeyBase58}\n`);console.log('Saved .env with WALLET_PRIVATE_KEY and wallet-backup.json — keep both secret and out of git!');t least 0.01 SOL before continuing. The `.env` file now contains your `WALLET_PRIVATE_KEY`.# Set WALLET_PRIVATE_KEY from the .env created in Step 0export $(cat .env | xargs) && node deposit.jsAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,050 words, ~4,627 tokens.
.claude/skills/breeze-x402-payment-api/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Interact with Breeze through its x402 payment-gated HTTP API. Each protected request pays a small USDC micropayment, then returns API data or an unsigned Solana transaction.
This is the fastest path from zero to a working deposit. Read this before anything else.
What you need:
Run once to create and save a keypair:
// generate-wallet.js
const { Keypair } = require('@solana/web3.js');
const fs = require('fs');
// Install first: npm install @solana/web3.js --legacy-peer-deps
const bs58Module = require('bs58');
const bs58 = bs58Module.default || bs58Module;
const keypair = Keypair.generate();
const secretKeyBase58 = bs58.encode(keypair.secretKey);
console.log('Public key (fund this address):', keypair.publicKey.toBase58());
// Save secret key to file — never print it to the console
fs.writeFileSync('wallet-backup.json', JSON.stringify(Array.from(keypair.secretKey)));
fs.writeFileSync('.env', `WALLET_PRIVATE_KEY=${secretKeyBase58}\n`);
console.log('Saved .env with WALLET_PRIVATE_KEY and wallet-backup.json — keep both secret and out of git!');node generate-wallet.jsFund the printed public key with USDC and at least 0.01 SOL before continuing. The .env file now contains your WALLET_PRIVATE_KEY.
Verify everything is reachable before writing code:
# x402 server health
curl https://x402.breeze.baby/healthz
# Breeze strategy info (no auth needed)
curl https://api.breeze.baby/strategy-info/43620ba3-354c-456b-aa3c-5bf7fa46a6d4
# Wallet USDC balance (replace YOUR_WALLET_ADDRESS)
curl https://api.mainnet-beta.solana.com \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getTokenAccountsByOwner","params":["YOUR_WALLET_ADDRESS",{"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},{"encoding":"jsonParsed"}]}'Expected: healthz returns {"status":"ok"}, strategy-info returns strategy data, token query shows your USDC balance. If any of these fail, fix the connectivity issue before proceeding.
npm install @faremeter/fetch @faremeter/payment-solana @faremeter/wallet-solana @faremeter/info @solana/web3.js bs58 --legacy-peer-deps
--legacy-peer-depsis required for npm. Without it,@faremeter/*peer dependency conflicts cause npm to silently remove@solana/web3.js.
Save as deposit.js and run with node deposit.js:
// deposit.js — CommonJS, no TypeScript needed
'use strict';
const { wrap } = require('@faremeter/fetch');
const { createPaymentHandler } = require('@faremeter/payment-solana/exact');
const { createLocalWallet } = require('@faremeter/wallet-solana');
const { Connection, Keypair, PublicKey, VersionedTransaction, Transaction } = require('@solana/web3.js');
// bs58 exports .default in some CJS environments
const bs58Module = require('bs58');
const bs58 = bs58Module.default || bs58Module;
async function main() {
const WALLET_PRIVATE_KEY = process.env.WALLET_PRIVATE_KEY;
if (!WALLET_PRIVATE_KEY) throw new Error('Set WALLET_PRIVATE_KEY env var');
const API_URL = 'https://x402.breeze.baby';
const STRATEGY_ID = '43620ba3-354c-456b-aa3c-5bf7fa46a6d4';
const USDC_MINT = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
const DEPOSIT_AMOUNT = 1_000_000; // 1 USDC (6 decimals)
// Setup
const keypair = Keypair.fromSecretKey(bs58.decode(WALLET_PRIVATE_KEY));
const connection = new Connection('https://api.mainnet-beta.solana.com');
const wallet = await createLocalWallet('mainnet-beta', keypair);
const paymentHandler = createPaymentHandler(wallet, new PublicKey(USDC_MINT), connection);
const fetchWithPayment = wrap(fetch, { handlers: [paymentHandler] });
console.log('Wallet:', keypair.publicKey.toBase58());
// Build deposit transaction
const res = await fetchWithPayment(`${API_URL}/deposit`, {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({
amount: DEPOSIT_AMOUNT,
user_key: keypair.publicKey.toBase58(),
strategy_id: STRATEGY_ID,
base_asset: USDC_MINT,
}),
});
if (!res.ok) {
const text = await res.text();
throw new Error(`Deposit failed (${res.status}): ${text}`);
}
// Parse transaction string (may be bare or JSON-wrapped)
const raw = (await res.text()).trim();
const txString = raw.startsWith('"') ? JSON.parse(raw) : raw;
// Sign and send (try versioned tx first, fall back to legacy)
const bytes = Buffer.from(txString, 'base64');
let sig;
try {
const tx = VersionedTransaction.deserialize(bytes);
tx.sign([keypair]);
sig = await connection.sendRawTransaction(tx.serialize());
} catch {
const tx = Transaction.from(bytes);
tx.partialSign(keypair);
sig = await connection.sendRawTransaction(tx.serialize());
}
await connection.confirmTransaction(sig, 'confirmed');
console.log('Done! View transaction:', `https://solscan.io/tx/${sig}`);
}
main().catch(console.error);# Set WALLET_PRIVATE_KEY from the .env created in Step 0
export $(cat .env | xargs) && node deposit.jsThese are different APIs with different paths. Do not mix them up.
| API | Base URL | Endpoints | Auth method |
|---|---|---|---|
| x402 (this skill) | https://x402.breeze.baby | /balance/:fund_user<br>/deposit<br>/withdraw<br>/healthz (free) | USDC micropayment via x402 protocol |
| Direct REST API | https://api.breeze.baby | /deposit/tx<br>/withdraw/tx<br>/strategy-info/:id | x-api-key header |
This skill uses the x402 API. The direct REST API uses different paths and API key auth — do not mix them.
WALLET_PRIVATE_KEY (base58 secret key — see Step 0 to generate one)STRATEGY_ID (defaults to 43620ba3-354c-456b-aa3c-5bf7fa46a6d4 — you can use any Breeze strategy ID)X402_API_URL (default https://x402.breeze.baby)SOLANA_RPC_URL (default https://api.mainnet-beta.solana.com)BASE_ASSET mint (default USDC mint)WALLET_PRIVATE_KEY.wallet-backup.json to .gitignore immediately.# npm (--legacy-peer-deps required)
npm install @faremeter/fetch @faremeter/payment-solana @faremeter/wallet-solana @faremeter/info @solana/web3.js bs58 --legacy-peer-deps# pnpm
pnpm add @faremeter/fetch @faremeter/payment-solana @faremeter/wallet-solana @faremeter/info @solana/web3.js bs58# bun
bun add @faremeter/fetch @faremeter/payment-solana @faremeter/wallet-solana @faremeter/info @solana/web3.js bs58Use this setup once per runtime. It automatically handles x402 challenges (402 → build payment proof → retry request):
import { wrap } from "@faremeter/fetch";
import { createPaymentHandler } from "@faremeter/payment-solana/exact";
import { createLocalWallet } from "@faremeter/wallet-solana";
import { Connection, Keypair, PublicKey } from "@solana/web3.js";
import bs58 from "bs58";
const API_URL = (process.env.X402_API_URL ?? "https://x402.breeze.baby").replace(/\/$/, "");
const SOLANA_RPC_URL = process.env.SOLANA_RPC_URL ?? "https://api.mainnet-beta.solana.com";
const STRATEGY_ID = process.env.STRATEGY_ID || "43620ba3-354c-456b-aa3c-5bf7fa46a6d4";
const BASE_ASSET = process.env.BASE_ASSET ?? "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
const WALLET_PRIVATE_KEY = process.env.WALLET_PRIVATE_KEY!;
const keypair = Keypair.fromSecretKey(bs58.decode(WALLET_PRIVATE_KEY));
const connection = new Connection(SOLANA_RPC_URL);
const wallet = await createLocalWallet("mainnet-beta", keypair);
const walletPublicKey = keypair.publicKey.toBase58();
const USDC_MINT = new PublicKey(BASE_ASSET);
const paymentHandler = createPaymentHandler(wallet, USDC_MINT, connection);
const fetchWithPayment = wrap(fetch, { handlers: [paymentHandler] });GET /balance/:fund_userReturns JSON with positions, deposited amounts, yield earned, and APY. Values are in base units. Convert to human amounts with token decimals.
const response = await fetchWithPayment(
`${API_URL}/balance/${encodeURIComponent(walletPublicKey)}`,
{ method: "GET" },
);
const balances = await response.json();POST /deposit
Content-Type: application/jsonBuilds an unsigned deposit transaction.
amount must be base units (example: 10_000_000 = 10 USDC).
const response = await fetchWithPayment(`${API_URL}/deposit`, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
amount: 10_000_000, // 10 USDC (6 decimals)
user_key: walletPublicKey,
strategy_id: STRATEGY_ID,
base_asset: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
}),
});
const txString = await response.text(); // encoded unsigned transactionPOST /withdraw
Content-Type: application/jsonBuilds an unsigned withdrawal transaction. Supports optional WSOL handling flags.
amount must be base units.
const response = await fetchWithPayment(`${API_URL}/withdraw`, {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
amount: 5_000_000,
user_key: walletPublicKey,
strategy_id: STRATEGY_ID,
base_asset: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
all: false,
exclude_fees: true, // always recommended
// For wrapped SOL withdrawals only:
// unwrap_wsol_ata: true, // unwrap WSOL to native SOL
// create_wsol_ata: true, // create WSOL ATA if needed
// detect_wsol_ata: true, // auto-detect WSOL ATA existence
}),
});
const txString = await response.text();Withdraw parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | number | yes | Amount in base units |
user_key | string | yes | User's Solana public key |
strategy_id | string | yes | Breeze strategy ID (default: 43620ba3-354c-456b-aa3c-5bf7fa46a6d4, or any valid strategy) |
base_asset | string | yes | Token mint address |
all | boolean | no | Withdraw entire position |
exclude_fees | boolean | no | Exclude fees from amount (recommended: true) |
unwrap_wsol_ata | boolean | no | Unwrap WSOL to native SOL after withdraw |
create_wsol_ata | boolean | no | Create WSOL ATA if it doesn't exist |
detect_wsol_ata | boolean | no | Auto-detect WSOL ATA and set flags accordingly |
WSOL handling: when withdrawing WSOL (So11111111111111111111111111111111111111112), pass unwrap_wsol_ata: true to receive native SOL.
GET /healthzFree endpoint (no x402 payment required). Returns {"status":"ok"} when the service is running. Use this to verify connectivity before making paid requests.
Copy a checklist into your working notes and mark each step complete.
Task Progress:
wallet public key inputGET /balance/:fund_user with URL-encoded wallet keyresponse.ok; if not, capture status/body and stopTask Progress:
floor(amount * 10^decimals))POST /deposit with validated payloadresponse.ok; if not, capture status/body and stopTask Progress:
all=trueexclude_fees: true unless user asks otherwiseunwrap_wsol_ata: truePOST /withdraw with validated payloadresponse.ok; if not, capture status/body and stopDeposit and withdraw return encoded unsigned transactions. Normalize then sign/send:
import { VersionedTransaction, Transaction } from "@solana/web3.js";
function extractTransactionString(responseText: string): string {
const trimmed = responseText.trim();
try {
const parsed = JSON.parse(trimmed);
if (typeof parsed === "string") return parsed;
throw new Error("expected transaction string");
} catch (e) {
if (e instanceof SyntaxError) return trimmed;
throw e;
}
}
async function signAndSend(txString: string) {
const bytes = Uint8Array.from(Buffer.from(txString, "base64"));
// Try versioned transaction first, then legacy
try {
const tx = VersionedTransaction.deserialize(bytes);
tx.sign([keypair]);
const sig = await connection.sendRawTransaction(tx.serialize());
await connection.confirmTransaction(sig, "confirmed");
return sig;
} catch {
const tx = Transaction.from(bytes);
tx.partialSign(keypair);
const sig = await connection.sendRawTransaction(tx.serialize());
await connection.confirmTransaction(sig, "confirmed");
return sig;
}
}Validation loop:
VersionedTransaction path.Transaction path.400 errors: payload issue. Re-check required fields and amount positivity.401/403: wallet/payment authorization issue. Verify wallet and x402 payment capability.402: payment challenge not satisfied. Re-run request through wrapped fetch and do not bypass payment handler.500+: upstream or proxy issue. Retry once with short backoff, then report failure.deserialize, sign, send, or confirm).For successful deposit/withdraw, return:
deposit or withdraw)https://solscan.io/tx/{sig})For balance, return:
| Token | Mint | Decimals |
|---|---|---|
| USDC | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v | 6 |
| USDT | Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB | 6 |
| USDS | USDSwr9ApdHk5bvJKMjzff41FfuX8bSxdKcR81vTwcA | 6 |
| SOL | So11111111111111111111111111111111111111112 | 9 |
| JitoSOL | J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn | 9 |
| mSOL | mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So | 9 |
| JupSOL | jupSoLaHXQiZZTSfEWMTRRgpnyFm8f6sZdosWBjx93v | 9 |
| JLP | 27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4 | 6 |
| Variable | Required | Default | Description |
|---|---|---|---|
WALLET_PRIVATE_KEY | yes | — | Base58-encoded Solana private key |
STRATEGY_ID | no | 43620ba3-354c-456b-aa3c-5bf7fa46a6d4 | Breeze strategy ID — any valid strategy ID works |
X402_API_URL | no | https://x402.breeze.baby | x402 payment API URL |
SOLANA_RPC_URL | no | https://api.mainnet-beta.solana.com | Solana RPC endpoint |
BASE_ASSET | no | USDC mint | Default token mint for operations |
This skill sends requests to:
https://x402.breeze.baby — Breeze x402 payment-gated API (deposits, withdrawals, balances)https://api.mainnet-beta.solana.com — Solana RPC (transaction signing and broadcasting)This skill requires WALLET_PRIVATE_KEY as an environment variable for signing Solana transactions and x402 USDC micropayments. The key is read from the process environment at runtime and is never logged, printed, or returned in output. By using this skill, small USDC micropayments are sent from your wallet to gate API access. Only install this skill if you trust Breeze with your wallet's signing capability for USDC transactions.
See agent-using-x402 for a full TypeScript implementation.
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in skills/breeze-x402-payment-api of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Breeze X402 Payment API next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Breeze X402 Payment API this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.6k | Automated safety check: Notes | MIT | |
| Alchemy Agentic Gatewaymoonpay/skills | 113 | — | ~2.1k | Automated safety check: Notes | MIT | |
| Metengine Data Agentinternet-court/internet-court-skill | 6.6k | 1 repos | ~19k | Automated safety check: Pass | Apache-2.0 | |
| AlchemyBankrBot/skills | 1.2k | — | ~3.5k | Automated safety check: Pass | MIT | |
| QuicknodeBankrBot/skills | 1.2k | — | ~1.5k | Automated safety check: Pass | None | |
| BlockrunBlockRunAI/blockrun-mcp | 391 | — | ~2.7k | Automated safety check: Pass | MIT |
moonpay/skills
A skill your agent uses when accessing Alchemy APIs for RPC calls, token balances, NFT metadata, asset transfers, transaction simulation, or Alchemy-specific features.
internet-court/internet-court-skill
Real-time smart money analytics API for Polymarket prediction markets, Hyperliquid perpetual futures, and Meteora Solana LP/AMM pools.
BankrBot/skills
Blockchain API access via Alchemy. An agent skill from BankrBot/skills.
BankrBot/skills
Blockchain RPC and data access via Quicknode. An agent skill from BankrBot/skills.
BlockRunAI/blockrun-mcp
Pay-per-call access to AI models, real-time data, media generation and multi-chain RPC over x402 micropayments (USDC on Base or Solana), or a BlockRun account API key.
coinbase/agentic-wallet-skills
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API…
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Works with
Categories
Operates Breeze x402 payment-gated endpoints for balance checks, deposits, and withdrawals on Solana. Breeze X402 Payment API is an agent skill from LeoYeAI/openclaw-master-skills. Operates Breeze x402 payment-gated endpoints for balance checks, deposits, and withdrawals on Solana.
Breeze X402 Payment API fits situations like: the user asks to manage Breeze positions; execute paid x402 API calls.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a claude-code`. Or copy the skill folder (skills/breeze-x402-payment-api in LeoYeAI/openclaw-master-skills) into .claude/skills/breeze-x402-payment-api in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a codex`. Or copy the skill folder (skills/breeze-x402-payment-api in LeoYeAI/openclaw-master-skills) into .agents/skills/breeze-x402-payment-api in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill breeze-x402-payment-api -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/breeze-x402-payment-api, .gemini/skills/breeze-x402-payment-api, .github/skills/breeze-x402-payment-api and .opencode/skills/breeze-x402-payment-api in your project.
Going by SKILL.md and its folder, Breeze X402 Payment API needs the command-line tools its instructions call (node, curl, npm, pnpm and bun) and credentials named WALLET_PRIVATE_KEY. Our summary lists: Node.js; A credential in WALLET_PRIVATE_KEY. Compatibility (from SKILL.md): Requires Node.js and network access to x402 API and Solana RPC. Requires a funded Solana wallet for x402 USDC micropayments..
SKILL.md names 6 domains. In commands or code: x402.breeze.baby, api.mainnet-beta.solana.com, api.breeze.baby and solscan.io; the agent is likely to contact these when it follows the instructions. As links in the text: breeze.baby and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Breeze X402 Payment API is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Breeze X402 Payment API: Alchemy Agentic Gateway (moonpay/skills, 113 stars), Metengine Data Agent (internet-court/internet-court-skill, 6.6k stars), Alchemy (BankrBot/skills, 1.2k stars) and Quicknode (BankrBot/skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.