Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By b-open-io
Manage the full 1Sat ecosystem on BSV blockchain: mint ordinals and NFTs, list/buy/cancel marketplace orders, handle BSV21 tokens, set up BRC-100 wallets, build and sign transactions, lock/sweep BSV, register OpNS identities, extract on-chain media, and connect dApps via React hooks or CLI.
npx claudepluginhub b-open-io/claude-plugins --plugin 1satThis skill should be used when working with the 1Sat CLI tool for BSV operations from the terminal -- running wallet commands, minting ordinals, managing tokens, creating listings, locking BSV, sweeping assets, managing identity, OR running the wallet-storage RPC server (`1sat serve`) from the same binary. Triggers on '1sat CLI', 'command line wallet', '1sat init', '1sat wallet', '1sat ordinals', '1sat tokens', '1sat lock', '1sat sweep', '1sat action', '1sat serve', '1sat serve wallet', '1sat serve monitor', 'wallet server', 'BRC-100 storage server', 'bunx @1sat/cli', or 'terminal BSV operations'. Uses @1sat/cli and @1sat/wallet-server packages.
This skill should be used when working with the 1sat-stack unified BSV indexing API — whenever an agent needs to fetch UTXOs, look up inscriptions or ordinals, get BSV21 token balances, access ORDFS on-chain content, broadcast transactions, look up BAP identities, or stream real-time BSV events. Use this when replacing WhatsOnChain, GorillaPool ordinals API, or other separate BSV indexers. Also use when the user asks about 'api.1sat.app', 'unified BSV indexer', 'BSV21 token lookup', 'ORDFS content', 'overlay engine', or 'broadcasting BEEF transactions'.
This skill should be used when building a dApp that connects to a 1Sat wallet — using @1sat/connect for wallet connection via popup or browser extension, @1sat/react for React hooks and components, or integrating with the BigBlocks shadcn registry. Triggers on 'connect wallet', 'dApp integration', 'wallet provider', 'ConnectButton', 'WalletProvider', 'useWallet', 'ConnectDialog', 'SigmaCallback', 'browser extension', 'popup wallet', 'BRC-100', 'Sigma OAuth', 'BigBlocks registry', or 'shadcn wallet components'.
This skill should be used when extracting media files from BSV blockchain transactions — downloading inscribed ordinals, retrieving on-chain images/videos/files, or accessing ORDFS content. Triggers on 'extract inscription', 'download ordinal', 'get on-chain file', 'ORDFS content', 'txex', 'blockchain media', or 'inscribed content'. Uses txex CLI for raw extraction, ORDFS gateway for HTTP access.
This skill should be used when working with OpNS (Op = operation, NS = like DNS) names — registering identity keys on names, deregistering identity bindings, looking up OpNS names, or managing on-chain name resolution. Triggers on 'OpNS', 'register name', 'name service', 'on-chain DNS', 'identity binding', 'name resolution', 'deregister name', or 'opns.idKey'. Uses @1sat/actions opns module.
Uses power tools
Uses Bash, Write, or Edit tools
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Blockchain data and infrastructure via Alchemy — EVM/Solana RPC, NFT API, token prices, portfolio, transfers, webhooks. Supports API key and agentic gateway (x402/MPP) auth flows.
Interact with Net Protocol - decentralized onchain messaging and storage on EVM chains
Build on Solana with Helius — live blockchain tools, expert coding patterns, and autonomous account signup
On-chain AI skills via x402 micropayments on Base
Blockchain RPC access for AI agents — 200+ networks via DRPC MCP gateway
Ship stablecoin apps faster. Best-practice skills for USDC payments, cross-chain transfers, wallets, and smart contracts — plus Circle's MCP server for real-time SDK and documentation guidance.
Development agents, skills, hooks, and commands for Claude Code workflows
Core BSV blockchain operations including standards reference (BRCs, BitCom, tokens), key derivation (Type42, BIP32, BAP), ORDFS content gateway, script templates, message signing, wallet operations, identity management, and JungleBus real-time blockchain streaming.
Gemini 3.1 Pro skills powered by Nano Banana 2, Gemini 3 Flash, and Veo 3.1 - image generation with 169 art styles including pop culture icons and video game aesthetics, video generation (text-to-video, image-to-video) with native audio, interactive style browser with tile regeneration, pixel avatars, team group photos, section dividers, platform icons (favicon, iOS, Android, PWA, desktop), image optimization with sharp, text generation, upscaling, editing, SVG creation, segmentation, visual workflow planning with tldraw infinite canvas, and dynamic Gemini API docs via llms.txt.
ClawNet bot templates and skills for AI agent development on the ClawNet platform
Permission analytics TUI for analyzing Claude Code permission usage patterns

