← All skills
Tencent SkillHub Β· AI

Public

Mint a Base Bud NFT from the agent-only collection on Base mainnet. Requires solving a challenge, paying 1 USDC (x402), and an EVM wallet.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Mint a Base Bud NFT from the agent-only collection on Base mainnet. Requires solving a challenge, paying 1 USDC (x402), and an EVM wallet.

⬇ 0 downloads β˜… 0 stars Unverified but indexed

Install for OpenClaw

Item is unstable.

This item is timing out or returning errors right now. Review the source page and try again later.

Quick setup
  1. Wait for the source to recover or retry later.
  2. Review SKILL.md only after the source returns a real package.
  3. Do not rely on this source for automated install yet.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Manual review
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
skill.md

Validation

  • Wait for the source to recover or retry later.
  • Review SKILL.md only after the download returns a real package.
  • Treat this source as transient until the upstream errors clear.

Install with your agent

Agent handoff

Use the source page and any available docs to guide the install because the item is currently unstable or timing out.

  1. Open the source page via Review source status.
  2. If you can obtain the package, extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the source page and extracted files.
New install

I tried to install a skill package from Yavira, but the item is currently unstable or timing out. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.

Upgrade existing

I tried to upgrade a skill package from Yavira, but the item is currently unstable or timing out. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.1

Documentation

ClawHub primary doc Primary doc: SKILL.md 15 sections Open source page

Base Buds Mint

Mint a Base Bud NFT from the agent-only collection on Base mainnet.

Key Files

FileURLSKILL.md (this file)https://budsbase.xyz/skill.md Install locally: mkdir -p ~/.openclaw/skills/base-buds curl -s https://budsbase.xyz/skill.md > ~/.openclaw/skills/base-buds/SKILL.md Or just read the URL directly! Base URL: https://budsbase.xyz/api

Prerequisites

An EVM wallet keypair with at least 0.00025-0.000415 ETH for gas and 1 USDC on Base mainnet (chain ID 8453) Ability to solve challenges (math, code, logic)

Security

Your EVM private key should never leave your local environment β€” signing happens locally This skill makes only HTTP API calls. It does not access your filesystem, run shell commands, or execute arbitrary code

How It Works

The mint flow has four steps: challenge β†’ prepare β†’ complete (pay & get tx) β†’ broadcast.

Step 1: Request a challenge

curl -X POST https://budsbase.xyz/api/challenge \ -H "Content-Type: application/json" \ -d '{"wallet": "YOUR_EVM_ADDRESS"}' Response: { "challengeId": "0xabc123...", "puzzle": "What is 347 * 23 + 156?", "expiresAt": 1699999999999 }

Step 2: Prepare & sign payment

A single node script that submits the challenge answer to /prepare, then signs the USDC payment locally. Your private key never leaves your machine. Note: /prepare returns only payment data β€” no mint transaction. The mint transaction is only available after payment settles in Step 3. import { ethers } from "ethers"; const PK = "YOUR_PRIVATE_KEY"; if (!/^0x[0-9a-fA-F]{64}$/.test(PK)) throw new Error("Invalid private key β€” must be 0x + 64 hex chars"); const wallet = new ethers.Wallet(PK); // 2a. Submit challenge answer, get payment data const res = await fetch("https://budsbase.xyz/api/prepare", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ wallet: wallet.address, challengeId: "CHALLENGE_ID", answer: "ANSWER" }), }); const { prepareId, payment } = await res.json(); // 2b. Sign USDC payment (EIP-712) const paymentSignature = await wallet.signTypedData(payment.domain, payment.types, payment.values); console.log(JSON.stringify({ prepareId, paymentSignature }));

Step 3: Complete (settle payment & get unsigned mint tx)

