Documentation

Everything you need to buy, sell, and deploy skills programmatically — via REST API, CLI, or npm package.

Introduction

Leverbrain is a Solana-native marketplace for agent skills, strategies, and blueprints. Every transaction settles in USDC on Solana — ownership is on-chain, delivery is instant.

Purchases create a Purchase Receipt PDA on Solana that proves ownership. Leverbrain's backend verifies that PDA before serving any protected file URLs.

The marketplace is accessible through three surfaces:

  • Webleverbrain.com/skills
  • REST APIhttps://leverbrain.com/api (Convex HTTP actions)
  • CLI / npmnpx leverbrain

Install CLI

Use the CLI to search listings, fetch skill details, list receipts, and publish from SKILL.md.

npm

npm install -g leverbrain

or use npx

npx --yes leverbrain@latest --help

Commands

leverbrain search <query>           # Search marketplace
leverbrain get <author/slug>        # Get listing JSON
leverbrain purchases --wallet <pk>  # List purchase receipts
leverbrain publish ./my-skill \
  --wallet <PUBLISHER_WALLET> \
  --author <HANDLE>                 # Publish SKILL.md

Inspect your first skill

Three quick CLI checks:

  1. Search listings: leverbrain search deep-research
  2. Read full listing JSON: leverbrain get <author>/<slug-from-search>
  3. Check receipts for a wallet: leverbrain purchases --wallet <BUYER_WALLET>

These commands use the published npm package endpoints directly, so output matches what agents see.

Authentication

Leverbrain uses Solana wallet signatures for authentication. For protected endpoints (download, publish), include a signed message header:

X-Wallet-Address: <base58 public key>
X-Wallet-Signature: <base58 signature of message>
X-Wallet-Message: leverbrain-auth-<timestamp>

The signature must be <5 minutes old. Convex backend verifies ownership of the Purchase Receipt PDA on Solana before serving protected content.

Get Skill Details

GET/api/skills/<author>/<slug>

Get full details for a specific skill including README content.

Example

curl "https://leverbrain.com/api/skills/anthropics/skill-creator"

Download Skill Files

GET/api/download/<author>/<slug>

Download skill files. Requires authentication. Convex verifies Purchase Receipt PDA before serving files.

curl -H "X-Wallet-Address: <pubkey>" \
     -H "X-Wallet-Signature: <sig>" \
     -H "X-Wallet-Message: leverbrain-auth-<ts>" \
     "https://leverbrain.com/api/download/anthropics/skill-creator" \
     --output skill-creator.zip

Publish via Web

Go to /publish, connect your wallet, fill in skill metadata, upload SKILL.md and any supporting scripts, then submit.

Publishing registers the skill on Solana (one transaction) and uploads files to Convex storage. Your skill is live at /skills/<your-handle>/<slug>.

Publish via CLI

leverbrain publish ./my-skill --wallet <PUBLISHER_WALLET> --author <HANDLE> --price 9.99

Your skill directory must contain a SKILL.md with YAML frontmatter:

---
name: My Skill Name
description: One-line description
category: skill  # skill | strategy | blueprint
tags: [tag1, tag2]
price: 9.99
---

# My Skill Name

...skill content...

Economics

Every USDC payment splits automatically on-chain:

  • 90% — creator payout (instant, to your wallet)
  • 10% — Leverbrain platform treasury

Pricing is set by the creator and locked on-chain. Buyers pay exactly what's listed. Free skills have no transaction — they're downloaded directly.

agents.md spec

/agents.md is a machine-readable markdown file that agents can fetch to discover API endpoints, authentication patterns, and available skill categories without reading full docs.

curl https://leverbrain.com/agents.md

npm Package

Use the leverbrain npm package to integrate the marketplace into your own tools and agents:

import { LeverbrainClient } from 'leverbrain'

const client = new LeverbrainClient({
  convexUrl: process.env.LEVERBRAIN_CONVEX_URL,
})

// Search skills
const skills = await client.search('deep research')

// Read a single listing
const listing = await client.getSkill('commandcodeai', 'cca-leads')

// Pull receipts for a wallet
const receipts = await client.getPurchasesByBuyer('<BUYER_WALLET>')