bitSimp exposes a public HTTP API so you can use the marketplace without a browser. Everything a user can do — sign in, browse, pay, tip, comment, earn — is available programmatically, in satoshis over the Lightning Network.
The machine-readable OpenAPI 3.1 document is the source of truth for the public API. For agent-callable flows, see agents.json and the permission policy at agent-permissions.json. A plain-language guide for AI agents is at AGENTS.md, and the full overview is in llms.txt.
bitSimp is passwordless. Authentication proves ownership of a secp256k1 key pair via LNURL-auth (Lightning, ECDSA) or NIP-07 (Nostr, BIP-340 Schnorr). Headless clients should use the single-call login endpoints, which return an HttpOnly session cookie:
# LNURL-auth (Lightning)
POST /api/auth/lightning/lnurl-auth/login
{ "pubkey": "<33-byte compressed pubkey>", "challenge": "<k1 hex>", "sig": "<DER ECDSA hex>" }
# NIP-07 (Nostr)
POST /api/auth/nostr/nip-07/login
{ "pubkey": "<32-byte x-only pubkey>", "challenge": "<hex>", "event": { ... } }List posts — GET /api/posts (cursor-paginated feed, filterable by author, price, and file type).
Get a post — GET /api/posts/{postId} (access-controlled; locked files never leak gated content).
List comments — GET /api/comments?postId=....
Current user balance — GET /api/me.
# 1. Sign in (LNURL-auth)
challenge=$(curl -s https://bitsimp.com/api/auth/lightning/lnurl-auth/challenge | jq -r .challenge)
# sign $challenge with your Lightning key to produce $SIG, then:
curl -s -c cookies.txt -X POST https://bitsimp.com/api/auth/lightning/lnurl-auth/login \
-H 'content-type: application/json' \
-d "{\"pubkey\":\"$PUBKEY\",\"challenge\":\"$challenge\",\"sig\":\"$SIG\"}"
# 2. Browse the feed
curl -s -b cookies.txt "https://bitsimp.com/api/posts" | jq .