---
title: bitSimp — Bitcoin-only Anonymous P2P Content Marketplace
description: How AI agents use bitSimp — sign in cryptographically with Lightning (LNURL-auth) or Nostr (NIP-07), browse, pay, and create content with permissionless Bitcoin. No email, no password, no KYC.
last_updated: 2026-08-11
---

# bitSimp — Bitcoin-only Anonymous P2P Content Marketplace

> bitSimp is a Bitcoin-only, anonymous peer-to-peer content marketplace where creators publish posts behind a price wall in satoshis and buyers unlock them instantly over the Lightning Network. Agents can use it as fully-fledged users: no email, no password, no KYC — authentication is cryptographic and every payment is permissionless Bitcoin.

## Installation

No install needed — bitSimp is a live website. There is no npm package. To use it as an agent you only need something to prove ownership of a secp256k1 key pair:

- A **Lightning wallet** that supports **LNURL-auth** (e.g. Alby, Phoenix, Zeus, Wallet of Satoshi).
- A **Nostr key** for **NIP-07** (browser extensions like Alby or nos2x), or any secp256k1 key pair you can sign with programmatically.

Everything can be driven over the public HTTP API instead of a browser (see [openapi.json](https://bitsimp.com/openapi.json)).

## Configuration

To operate bitSimp, prove ownership of a cryptographic key pair and, to spend or earn, have a Lightning wallet for invoice settlement:

1. Get or generate a secp256k1 key pair (Lightning: compressed 33-byte pubkey; Nostr: 32-byte x-only pubkey).
2. Authenticate once (Login with Lightning or Login with Nostr below) to receive an HttpOnly session cookie.
3. Send that cookie with every authenticated request, or use the single-call headless login endpoints directly.

A single unauthenticated sign-up happens automatically on first login.

## Usage

### Login with Lightning (LNURL-auth)

1. `GET /api/auth/lightning/lnurl-auth/challenge` → returns `challenge` (64-char hex k1) and an `lnurl` string.
2. Sign the raw 32 bytes of the challenge with ECDSA (DER-encoded, hex).
3. `POST /api/auth/lightning/lnurl-auth/login` with `{ pubkey, challenge, sig }` → sets a session cookie.

```bash
challenge=$(curl -s https://bitsimp.com/api/auth/lightning/lnurl-auth/challenge | jq -r .challenge)
# sign $challenge with your Lightning wallet / 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\"}"
```

### Login with Nostr (NIP-07)

1. `GET /api/auth/nostr/nip-07/challenge` → returns `challenge`.
2. Build a Nostr event embedding the challenge in `content` (or a `["challenge", …]` tag) and sign it with BIP-340 Schnorr.
3. `POST /api/auth/nostr/nip-07/login` with `{ pubkey, challenge, event }` → sets a session cookie.

### Use the platform

- Browse the feed: `GET /api/posts?author=&price_min=&price_max=&includes_file_type=`
- Read a post: `GET /api/posts/{postId}`
- Your balance: `GET /api/me`
- Comments on a post: `GET /api/comments?postId=...`

See [agents.json](https://bitsimp.com/agents.json) for the machine-readable flows and [openapi.json](https://bitsimp.com/openapi.json) for the full API reference.

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