Submit the payment signature. The backend settles 1 USDC on-chain first, then returns the unsigned mint transaction. curl -X POST https://budsbase.xyz/api/complete \ -H "Content-Type: application/json" \ -d '{ "prepareId": "0x<from_step_2>", "paymentSignature": "0x<from_step_2>" }' Response: { "success": true, "settleTxHash": "0x...", "transaction": { "to": "0x...", "data": "0x...", "chainId": 8453, "nonce": 5, "type": 2, "..." : "..." }, "message": "Payment settled. Sign the transaction and POST to /api/broadcast." }

Step 4: Sign & broadcast

Sign the mint transaction locally, then submit it. import { ethers } from "ethers"; const PK = "YOUR_PRIVATE_KEY"; if (!/^0x[0-9a-fA-F]{64}$/.test(PK)) throw new Error("Invalid private key β€” must be 0x + 64 hex chars"); const wallet = new ethers.Wallet(PK); const transaction = /* transaction object from Step 3 */; const signedTransaction = await wallet.signTransaction(transaction); console.log(JSON.stringify({ signedTransaction })); curl -X POST https://budsbase.xyz/api/broadcast \ -H "Content-Type: application/json" \ -d '{"signedTransaction": "0x<from_above>"}' Response: { "success": true, "tokenId": 9, "minter": "0x...", "txHash": "0x...", "minted": 2, "remaining": 18, "message": "Successfully minted Base Bud #9! You have minted 2 Base Buds. You can mint up to 18 more." }

Agent Behavior

The user will provide their wallet address and private key. That's all you need β€” handle the entire mint flow from there without asking further questions. Step 1 (challenge): use curl. Step 2 (prepare & sign payment): use a single node script that fetches /prepare and signs the USDC payment. Do NOT split this into separate curl + node steps. ethers fallback: Before running the script, check if ethers is available: node -e "require('ethers')". If it fails, install to a temp location: npm install --prefix /tmp ethers, then run the script with NODE_PATH=/tmp/node_modules. Step 3 (complete): use curl β€” this settles payment and returns the unsigned mint tx. Step 4 (sign & broadcast): use a single node script that signs the transaction from Step 3, then use curl to POST the signed tx to /broadcast. After each step, briefly tell the user what happened before moving to the next. Handle errors gracefully β€” if a step fails, explain why and retry or stop. Mint limit reached (409): If /challenge returns 409, ask the user for a new wallet address and private key, then restart the flow with the new wallet. Never expose the user's private key in output or logs. Signing must always happen locally β€” never send private keys over the network.

/challenge

CodeMeaning400Invalid wallet address or missing fields409Wallet has reached the mint limit (20)410Collection is fully minted500Server error

/prepare

CodeMeaning400Invalid wallet address, missing fields403Challenge answer is incorrect or expired500Server error

/complete

All errors include a code field you can switch on: codeHTTPMeaningmissing_prepare_id400No prepareId providedmissing_payment_signature400No paymentSignature providedprepare_session_expired400Session not found or expired β€” call /prepare againauthorization_expired400USDC authorization validBefore has passedauthorization_not_yet_valid400USDC authorization validAfter is in the futureinsufficient_usdc_balance400Wallet doesn't have enough USDCpayment_verification_failed402x402 facilitator rejected the payment signaturepayment_settlement_failed402x402 facilitator couldn't settle the USDC transfer

/broadcast

codeHTTPMeaningmissing_signed_transaction400No signedTransaction providednonce_too_low400Wallet has pending txs β€” call /complete againinsufficient_eth400Not enough ETH for gasalready_known409Transaction was already submittedmint_reverted400Mint transaction reverted on-chainbroadcast_failed500Failed to broadcast transaction

Notes

Chain: Base mainnet (chain ID 8453) x402 payment: 1 USDC per mint, paid via EIP-712 signed USDC TransferWithAuthorization Two signing operations: EIP-712 for USDC payment (Step 2) + EIP-1559 for mint transaction (Step 4) Challenge expiration: Challenges expire after 5 minutes Total supply: 6,000 NFTs Up to 20 mints per wallet Gas cost: ~0.00025-0.000415 ETH per mint on Base

Category context

Agent frameworks, memory systems, reasoning layers, and model-native orchestration.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
1 Docs
  • skill.md Docs