Agent skill

Opensea Tool SDK

by BankrBot in BankrBot/skills

Build, register, and gate AI-callable tool endpoints using the OpenSea Tool Registry (ERC-8257) on Base.

MITAuto-check passedBusiness, Finance & HR

Install Opensea Tool SDK

skills CLI
$ npx skills add BankrBot/skills --skill opensea-tool-sdk -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install BankrBot/skills opensea-tool-sdk --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/BankrBot/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/opensea/opensea-tool-sdk .claude/skills/opensea-tool-sdk && rm -rf skills-src

Use ~/.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/

Facts

Skill name
opensea-tool-sdk
GitHub stars
1.2k
Token cost
~3.1k tokens
SKILL.md length
714 words
Files
4 (incl. references)
Skills in repo
106
Repo updated
First seen
Licence
MIT

At a glance

Build, register, and gate AI-callable tool endpoints using the OpenSea Tool Registry (ERC-8257) on Base.

  • Works in 7 steps: Create a Tool → Register a Tool Onchain → Gating tool access → …
  • Tasks that involve Crypto and DeFi analysis
  • SKILL.md covers When to use this skill…, When NOT to use this skill…, Concepts and Deployed Contracts (Base…, plus 8 more sections
  • Calls npx and curl; reaches mainnet.base.org; needs PRIVATE_KEY

What it does

Opensea Tool SDK is an agent skill from BankrBot/skills. Build, register, and gate AI-callable tool endpoints using the OpenSea Tool Registry (ERC-8257) on Base. Scaffold HTTPS tools with JSON Schema interfaces, register them onchain, gate access via NFT ownership or x402 pay-per-call (USDC), and call gated tools. For querying OpenSea marketplace data use opensea-api instead.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/known-predicates.md`, `references/predicate-gating.md` and `references/x402.md`).

It sits in Business, Finance & HR, covering Crypto and DeFi analysis. It works with x402, Circle USDC and Ethereum. The repository describes itself as: Bankr Skills equip builders with plug-and-play tools to build more powerful agents. The licence is MIT.

When your agent uses it

  • Tasks that involve Crypto and DeFi analysis

Example prompts

  • “/opensea-tool-sdk”

Requirements

  • Node.js
  • A credential in PRIVATE_KEY

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Create a Tool
  2. Register a Tool Onchain
  3. Gating tool access
  4. Wallet Setup
  5. Response Codes
  6. Quick Reference: CLI Commands
  7. End-to-End Examples

What it can do on your machine

Read from SKILL.md and the folder at commit dc47eed. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • mainnet.base.org

    Also links to:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • PRIVATE_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Opensea Tool SDK loads about 3.1k tokens when it runs, and up to ~7.6k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 714 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from BankrBot/skills at commit dc47eed, republished under its MIT licence (© BankrBot). 714 words, ~3,110 tokens.

Download SKILL.mdSave it as .claude/skills/opensea-tool-sdk/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
opensea-tool-sdk
description
Build, register, and gate AI-callable tool endpoints using the OpenSea Tool Registry (ERC-8257) on Base. Scaffold HTTPS tools with JSON Schema interfaces, register them onchain, gate access via NFT ownership or x402 pay-per-call (USDC), and call gated tools. For querying OpenSea marketplace data use opensea-api instead.
homepage
https://github.com/ProjectOpenSea/tool-sdk
repository
https://github.com/ProjectOpenSea/tool-sdk
license
MIT
dependencies
node >= 18.0.0

OpenSea Tool SDK

Build, register, and gate AI-callable tool endpoints using the OpenSea Tool Registry (ERC-8257) on Base.

When to use this skill (scope_in)

Use opensea-tool-sdk when you need to:

  • Scaffold an AI-callable tool endpoint (HTTPS, JSON Schema, .well-known manifest) for Vercel, Cloudflare, or Express
  • Register a tool onchain on the Base ToolRegistry so other agents can discover it
  • Gate access via x402 pay-per-call (USDC) or predicates (ERC-721/ERC-1155 ownership, subscriptions, composites)
  • Call a gated tool: SIWE auth (authenticatedFetch), 402 payments (paidFetch), or both (paidAuthenticatedFetch)

When NOT to use this skill (scope_out, handoff)

NeedUse instead
Query NFT/token data, search, collection statsopensea-api
Buy/sell NFTsopensea-marketplace
Swap ERC20 tokensopensea-swaps
Set up wallet signing providersopensea-wallet

This SDK is for tool providers and consumers. To query OpenSea marketplace data (floor prices, listings, trades), use the opensea-api skill instead.

Concepts

TermMeaning
ToolAn HTTPS endpoint with a JSON Schema interface, discoverable via /.well-known/ai-tool/<slug>.json
ManifestJCS-canonicalized JSON describing the tool's name, endpoint, inputs, outputs, pricing, and access policy
ToolRegistryOnchain contract (Base) where tools are registered with a manifest hash and optional access predicate
Access PredicateAn IAccessPredicate contract that gates who can invoke a tool (NFT ownership, subscriptions, composites)
x402HTTP 402-based pay-per-call protocol (caller signs a USDC TransferWithAuthorization; server settles after execution)
SIWESign-In with Ethereum (EIP-4361), used to authenticate callers for predicate-gated tools
FacilitatorThird-party service that verifies and settles x402 payments (PayAI or Coinbase CDP)

Deployed Contracts (Base mainnet)

ContractAddress
ToolRegistry (v0.1)0x7291BbFbC368C2D478eCe1eA30de31F612a34856
ERC721OwnerPredicate (v0.2)0xd1F703D0B90BB7106fAebBfbcAdD2B07BDc4c769
ERC1155OwnerPredicate (v0.2)0xc179b9d4D9B7ffe0CdA608134729f72003380A7e

1. Create a Tool

1a. Scaffold a project
bash
npx @opensea/tool-sdk init --runtime vercel   # or: cloudflare, express

This generates:

  • src/manifest.ts: tool manifest definition
  • src/handler.ts: request handler with input/output schemas
  • api/index.ts: framework adapter entry point
  • public/llms.txt: agent-readable discovery page
  • api/well-known/[slug].ts: serves the manifest at /.well-known/ai-tool/<slug>.json
1b. Define the manifest
typescript
import { defineManifest } from "@opensea/tool-sdk"

export const manifest = defineManifest({
  name: "My Tool",
  description: "What this tool does",
  endpoint: "https://my-tool.example.com/api",
  creatorAddress: "0xYOUR_WALLET_ADDRESS",
  inputs: {
    type: "object",
    properties: {
      query: { type: "string", description: "Search query" },
    },
    required: ["query"],
  },
  outputs: {
    type: "object",
    properties: {
      result: { type: "string" },
    },
  },
  // Optional: add pricing for x402 paywall (see references/x402.md)
  // pricing: paywall.pricing,
  // Optional: add access requirements (see references/predicate-gating.md)
  // access: { logic: "OR", requirements: [...] },
})
1c. Write the handler
typescript
import { createToolHandler } from "@opensea/tool-sdk"
import { z } from "zod/v4"
import { manifest } from "./manifest.js"

const InputSchema = z.object({ query: z.string() })
const OutputSchema = z.object({ result: z.string() })

export const toolHandler = createToolHandler({
  manifest,
  inputSchema: InputSchema,
  outputSchema: OutputSchema,
  // gates: [],  // Add gates here (see references/x402.md and references/predicate-gating.md)
  handler: async (input) => {
    return { result: `Processed: ${input.query}` }
  },
})
1d. Wire up the adapter

Vercel:

typescript
import { toVercelHandler } from "@opensea/tool-sdk"
import { toolHandler } from "../src/handler.js"
export default toVercelHandler(toolHandler)

Express:

typescript
import { toExpressHandler } from "@opensea/tool-sdk"
import { toolHandler } from "./handler.js"
app.post("/api", toExpressHandler(toolHandler))

Cloudflare Workers:

typescript
import { toolHandler } from "./handler.js"
export default { fetch: toolHandler }

2. Register a Tool Onchain

2a. Via CLI
bash
# Set up wallet
export PRIVATE_KEY=0x...
export RPC_URL=https://mainnet.base.org

# Register (open access, no predicate)
npx @opensea/tool-sdk register \
  --metadata https://my-tool.example.com/.well-known/ai-tool/my-tool.json \
  --network base

# Register with NFT gate (ERC-721 collection)
npx @opensea/tool-sdk register \
  --metadata https://my-tool.example.com/.well-known/ai-tool/my-tool.json \
  --network base \
  --nft-gate 0xCOLLECTION_ADDRESS

# Register with a custom access predicate
npx @opensea/tool-sdk register \
  --metadata https://my-tool.example.com/.well-known/ai-tool/my-tool.json \
  --network base \
  --access-predicate 0xPREDICATE_ADDRESS

# Dry run (no transaction)
npx @opensea/tool-sdk register --metadata ... --network base --dry-run

The CLI:

  1. Fetches the manifest from --metadata URL
  2. Validates the manifest schema
  3. Verifies manifest.creatorAddress matches your wallet
  4. Computes the JCS keccak256 manifest hash
  5. Calls ToolRegistry.registerTool(metadataURI, manifestHash, accessPredicate)
  6. Returns the toolId from the ToolRegistered event
2b. Via SDK (programmatic)
typescript
import { ToolRegistryClient, computeManifestHash } from "@opensea/tool-sdk"
import { createWalletFromEnv, walletAdapterToClient } from "@opensea/tool-sdk"
import { base } from "viem/chains"

const adapter = createWalletFromEnv()
const walletClient = await walletAdapterToClient(adapter, base)

const registry = new ToolRegistryClient({
  chain: base,
  rpcUrl: "https://mainnet.base.org",
  walletClient,
})

const { toolId, txHash } = await registry.registerTool({
  metadataURI: "https://my-tool.example.com/.well-known/ai-tool/my-tool.json",
  manifest,                                      // your ToolManifest object
  accessPredicate: "0x0000...0000",              // address(0) for open access
})

console.log(`Registered tool ${toolId} in tx ${txHash}`)

3. Gating tool access

Tools can be gated three ways:

GateMechanismReference
x402 paywallPay-per-call (USDC, EIP-3009)references/x402.md
Predicate gateOnchain check (NFT, subscription, composite)references/predicate-gating.md
CombinedSIWE auth and payment (predicate first, then x402)references/predicate-gating.md

For deployed predicate addresses, requirement encodings, and SDK helpers like describeToolAccess / decodeRequirement, see references/known-predicates.md.

4. Wallet Setup

The SDK supports multiple wallet providers via @opensea/wallet-adapters. Set environment variables and the SDK auto-detects the provider. See the opensea-wallet skill for the full provider table, env vars, setup walkthroughs, and signing-policy configuration.

typescript
import { createWalletFromEnv } from "@opensea/tool-sdk"

const adapter = createWalletFromEnv()
const address = await adapter.getAddress()

For Bankr (external signer):

typescript
import { createBankrAccount } from "@opensea/tool-sdk"

const account = await createBankrAccount("your-bankr-api-key")
// Use with authenticatedFetch or paidAuthenticatedFetch
Show full SKILL.md (267 more words)Show less

5. Response Codes

CodeMeaningAction
200SuccessParse the JSON body per the manifest's outputs schema
400Invalid inputFix request body to match the manifest's inputs schema
401Missing/invalid SIWE authSign a SIWE message and include Authorization: SIWE <token>
402Payment requiredRead body.accepts[0] for payment requirements, sign and retry with X-Payment
403Access deniedInspect body.predicate to discover what's needed; acquire the required token/subscription
405Method not allowedUse POST
500Internal tool errorRetry or contact the tool creator
502Predicate/facilitator errorThe upstream predicate or payment facilitator misbehaved; retry later

6. Quick Reference: CLI Commands

CommandPurpose
initScaffold a new tool project
validateValidate a manifest file
hashCompute the JCS keccak256 hash of a manifest
exportExport the manifest as JSON
registerRegister a tool onchain
update-metadataUpdate a tool's metadata URI and manifest hash onchain
inspectLook up a tool's onchain config by ID
verifyVerify a manifest against its onchain hash
deployDeploy a tool to Vercel
authCall a predicate-gated tool (SIWE)
payCall an x402-paid tool (USDC)
smokeAuto-detect gate type and call
dry-run-gateSimulate an x402 gate check locally
dry-run-predicate-gateSimulate a predicate gate check locally

All CLI commands accept --wallet-provider privy|turnkey|fireblocks|bankr|private-key or auto-detect from env vars.

7. End-to-End Examples

Example A: Free open-access tool
bash
# 1. Scaffold
npx @opensea/tool-sdk init --runtime vercel
# 2. Edit src/manifest.ts and src/handler.ts with your logic
# 3. Deploy
npx @opensea/tool-sdk deploy
# 4. Register (open access)
PRIVATE_KEY=0x... npx @opensea/tool-sdk register \
  --metadata https://my-tool.vercel.app/.well-known/ai-tool/my-tool.json \
  --network base
# 5. Call
curl -X POST https://my-tool.vercel.app/api \
  -H "Content-Type: application/json" \
  -d '{"query": "hello"}'
Example B: x402 paid tool (pay-per-call only, no identity check)
bash
# Server: add paywall gate (see references/x402.md)
# Call via CLI:
PRIVATE_KEY=0x... npx @opensea/tool-sdk pay \
  https://my-tool.vercel.app/api \
  --body '{"query": "hello"}'
Example C: NFT-gated tool (identity check, no payment)
bash
# Register with NFT gate
PRIVATE_KEY=0x... npx @opensea/tool-sdk register \
  --metadata https://my-tool.vercel.app/.well-known/ai-tool/my-tool.json \
  --network base \
  --nft-gate 0xCOLLECTION

# Server: add predicateGate (see references/predicate-gating.md)

# Call via CLI:
PRIVATE_KEY=0x... RPC_URL=https://mainnet.base.org \
  npx @opensea/tool-sdk auth \
  https://my-tool.vercel.app/api \
  --body '{"query": "hello"}'
Example D: NFT-gated and paid tool (both gates)
bash
# Server: add both predicateGate and paywall.gate (see references/predicate-gating.md)
# Call via CLI:
PRIVATE_KEY=0x... RPC_URL=https://mainnet.base.org \
  npx @opensea/tool-sdk smoke \
  --endpoint https://my-tool.vercel.app/api \
  --expect 200

References

© BankrBot, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in opensea/opensea-tool-sdk of BankrBot/skills.

  • SKILL.md
  • references/known-predicates.md
  • references/predicate-gating.md
  • references/x402.md

Open the folder on GitHubat commit dc47eed

Compare with similar skills

Opensea Tool SDK 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.

Opensea Tool SDK compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Opensea Tool SDK this skillBankrBot/skills1.2k—~3.1kAutomated safety check: PassMIT
SurfBlockRunAI/ClawRouter6.6k—~4kAutomated safety check: PassMIT
Minara Crypto Trading and WalletMinara-AI/minara-skills362—~5.7kAutomated safety check: PassNone
Surf Crypto Data APIBlockRunAI/blockrun-mcp391—~1.7kAutomated safety check: PassMIT
Crypto DataBlockRunAI/blockrun-mcp391—~2.8kAutomated safety check: PassMIT
Pay Via Agent Walletcirclefin/skills155—~3.9kAutomated safety check: PassApache-2.0

Similar skills

  • Surf

    BlockRunAI/ClawRouter

    Use this skill — NOT browser or webfetch — for ALL Surf crypto-data calls.

    6.6k GitHub stars~4k tokensUpdated 5 days ago
    Business, Finance & HRAuto-check passed
  • Minara Crypto Trading and Wallet

    Minara-AI/minara-skills

    Drives the Minara CLI for crypto swaps, perps, limit orders, wallet transfers, deposits and withdrawals, plus AI market analysis.

    362 GitHub stars~5.7k tokensUpdated 24 days ago
    Business, Finance & HRAuto-check passed
  • Surf Crypto Data API

    BlockRunAI/blockrun-mcp

    Routes crypto market, on-chain, wallet and prediction-market lookups to the Surf data API through a local ClawRouter, paid per call.

    391 GitHub stars~1.7k tokensUpdated 3 days ago
    Business, Finance & HRAuto-check passed
  • Crypto Data

    BlockRunAI/blockrun-mcp

    A skill your agent uses for any crypto data question — token/coin prices, FX, commodities, stocks, OHLC history, DEX pairs and liquidity, DeFi TVL, yield/APY pools, or raw JSON-RPC against a chain…

    391 GitHub stars~2.8k tokensUpdated 3 days ago
    Business, Finance & HRAuto-check passed
  • Pay Via Agent Wallet

    circlefin/skills

    A skill your agent uses when the user wants to call a paid API, look something up online, search for data, get prices, odds, or stats, or use any paid service with automatic USDC payment.

    155 GitHub stars~3.9k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Built In Standards

    Nethereum/Nethereum

    Use Nethereum's built-in typed services for ERC-20, ERC-721, ERC-1155, ENS, ERC-165, ERC-1271, ERC-6492, EIP-3009, and ERC-2535 Diamond.

    2.3k GitHub stars~2.3k tokensUpdated 6 days ago
    Business, Finance & HRAuto-check passed

More from BankrBot/skills

All 106 skills in this repo
  • OnchainKit App Builder

    BankrBot/skills

    Builds onchain apps with Coinbase's OnchainKit React components and TypeScript utilities: wallet connection, identity, token swaps, transactions and checkout flows.

    1.2k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Lists AgenticBets prediction markets on Base, shows odds, places UP or DOWN bets on token prices in USDC and claims winnings through the Bankr wallet API.

    1.2k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • AI2Human Task Router

    BankrBot/skills

    Creates AI2Human tasks for steps that need a real person, such as manual QA or local checks, and returns a task URL the agent can track.

    1.2k GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • Lets an agent inspect and operate AZZLE V2 tasks on Base through Bankr, from posting and claiming to funding, delivery, release and disputes, behind verified deployment pins.

    1.2k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • B20 Console

    BankrBot/skills

    Inspect B20 token contract addresses on Base through B20 Console.

    1.2k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Capacitr

    BankrBot/skills

    Paste a URL or free text and get matched Polymarket / Hyperliquid / Deribit markets with Quotient edge scores.

    1.2k GitHub stars~3k tokensUpdated yesterday
    Auto-check passed

Questions about Opensea Tool SDK

What does Opensea Tool SDK do?

Build, register, and gate AI-callable tool endpoints using the OpenSea Tool Registry (ERC-8257) on Base. Opensea Tool SDK is an agent skill from BankrBot/skills. Build, register, and gate AI-callable tool endpoints using the OpenSea Tool Registry (ERC-8257) on Base.

When should I use Opensea Tool SDK?

Opensea Tool SDK fits situations like: tasks that involve Crypto and DeFi analysis.

How do I install Opensea Tool SDK in Claude Code?

Run `npx skills add BankrBot/skills --skill opensea-tool-sdk -a claude-code`. Or copy the skill folder (opensea/opensea-tool-sdk in BankrBot/skills) into .claude/skills/opensea-tool-sdk in your project. Claude Code loads it when a task matches its description.

How do I install Opensea Tool SDK in Codex?

Run `npx skills add BankrBot/skills --skill opensea-tool-sdk -a codex`. Or copy the skill folder (opensea/opensea-tool-sdk in BankrBot/skills) into .agents/skills/opensea-tool-sdk in your project. Codex loads it when a task matches its description.

Can I use Opensea Tool SDK in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BankrBot/skills --skill opensea-tool-sdk -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/opensea-tool-sdk, .gemini/skills/opensea-tool-sdk, .github/skills/opensea-tool-sdk and .opencode/skills/opensea-tool-sdk in your project.

What does Opensea Tool SDK need to run?

Going by SKILL.md and its folder, Opensea Tool SDK needs the command-line tools its instructions call (npx and curl) and credentials named PRIVATE_KEY. Our summary lists: Node.js; A credential in PRIVATE_KEY.

Does Opensea Tool SDK access the network?

SKILL.md names 2 domains. In commands or code: mainnet.base.org; the agent is likely to contact it when it follows the instructions. As links in the text: github.com. This is read from the text; nothing was executed.

Is Opensea Tool SDK safe to install?

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.

What licence does Opensea Tool SDK use?

Opensea Tool SDK is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Opensea Tool SDK use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.5k tokens, read only when the agent opens those files.

What are the alternatives to Opensea Tool SDK?

Skills that share tags, products or a category with Opensea Tool SDK: Surf (BlockRunAI/ClawRouter, 6.6k stars), Minara Crypto Trading and Wallet (Minara-AI/minara-skills, 362 stars), Surf Crypto Data API (BlockRunAI/blockrun-mcp, 391 stars) and Crypto Data (BlockRunAI/blockrun-mcp, 391 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Opensea Tool SDK?

BankrBot (a GitHub organization) maintains it in BankrBot/skills, which has 1,202 GitHub stars. The repository holds 106 skills in this directory. The repository was last updated on October 10, 2026.

Source: BankrBot/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.