Build apps on 1Sat Ordinals — BSV's protocol for NFTs, fungible tokens (BSV20/21), and on-chain data.
Run the CLI immediately (no install):
bunx @1sat/cli
Add Agent Skills for Claude Code:
claude plugin install 1sat@b-open-io
# CLI tool usage and commands
npx skills add b-open-io/1sat-sdk --skill 1sat-cli
# Unified BSV indexing API (api.1sat.app)
npx skills add b-open-io/1sat-sdk --skill 1sat-stack
# Wallet popup + React hooks for browser dApps
npx skills add b-open-io/1sat-sdk --skill dapp-connect
# Ordinals marketplace (list/buy/cancel OrdLock listings)
npx skills add b-open-io/1sat-sdk --skill ordinals-marketplace
# BSV21 fungible token operations
npx skills add b-open-io/1sat-sdk --skill token-operations
# Transaction building with BRC-100 actions
npx skills add b-open-io/1sat-sdk --skill transaction-building
# Wallet setup (BRC-100, storage, sync)
npx skills add b-open-io/1sat-sdk --skill wallet-setup
# Mint and inscribe ordinals/NFTs
npx skills add b-open-io/1sat-sdk --skill wallet-create-ordinals
# Time-lock BSV until block height
npx skills add b-open-io/1sat-sdk --skill timelock
# Sweep/import from external WIF
npx skills add b-open-io/1sat-sdk --skill sweep-import
# OpNS on-chain name registration
npx skills add b-open-io/1sat-sdk --skill opns-names
# Extract inscribed media from blockchain
npx skills add b-open-io/1sat-sdk --skill extract-blockchain-media
Install packages for your app:
# Browser dApps — wallet popup connection
bun add @1sat/connect
# React apps
bun add @1sat/react
# Server / scripts — direct key access
bun add @1sat/actions @1sat/client @1sat/types
# Bitcoin script templates
bun add @1sat/templates
# Full BRC-100 wallet engine
bun add @1sat/wallet-browser # or @1sat/wallet-node
import { createOneSat } from '@1sat/connect'
import { Utils } from '@bsv/sdk'
const { toArray, toBase64 } = Utils
const onesat = createOneSat({
appName: 'My dApp',
})
// Connect — opens wallet popup if no extension is installed
try {
const { paymentAddress, ordinalAddress } = await onesat.connect()
console.log('Connected:', paymentAddress)
} catch (err) {
if (err instanceof UserRejectedError) {
console.log('User closed the popup')
}
}
// Inscribe
await onesat.inscribe({
dataB64: toBase64(toArray('Hello, Ordinals!', 'utf8')),
contentType: 'text/plain',
})
// Transfer ordinals
await onesat.sendOrdinals({
outpoints: ['txid_vout'],
destination: 'recipient-address',
})
// Transfer tokens
await onesat.transferToken({
tokenId: 'token-origin',
amount: '100',
destinationAddress: 'recipient-address',
})
import { OneSatProvider, ConnectButton, useOneSatContext, useBalance } from '@1sat/react'
function App() {
return (
<OneSatProvider appName="My dApp">
<ConnectButton />
<WalletInfo />
</OneSatProvider>
)
}
function WalletInfo() {
const { isConnected, paymentAddress } = useOneSatContext()
const { satoshis, isLoading } = useBalance()
if (!isConnected) return null
return (
<div>
<p>Address: {paymentAddress}</p>
<p>Balance: {satoshis} sats</p>
</div>
)
}
For backends or scripts where you control the keys directly:
import { createOrdinals, fetchPayUtxos } from '@1sat/actions'
import { ArcadeClient } from '@1sat/client'
import { ONESAT_MAINNET_URL } from '@1sat/types'
import { PrivateKey, Utils } from '@bsv/sdk'
const { toArray, toBase64 } = Utils
// SERVER SIDE ONLY — never expose private keys in client code
const privateKey = PrivateKey.fromWif(process.env.WALLET_WIF!)
const address = privateKey.toAddress().toString()
// Fetch UTXOs from indexer
const utxos = await fetchPayUtxos(address)
// Create an inscription
const result = await createOrdinals({
utxos,
destinations: [{
address,
inscription: {
dataB64: toBase64(toArray('Hello, Ordinals!', 'utf8')),
contentType: 'text/plain',
},
}],
paymentPk: privateKey,
changeAddress: address,
})