# Send openkrill to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openkrill",
    "name": "openkrill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/emilankerwiik/openkrill",
    "canonicalUrl": "https://clawhub.ai/emilankerwiik/openkrill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/openkrill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openkrill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "assets/config-template.json",
      "scripts/list-services.ts",
      "scripts/discover-services.ts",
      "scripts/check-balance.ts",
      "scripts/fund-wallet.ts"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "openkrill",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-12T11:29:04.415Z",
      "expiresAt": "2026-05-19T11:29:04.415Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openkrill",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openkrill",
        "contentDisposition": "attachment; filename=\"openkrill-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "openkrill"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openkrill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openkrill",
    "downloadUrl": "https://openagent3.xyz/downloads/openkrill",
    "agentUrl": "https://openagent3.xyz/skills/openkrill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openkrill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openkrill/agent.md"
  }
}
```
## Documentation

### OpenKrill - x402 Payments Skill

This skill enables AI agents to autonomously make micropayments using the x402 protocol. It handles wallet management, balance checking, and automatic payment flows when APIs return HTTP 402 Payment Required responses.

### When to Use This Skill

When asked "what services can I purchase?" or "what x402 APIs are available?" - Query the Bazaar first!
When purchasing browser automation sessions on Browserbase
When performing web scraping tasks with Firecrawl
When the agent needs to create an email address for signups or verification
When interacting with any x402-compatible API
When the user mentions micropayments, crypto payments, or paying for API access
When you encounter a 402 Payment Required response
When discovering new x402-compatible services via the Bazaar

TIP: When a user or agent asks what services are available for purchase, always start by querying the Bazaar discovery endpoint. It provides a live, up-to-date catalog of 12,000+ x402-compatible services.

### Quick: Discover Available Services

# Query the Bazaar to see what's available (no auth required)
curl -s "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources?type=http&limit=50"

### Prerequisites

Before using this skill, ensure:

THIRDWEB_SECRET_KEY environment variable is set with a valid thirdweb project secret key
The wallet has sufficient USDC balance on Base chain (or the target chain)
Network access to thirdweb API endpoints

### Two Types of x402 Support

TypeDescriptionExampleTrue x402Fully keyless - no API keys needed, just pay and useBrowserbaseHybrid x402Requires API key/token + payment headerFirecrawl

### x402 Endpoint Patterns

ServiceStandard APIx402 EndpointTypeStatusBrowserbaseapi.browserbase.comx402.browserbase.comTrue x402✅ WorksFirecrawlapi.firecrawl.dev/v1/searchapi.firecrawl.dev/v1/x402/searchNon-standard❌ Broken

Discovery tips:

Check for x402. subdomain (e.g., x402.browserbase.com)
Check for /x402/ in the path (e.g., /v1/x402/search)
Hit the x402 root URL for endpoint listing (e.g., curl https://x402.browserbase.com/)

### Step 1: Check or Create Wallet

Use the thirdweb API directly (recommended):

curl -s -X POST https://api.thirdweb.com/v1/wallets/server \\
  -H "Content-Type: application/json" \\
  -H "x-secret-key: $THIRDWEB_SECRET_KEY" \\
  -d '{"identifier": "x402-agent-wallet"}'

The response will include the wallet address. Store this for subsequent operations.

### Step 2: Make Payments with fetchWithPayment

Call the thirdweb x402 fetch API directly:

# Browserbase - Create browser session
curl -s -X POST "https://api.thirdweb.com/v1/payments/x402/fetch?url=https://x402.browserbase.com/browser/session/create&method=POST" \\
  -H "Content-Type: application/json" \\
  -H "x-secret-key: $THIRDWEB_SECRET_KEY" \\
  -d '{"browserSettings": {"viewport": {"width": 1920, "height": 1080}}}'

### Step 3: Handle the Response

Success: The API returns the session data directly.

Insufficient Funds: If the wallet needs funding, the API returns:

{
  "result": {
    "message": "This endpoint requires 0.002 USDC on chain id 8453...",
    "link": "https://thirdweb.com/pay?chain=8453&receiver=0x...&token=0x..."
  }
}

When you receive a payment link, open it in the user's browser:

If browser automation is available (MCP, browser tool, etc.), use it to navigate to the link in a new tab
Otherwise, display the link prominently and instruct the user to open it manually

This opens thirdweb's payment page where users can fund the wallet.

### fetchWithPayment Endpoint

URL: https://api.thirdweb.com/v1/payments/x402/fetch

Method: POST

Query Parameters:

ParameterRequiredDescriptionurlYesTarget API URL to callmethodYesHTTP method (GET, POST, etc.)fromNoWallet address for payment (uses default project wallet if omitted)maxValueNoMaximum payment amount in weiassetNoPayment token address (defaults to USDC)chainIdNoChain ID for payment (e.g., "eip155:8453" for Base)

Headers:

x-secret-key: Your thirdweb project secret key (required)
Content-Type: application/json

### Browserbase

x402 Endpoint: https://x402.browserbase.com
Pricing: $0.12/hour (paid in USDC on Base)

EndpointMethodDescription/browser/session/createPOSTCreate a browser session/browser/session/:id/statusGETCheck session status/browser/session/:id/extendPOSTAdd more time/browser/session/:idDELETETerminate session

curl -s -X POST "https://api.thirdweb.com/v1/payments/x402/fetch?url=https://x402.browserbase.com/browser/session/create&method=POST" \\
  -H "Content-Type: application/json" \\
  -H "x-secret-key: $THIRDWEB_SECRET_KEY" \\
  -d '{"browserSettings": {"viewport": {"width": 1920, "height": 1080}}}'

### Firecrawl (Non-Standard x402 - NOT RECOMMENDED)

x402 Endpoint: https://api.firecrawl.dev/v1/x402/search
Pricing: $0.01/request
Status: ⚠️ Incomplete implementation - cannot be used with thirdweb

WARNING: Firecrawl's x402 implementation is non-standard and currently unusable for automated agents:

Returns 401 Unauthorized instead of 402 Payment Required
Doesn't include payment details (payTo address, asset, amount) in response
Documentation says to use X-Payment: {{paymentHeader}} but doesn't explain how to generate it

Comparison with proper x402 (Browserbase):

Browserbase: Returns 402 with x402Version, accepts, payTo, asset → thirdweb can auto-pay
Firecrawl: Returns 401 with just {"error":"Unauthorized"} → no payment info provided

EndpointMethodStatus/v1/x402/searchPOST❌ Non-functional for agents

Recommended alternatives:

Firecrawl MCP - If available in your environment (uses standard API key)
Browserbase + scraping script - True x402, fully keyless
Standard Firecrawl API - With subscription/API key

Reference: Firecrawl x402 docs

### Mail.tm (Disposable Email)

Base URL: https://api.mail.tm
Pricing: Free (no x402 payment required)

Mail.tm allows agents to create email addresses for signups and receive verification emails.

EndpointMethodAuthDescription/domainsGETNoGet available email domains/accountsPOSTNoCreate an email account/tokenPOSTNoGet authentication token/messagesGETYesList all messages/messages/:idGETYesGet full message content/meGETYesGet account info

Create Email Account

# 1. Get available domain
DOMAIN=$(curl -s https://api.mail.tm/domains | jq -r '.["hydra:member"][0].domain')

# 2. Create account with unique address
curl -s -X POST https://api.mail.tm/accounts \\
  -H "Content-Type: application/json" \\
  -d '{"address": "agent-'$(date +%s)'@'"$DOMAIN"'", "password": "SecurePass123!"}'

Get Token and Check Messages

# Get auth token
TOKEN=$(curl -s -X POST https://api.mail.tm/token \\
  -H "Content-Type: application/json" \\
  -d '{"address": "YOUR_EMAIL", "password": "YOUR_PASSWORD"}' | jq -r '.token')

# List messages
curl -s https://api.mail.tm/messages -H "Authorization: Bearer $TOKEN"

# Read specific message
curl -s https://api.mail.tm/messages/MESSAGE_ID -H "Authorization: Bearer $TOKEN"

Important: Store email credentials (address, password, token) for later use. Consider saving to .agent-emails.json (gitignored).

### Error Handling

ErrorCauseSolution401 UnauthorizedInvalid or missing THIRDWEB_SECRET_KEYCheck environment variable402 Payment RequiredInsufficient balanceAuto-open payment link (see above)400 Bad RequestInvalid URL or methodVerify request parameters404 Not FoundWrong endpointCheck x402-specific endpoint (e.g., x402.browserbase.com)500 Server Errorthirdweb or target API issueRetry or check service status

### Common Mistakes

Using wrong subdomain: api.browserbase.com vs x402.browserbase.com
Using wrong path: /v1/sessions vs /browser/session/create
Not checking for payment links: Always parse response for link field

### Discovering x402 Endpoints

There are two ways to discover x402-compatible services:

### Method 1: x402 Bazaar (Recommended)

The x402 Bazaar is a machine-readable catalog that helps AI agents discover x402-compatible API endpoints programmatically.

Query the Bazaar Discovery Endpoint

# Using the default facilitator (x402.org)
curl -s "https://x402.org/facilitator/discovery/resources?type=http&limit=20"

# Using CDP facilitator (Coinbase)
curl -s "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources?type=http&limit=20"

Using the Discovery Script

# Discover available services
npx ts-node scripts/discover-services.ts

# With pagination
npx ts-node scripts/discover-services.ts --limit 50 --offset 0

# Use CDP facilitator
npx ts-node scripts/discover-services.ts --facilitator "https://api.cdp.coinbase.com/platform/v2/x402"

# Output as JSON for programmatic use
npx ts-node scripts/discover-services.ts --json

Response Format

{
  "x402Version": 2,
  "items": [
    {
      "resource": "https://x402.browserbase.com/browser/session/create",
      "type": "http",
      "x402Version": 1,
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "2000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x..."
        }
      ],
      "lastUpdated": "2024-01-15T12:30:00.000Z",
      "metadata": {
        "description": "Create a browser session",
        "input": { ... },
        "output": { ... }
      }
    }
  ],
  "pagination": {
    "limit": 20,
    "offset": 0,
    "total": 42
  }
}

Query Parameters

ParameterTypeDefaultDescriptiontypestring-Filter by protocol type (e.g., "http")limitnumber20Number of resources to return (max: 100)offsetnumber0Offset for pagination

### Method 2: Manual Discovery

When encountering a new service that might support x402:

1. Check for x402 Subdomain

# Try the x402 subdomain - often has an info page
curl -s https://x402.SERVICE.com/

# Example: Browserbase lists all endpoints at root
curl -s https://x402.browserbase.com/

2. Check for /x402/ Path Prefix

# Some services use path prefix instead of subdomain
curl -s -I https://api.SERVICE.com/v1/x402/endpoint

3. Test for 402 Response

# A true x402 endpoint returns 402 Payment Required (not 401)
curl -s -i -X POST https://x402.SERVICE.com/endpoint \\
  -H "Content-Type: application/json" \\
  -d '{}' 2>&1 | head -5

Expected for true x402:

HTTP/2 402
x-payment-required: ...

If you see 401 Unauthorized: The service uses hybrid x402 (needs API key + payment).

4. Check Service Documentation

Look for x402/payments documentation:

docs.SERVICE.com/x402/
docs.SERVICE.com/payments/
Search for "x402" or "402" in their docs

### Additional Resources

See references/API-REFERENCE.md for complete API documentation
See references/SERVICES.md for x402-compatible service examples

### Links

x402 Protocol
x402 Bazaar Discovery
thirdweb x402 Documentation
Browserbase x402 Docs
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: emilankerwiik
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-12T11:29:04.415Z
- Expires at: 2026-05-19T11:29:04.415Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/openkrill)
- [Send to Agent page](https://openagent3.xyz/skills/openkrill/agent)
- [JSON manifest](https://openagent3.xyz/skills/openkrill/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/openkrill/agent.md)
- [Download page](https://openagent3.xyz/downloads/openkrill)