Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Search, register, and manage domains via Bloomfilter x402 API - pay with USDC on Base
Search, register, and manage domains via Bloomfilter x402 API - pay with USDC on Base
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
Base URL: https://api.bloomfilter.xyz Paid endpoints use the x402 payment protocol. The API returns HTTP 402 with payment details - your x402-compatible HTTP client handles payment automatically. EVM_PRIVATE_KEY is used locally by the agent's x402 HTTP client (@x402/axios or @x402/fetch) to sign EIP-3009 TransferWithAuthorization messages for USDC payments and to sign EIP-4361 SIWE messages for authentication. The private key never leaves the local machine and is never sent to any server. All cryptographic signing happens client-side in the agent runtime. DNS and account endpoints require authentication via SIWE (Sign-In With Ethereum). Authenticate once, then pass the JWT as a Bearer token.
GET /auth/nonce -> Returns { nonce, domain, uri, chainId, version, expiresIn } POST /auth/verify Body: { "message": "<EIP-4361 SIWE message>", "signature": "0x..." } -> Returns { accessToken, refreshToken, walletAddress } POST /auth/refresh Body: { "refreshToken": "..." } -> Returns new { accessToken, refreshToken } POST /auth/revoke (requires Bearer token) -> Revokes all sessions for the authenticated wallet
GET /domains/search?query=example&tlds=com,io,xyz -> Returns availability and pricing for each TLD. The tlds parameter is optional. GET /domains/pricing -> Returns pricing for all supported TLDs GET /domains/pricing/:tld -> Returns pricing for a single TLD (e.g., /domains/pricing/com)
POST /domains/register Body: { "domain": "example.com", "years": 1 } years defaults to 1 if omitted. Optional: "dns_records": [{ "type": "A", "host": "@", "value": "1.2.3.4" }] Supported dns_records types: A, AAAA, CNAME, MX, TXT, SRV, CAA Each record also accepts optional "ttl" (300-86400, default 3600) and "priority" (for MX/SRV) -> First call returns 402 with exact price. Retry with x402 payment to complete. -> Returns 201 on success, or 202 with a job ID for async provisioning. POST /domains/renew Body: { "domain": "example.com", "years": 1 } years defaults to 1 if omitted. -> Same two-phase x402 flow as registration.
GET /domains/:domain -> Returns domain status, expiry, nameservers, lock/privacy state. Note: Only works for domains registered through Bloomfilter.
GET /domains/status/:jobId -> Poll for async registration status. Returns 200 (done), 202 (pending), or 500 (failed).
Mutations cost $0.10 USDC each (x402). Listing is free. IMPORTANT: Always add, update, or delete DNS records one at a time (sequentially, not in parallel). After registering a new domain, wait at least 30 seconds before adding DNS records โ the DNS zone may not be ready immediately. GET /dns/:domain -> List all DNS records POST /dns/:domain Body: { "type": "A", "host": "@", "value": "1.2.3.4" } Optional: "ttl" (300-86400, default 3600), "priority" (for MX/SRV) Supported types: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA PUT /dns/:domain/:recordId Body: { "host": "@", "value": "5.6.7.8" } At least one field required. Optional: host, value, ttl, priority. DELETE /dns/:domain/:recordId -> Deletes the record
GET /account -> Account summary (wallet, domain count, total spent) GET /account/domains?limit=50&offset=0 -> Paginated list of owned domains GET /account/transactions?limit=50&offset=0 -> Paginated transaction history
All paid requests require an x402-compatible HTTP client with USDC on Base (chain ID 8453) WHOIS privacy is enabled by default on all registrations Docs: https://docs.bloomfilter.xyz
URLData SentPurposehttps://api.bloomfilter.xyz/*Domain queries, DNS records, wallet addressDomain search, registration, DNS management No data is sent anywhere else. All requests go to the Bloomfilter API only.
Your EVM_PRIVATE_KEY never leaves your local machine โ it is used locally to sign x402 payment authorizations and SIWE messages The API receives your wallet address (derived from the key) but never the private key itself WHOIS privacy is enabled by default on all registrations โ your identity is never exposed in public WHOIS records All API communication is over HTTPS
This skill connects to api.bloomfilter.xyz to register ICANN domains and manage DNS records. Payments are made in USDC on Base via the x402 protocol. Your private key stays local. Install only if you trust Bloomfilter (https://bloomfilter.xyz) as a domain registration provider.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.