Alchemy
BankrBot/skills
Blockchain API access via Alchemy. An agent skill from BankrBot/skills.
Agentic commerce with Stripe and x402 USDC payments. An agent skill from LeoYeAI/openclaw-master-skills.
$ npx skills add LeoYeAI/openclaw-master-skills --skill purposebot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills purposebot --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/purposebot .claude/skills/purposebot && 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 "purposebot" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/purposebot into .claude/skills/purposebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "purposebot", 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/purposebotType 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 purposebot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills purposebot --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/purposebot .agents/skills/purposebot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "purposebot" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/purposebot into .agents/skills/purposebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "purposebot", 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 purposebot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills purposebot --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/purposebot .cursor/skills/purposebot && 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 "purposebot" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/purposebot into .cursor/skills/purposebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "purposebot", 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/purposebot--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 purposebot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills purposebot --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/purposebot .gemini/skills/purposebot && 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 "purposebot" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/purposebot into .gemini/skills/purposebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "purposebot", 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 purposebotInstalls 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 purposebot -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/purposebot .github/skills/purposebot && 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 "purposebot" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/purposebot into .github/skills/purposebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "purposebot", 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 purposebot -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 purposebot --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/purposebot .opencode/skills/purposebot && 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 "purposebot" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/purposebot into .opencode/skills/purposebot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "purposebot", 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.
purposebotAgentic commerce with Stripe and x402 USDC payments. An agent skill from LeoYeAI/openclaw-master-skills.
Purposebot is an agent skill from LeoYeAI/openclaw-master-skills. Agentic commerce with Stripe and x402 USDC payments. Discover tools, APIs, and WebMCP servers with trust scores. Create orders, escrow funds, settle payments on-chain or via Stripe Connect — the full agent transaction lifecycle.
Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).
It sits in Backend & APIs, covering Smart contracts. It works with Stripe, x402 and Circle USDC. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
5 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:
curljqpython3opensslFrom 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:
api.purposebot.aiAlso links to:
purposebot.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
PURPOSEBOT_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Purposebot loads about 5k tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 1,355 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 found no risky patterns in SKILL.md.
Automated 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,355 words, ~5,032 tokens.
.claude/skills/purposebot/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.PurposeBot gives your agent a full commerce stack: discover tools and services, create orders, escrow funds via Stripe or x402 (USDC on Base), verify fulfillment, settle payments, and build on-chain reputation — all through a single API.
What you can do:
https://api.purposebot.ai/v1X-API-Key: $PURPOSEBOT_API_KEYSearch and stats only require PURPOSEBOT_API_KEY.
Commerce orders, payment contracts, and interaction contracts require a registered agent identity with a signing key.
There are two onboarding paths: the Dashboard flow (recommended — fastest, keys hosted for you) and the Manual CLI flow (for headless agents that can't use a browser).
export PURPOSEBOT_API_KEY="pb_live_..."
export PURPOSEBOT_REPORTER_AGENT_ID="<agent-id-from-trust-center>"
export PURPOSEBOT_JWKS_URL="https://api.purposebot.ai/v1/agents/keys/<kid>/jwks.json"
export PURPOSEBOT_SIGNING_KID="<kid-from-trust-center>"
export PURPOSEBOT_SIGNING_KEY_PEM="/path/to/agent_key.pem"That's it — you're ready to sign contracts and make payments.
Use this if your agent can't open a browser or you need fully programmatic setup.
Create one from the PurposeBot dashboard, or use a bootstrap token if your operator provides one:
curl -s "https://api.purposebot.ai/v1/auth/agent-bootstrap" \
-H "Content-Type: application/json" \
-d '{"bootstrap_token": "<token>"}' | jq .# Generate an RS256 private key
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out agent_key.pem
# Extract the public key in JWK format
KID="agent-$(date +%s)"
python3 - "$KID" <<'PY'
import json, sys
from cryptography.hazmat.primitives.serialization import load_pem_private_key, Encoding, PublicFormat
from cryptography.hazmat.primitives.asymmetric.rsa import RSAPublicNumbers
import base64
kid = sys.argv[1]
with open("agent_key.pem", "rb") as f:
private_key = load_pem_private_key(f.read(), password=None)
pub = private_key.public_key().public_numbers()
def b64url(n, length):
return base64.urlsafe_b64encode(n.to_bytes(length, "big")).rstrip(b"=").decode()
jwk = {
"kty": "RSA", "alg": "RS256", "use": "sig", "kid": kid,
"n": b64url(pub.n, 256), "e": b64url(pub.e, 3),
}
jwks = {"keys": [jwk]}
with open("jwks.json", "w") as f:
json.dump(jwks, f, indent=2)
print(f"KID={kid}")
print("Wrote jwks.json — host this file at a public URL")
PYUpload jwks.json to a publicly accessible URL. Options:
/.well-known/jwks.jsonThe URL must be HTTPS and return Content-Type: application/json.
# Sign a registration proof JWT
REG_PROOF="$(python3 - "$PURPOSEBOT_SIGNING_KID" <<'PY'
import json, time, uuid, base64, sys
from cryptography.hazmat.primitives.serialization import load_pem_private_key
from cryptography.hazmat.primitives.hashing import SHA256
from cryptography.hazmat.primitives.asymmetric.padding import PKCS1v15
kid = sys.argv[1]
with open("agent_key.pem", "rb") as f:
key = load_pem_private_key(f.read(), password=None)
now = int(time.time())
header = {"alg": "RS256", "typ": "JWT", "kid": kid}
payload = {
"iss": "openclaw-agent",
"sub": "my-agent-instance",
"iat": now, "exp": now + 120,
"jti": str(uuid.uuid4()),
"nonce": uuid.uuid4().hex[:16],
}
def b64url(b):
return base64.urlsafe_b64encode(b).rstrip(b"=").decode()
segments = [
b64url(json.dumps(header, separators=(",", ":")).encode()),
b64url(json.dumps(payload, separators=(",", ":")).encode()),
]
signing_input = ".".join(segments).encode()
sig = key.sign(signing_input, PKCS1v15(), SHA256())
print(".".join(segments + [b64url(sig)]))
PY
)"
curl -s "https://api.purposebot.ai/v1/agents/identity/register" \
-H "X-API-Key: $PURPOSEBOT_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"auth_type\": \"jwks\",
\"issuer\": \"openclaw-agent\",
\"subject\": \"my-agent-instance\",
\"kid\": \"$PURPOSEBOT_SIGNING_KID\",
\"jwks_url\": \"$PURPOSEBOT_JWKS_URL\",
\"proof_jwt\": \"$REG_PROOF\"
}" | jq .The response includes agent_id — save this as PURPOSEBOT_REPORTER_AGENT_ID.
| Variable | Source | Purpose |
|---|---|---|
PURPOSEBOT_API_KEY | Dashboard Trust Center or bootstrap | Auth for all API calls |
PURPOSEBOT_REPORTER_AGENT_ID | Trust Center or identity registration response | Your stable agent UUID |
PURPOSEBOT_JWKS_URL | Trust Center (hosted) or your self-hosted URL | Public key endpoint |
PURPOSEBOT_SIGNING_KID | Trust Center or generated in step 2 | Key ID in your JWKS |
PURPOSEBOT_SIGNING_KEY_PEM | Trust Center download or path to agent_key.pem | Private key for signing proofs |
Quick validation:
test -n "$PURPOSEBOT_API_KEY" && test -n "$PURPOSEBOT_REPORTER_AGENT_ID" && test -n "$PURPOSEBOT_JWKS_URL" && test -n "$PURPOSEBOT_SIGNING_KID"Storage: Keep your private key PEM in your runtime secret manager. Never commit it. Reuse one stable agent identity per deployed agent. Rotate keys by generating a new signing key on the same identity from the Trust Center.
API keys support optional expiry and can be revoked:
# Create a key with 90-day expiry
curl -s "https://api.purposebot.ai/v1/auth/producer/api-keys" \
-H "Cookie: <session>" \
-H "Content-Type: application/json" \
-d '{"expires_in_days": 90}' | jq .
# List active keys
curl -s "https://api.purposebot.ai/v1/auth/producer/api-keys" \
-H "Cookie: <session>" | jq .
# Revoke a key
curl -s -X DELETE "https://api.purposebot.ai/v1/auth/producer/api-keys/<key-id>" \
-H "Cookie: <session>"Revoked or expired keys are immediately rejected. Use the Trust Center UI to manage keys visually.
PurposeBot provides a full agentic commerce lifecycle: create orders, escrow funds, verify fulfillment, and settle payments. Payments are processed via Stripe (card/bank) or x402 (USDC stablecoin on Base).
create order → fund order (quote + authorize payment) → seller fulfills →
buyer confirms → payment executes + settles → donePOST /v1/commerce/ordersBody:
{
"buyer_agent_id": "<your-agent-uuid>",
"seller_agent_id": "<seller-agent-uuid>",
"listing_id": "<listing-uuid>",
"line_items": [{"name": "API access (1 month)", "quantity": 1, "unit_price": "25.00"}],
"total_amount": "25.00",
"currency": "USD",
"idempotency_key": "<unique-key>",
"proof_jwt": "<signed-jwt>"
}POST /v1/commerce/orders/{order_id}/fundThis quotes a payment contract and authorizes escrow in one step. The payment provider is selected based on the listing or your agent's configured provider.
capture_method=manual — funds are held, not captured yetBody:
{
"provider": "stripe",
"idempotency_key": "<unique-key>",
"authorize_idempotency_key": "<unique-key>",
"proof_jwt": "<signed-jwt>"
}POST /v1/commerce/orders/{order_id}/fulfillThe seller submits fulfillment proof. Supported proof types:
digital_hash — SHA256 hash of delivered contentapi_callback — Response hash + latency from API invocationshipping — Carrier + tracking numberagent_handoff — Signed receipt JWT from receiving agentPOST /v1/commerce/orders/{order_id}/confirmBuyer confirmation triggers payment execution and settlement:
POST /v1/commerce/orders/{order_id}/cancelOnly from created or quoted state. Voids any authorized payment.
POST /v1/commerce/disputesEither party can open a dispute on funded/fulfilling/delivered orders. Supports evidence submission, auto-resolution (SLA timeout, fulfillment proof evaluation), and admin arbitration. Dispute outcomes automatically void or refund the payment contract.
For payments outside the order flow, you can use payment contracts directly. This is the raw Stripe Agentic Commerce Protocol and x402 payment interface.
POST /v1/payments/contracts/quoteBody:
{
"reporter_agent_id": "<your-agent-uuid>",
"target_agent_id": "<payee-agent-uuid>",
"tool_id": "<tool-uuid>",
"amount": "10.00",
"currency": "USD",
"provider": "stripe",
"quote_idempotency_key": "<unique-key>",
"proof_jwt": "<signed-jwt>"
}Provider options:
stripe — Card/bank via Stripe Connect (supports destination accounts, application fees)x402 — USDC stablecoin on Base (returns EIP-712 signing guide for on-chain authorization)sandbox — Test provider for developmentFor x402, the quote response includes x402_payment_requirements and x402_signing_guide with the EIP-712 domain, types, and message structure your agent needs to sign.
POST /v1/payments/contracts/{id}/authorize
POST /v1/payments/contracts/{id}/execute
POST /v1/payments/contracts/{id}/settleEach transition requires a signed proof JWT with payment_contract_id, amount, currency, and idempotency_key.
Stripe flow: authorize (hold) → execute (capture) → settle (record platform fee) x402 flow: authorize (verify EIP-712 sig) → execute (settle on-chain, get tx hash) → settle (record)
POST /v1/payments/contracts/{id}/void
POST /v1/payments/contracts/{id}/refundFind tools, WebMCP servers, MCP servers, API endpoints, commerce listings, and agent services by natural-language intent — all with trust scores.
GET /v1/search?q={intent}&limit=10&search_mode=toolParameters:
| Param | Type | Default | Description |
|---|---|---|---|
q | string | required | Natural-language query (e.g. "payment processing", "CRM enrichment") |
limit | int | 20 | Max results (1-100) |
search_mode | enum | tool | tool | entity | hybrid |
tool_type | enum | all | all | agent | webmcp | mcp | api |
trust_filter | enum | any | any | high | medium | low |
cursor | string | — | Opaque pagination token from next_cursor |
Response shape:
{
"query": "...",
"search_mode": "tool",
"results": [
{
"tool_id": "uuid or webmcp:...",
"name": "Tool Name",
"purpose_summary": "What the tool does",
"trust_score": 0.85,
"source": "tool|webmcp|mcp_registry|api",
"protocol_class": "tool|webmcp|mcp|api",
"url": "https://...",
"raw_record": { ... }
}
],
"next_cursor": "...",
"diagnostics": { ... }
}Trust score interpretation:
Results with source: "webmcp" include:
raw_record.canonical_url — the WebMCP manifest endpointraw_record.tool_json — the full WebMCP/MCP manifest payloadResults with protocol_class: "api" represent individual API endpoints discovered from OpenAPI specs or WebMCP manifests:
raw_record.tool_json.method — HTTP method (GET, POST, etc.)raw_record.tool_json.path — endpoint path (e.g. /v1/orders)raw_record.tool_json.api_base — base URL if knownraw_record.tool_json.request_schema — {"required": [...], "properties": {...}}raw_record.tool_json.response_schema — {"fields": [...]}raw_record.tool_json.auth — {"required": true/false, "type": "bearer|api_key|oauth2|unknown"}raw_record.tool_json.confidence — {"overall": 0.9, "schema_quality": 0.95, "evidence_count": 1}Search for purchasable services with tool_type=all or browse the commerce registry:
GET /v1/commerce/listingsReturns listings with pricing, category, availability, and the seller's agent identity.
GET /v1/search/statsReturns total tools, entities, agents, APIs, WebMCP servers, and commerce listings in the index.
Before invoking any discovered tool, issue a contract. After invocation, settle it with an outcome. This builds your agent's on-chain reputation and feeds the trust scoring pipeline that other agents see.
jwt_sign_rs256() {
local payload_json="$1"
python3 - "$PURPOSEBOT_SIGNING_KEY_PEM" "$PURPOSEBOT_SIGNING_KID" "$payload_json" <<'PY'
import base64, json, sys, time, uuid
from cryptography.hazmat.primitives.serialization import load_pem_private_key
from cryptography.hazmat.primitives.hashing import SHA256
from cryptography.hazmat.primitives.asymmetric.padding import PKCS1v15
key_path, kid, payload_str = sys.argv[1], sys.argv[2], sys.argv[3]
with open(key_path, "rb") as f:
key = load_pem_private_key(f.read(), password=None)
payload = json.loads(payload_str)
now = int(time.time())
payload.setdefault("iat", now)
payload.setdefault("exp", now + 120)
payload.setdefault("jti", str(uuid.uuid4()))
payload.setdefault("nonce", uuid.uuid4().hex[:16])
payload["iss"] = "openclaw-agent"
payload["sub"] = "my-agent-instance"
header = {"alg": "RS256", "typ": "JWT", "kid": kid}
def b64url(b):
return base64.urlsafe_b64encode(b).rstrip(b"=").decode()
segments = [
b64url(json.dumps(header, separators=(",", ":")).encode()),
b64url(json.dumps(payload, separators=(",", ":")).encode()),
]
signing_input = ".".join(segments).encode()
sig = key.sign(signing_input, PKCS1v15(), SHA256())
print(".".join(segments + [b64url(sig)]))
PY
}
new_nonce() {
python3 -c "import secrets; print(secrets.token_hex(16))"
}Note: The iss and sub values must match what you used during identity registration. If you used the Dashboard flow, your iss is https://api.purposebot.ai and your sub is your API key ID (shown in Trust Center).
POST /v1/reports/interaction/contracts/issue{
"reporter_agent_id": "<your-agent-uuid>",
"tool_id": "<discovered-tool-uuid>",
"interaction_id": "<unique-interaction-id>",
"nonce": "<random-nonce-min-8-chars>",
"reporter_proof_jwt": "<signed-jwt>"
}Returns interaction_token — pass this when settling.
POST /v1/reports/interaction{
"report_id": "<unique-uuid>",
"interaction_id": "<same-interaction-id>",
"reporter_agent_id": "<your-agent-uuid>",
"tool_id": "<tool-uuid>",
"outcome": "ack",
"reason_code": "success",
"confidence": 0.95,
"created_at": "2026-01-01T00:00:00Z",
"proof_jwt": "<signed-jwt>",
"interaction_token": "<token-from-issue>"
}Outcome values: ack (success), nack (failure), abstain (inconclusive)
GET /v1/reports/interaction/contracts/{contract_id}curl -s "https://api.purposebot.ai/v1/search?q=payment+processing&limit=5&tool_type=all" \
-H "X-API-Key: $PURPOSEBOT_API_KEY" | jq '.results[] | {name, trust_score, source}'curl -s "https://api.purposebot.ai/v1/commerce/listings?limit=10" \
-H "X-API-Key: $PURPOSEBOT_API_KEY" | jq '.[] | {listing_id, name, category, pricing: .pricing_json}'curl -s "https://api.purposebot.ai/v1/search?q=checkout&tool_type=api&limit=5" \
-H "X-API-Key: $PURPOSEBOT_API_KEY" | jq '.results[] | {name, trust_score, method: .raw_record.tool_json.method, path: .raw_record.tool_json.path, auth: .raw_record.tool_json.auth}'curl -s "https://api.purposebot.ai/v1/search?q=data+enrichment&tool_type=webmcp&limit=5" \
-H "X-API-Key: $PURPOSEBOT_API_KEY" | jq '.results[] | {name, trust_score, url: .raw_record.canonical_url}'curl -s "https://api.purposebot.ai/v1/search?q=code+review&trust_filter=high&limit=10" \
-H "X-API-Key: $PURPOSEBOT_API_KEY"curl -s "https://api.purposebot.ai/v1/search/stats" | jq .Use PurposeBot whenever your agent needs to:
Payment providers:
Always prefer high-trust results when multiple options exist. If trust scores are low, inform the user and ask for confirmation before proceeding.
© 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 1 other file in skills/purposebot of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
Purposebot 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 |
|---|---|---|---|---|---|---|
| Purposebot this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~5k | Automated safety check: Pass | MIT | |
| AlchemyBankrBot/skills | 1.2k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Alchemy Agentic Gatewaymoonpay/skills | 113 | — | ~2.1k | Automated safety check: Notes | MIT | |
| Payram Crypto PaymentsPayRam/payram-mcp | 158 | — | ~1.7k | Automated safety check: Notes | None | |
| Darksol Random OracleBankrBot/skills | 1.2k | — | ~1.5k | Automated safety check: Pass | None | |
| Capacitrmajiayu000/claude-skill-registry | 666 | 1 repos | ~3k | Automated safety check: Pass | MIT |
BankrBot/skills
Blockchain API access via Alchemy. An agent skill from BankrBot/skills.
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.
PayRam/payram-mcp
Self-hosted crypto and stablecoin payment gateway. An agent skill from PayRam/payram-mcp.
BankrBot/skills
Bankr-compatible skill for DARKSOL Random Oracle, an on-chain verifiable RNG API on Base.
majiayu000/claude-skill-registry
Paste a URL or free text and get matched Polymarket / Hyperliquid / Deribit markets with Quotient edge scores.
majiayu000/claude-skill-registry
Blockchain RPC and data access via Quicknode. An agent skill from majiayu000/claude-skill-registry.
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
Agentic commerce with Stripe and x402 USDC payments. An agent skill from LeoYeAI/openclaw-master-skills. Purposebot is an agent skill from LeoYeAI/openclaw-master-skills. Agentic commerce with Stripe and x402 USDC payments.
Purposebot fits situations like: tasks that involve Smart contracts.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill purposebot -a claude-code`. Or copy the skill folder (skills/purposebot in LeoYeAI/openclaw-master-skills) into .claude/skills/purposebot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill purposebot -a codex`. Or copy the skill folder (skills/purposebot in LeoYeAI/openclaw-master-skills) into .agents/skills/purposebot 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 purposebot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/purposebot, .gemini/skills/purposebot, .github/skills/purposebot and .opencode/skills/purposebot in your project.
Going by SKILL.md and its folder, Purposebot needs the command-line tools its instructions call (curl, jq, python3 and openssl) and credentials named PURPOSEBOT_API_KEY. Our summary lists: Python 3; A credential in PURPOSEBOT_API_KEY.
SKILL.md names 2 domains. In commands or code: api.purposebot.ai; the agent is likely to contact it when it follows the instructions. As links in the text: purposebot.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Purposebot is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k 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 Purposebot: Alchemy (BankrBot/skills, 1.2k stars), Alchemy Agentic Gateway (moonpay/skills, 113 stars), Payram Crypto Payments (PayRam/payram-mcp, 158 stars) and Darksol Random Oracle (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,158 GitHub stars. The repository holds 1,215 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.