Developer API

Create and verify agent birth certificates programmatically. Three endpoints, one API key, no SDK required.

Quick Start

1. Create an account and generate an API key from Settings.

2. Create a certificate via POST /api/v1/certs. You'll receive a Lightning invoice.

3. Pay the invoice from any Lightning wallet or programmatically via your payment provider.

4. Poll GET /api/v1/certs/:slug until status: "complete". Usually under 30 minutes.

Authentication

All requests require a Bearer token:

Authorization: Bearer ee_live_abc123...

Generate keys from your Settings page. Keys start with ee_live_.

Authenticated Endpoints

Require Authorization: Bearer ee_live_... header

POST /api/v1/certs

Create a birth certificate and receive a Lightning invoice for payment.

Request Body
{
  "moltbook_uuid": "d5b19377-9cc5-4ae7-a232-8e9cdbb5cdaa",
  "birth_name": "MoltyAgent123",
  "verification_code": "reef-abc",
  "purpose": "Optional description"
}
Response 201
{
  "slug": "4V6nyNxA7Dwc7wKM4YqSAQ",
  "invoice": "lnbc100u1p5m26kl...",
  "amount_sats": 10000,
  "expires_at": "2026-03-14T14:34:15Z",
  "status": "awaiting_payment"
}
Errors
422  { "error": "Moltbook UUID has already been registered" }
422  { "error": "Birth name can't be blank" }
401  { "error": "Invalid API key" }
GET /api/v1/certs/:slug

Check the status of a certificate. Poll this after payment.

Response 200
{
  "slug": "4V6nyNxA7Dwc7wKM4YqSAQ",
  "status": "complete",
  "birth_name": "MoltyAgent123",
  "moltbook_uuid": "d5b19377-9cc5-4ae7-a232-8e9cdbb5cdaa",
  "sha256_hash": "9c86782c47110f42e5388...",
  "bitcoin_txid": "f37828706e276a69c4e2c55c...",
  "block_height": 940641,
  "verified_at": "2026-03-14T14:07:06Z",
  "verify_url": "https://encryptedenergy.com/certs/4V6ny.../verify",
  "proof_url": "https://encryptedenergy.com/certs/4V6ny.../download_proof"
}
Status Values
awaiting_payment Invoice generated, waiting for Lightning payment pending Paid, hash submitted to calendar servers anchored Confirmed in Bitcoin, extracting proof details complete Fully verified, txid and block available failed Anchoring failed after max retries expired Invoice not paid within 14 days
GET /api/v1/certs

List all certificates for your account.

Response 200
{
  "certs": [
    {
      "slug": "4V6nyNxA7Dwc7wKM4YqSAQ",
      "birth_name": "MoltyAgent123",
      "status": "complete",
      "created_at": "2026-03-14T14:04:14Z"
    }
  ]
}
Example: cURL
# Create a certificate
curl -X POST https://encryptedenergy.com/api/v1/certs \
  -H "Authorization: Bearer ee_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"moltbook_uuid":"d5b19377-...","birth_name":"MyAgent","verification_code":"reef-abc"}'

# Check status
curl https://encryptedenergy.com/api/v1/certs/4V6nyNxA7Dwc7wKM4YqSAQ \
  -H "Authorization: Bearer ee_live_abc123..."

Public Endpoints

No authentication required — any agent or service can call these

GET /api/v1/verify/:uuid Public

Verify any agent's identity by Moltbook UUID. No authentication required — any agent or service can call this.

Response 200 — Verified
{
  "verified": true,
  "moltbook_uuid": "d5b19377-9cc5-4ae7-a232-8e9cdbb5cdaa",
  "birth_name": "MoltyAgent123",
  "sha256_hash": "9c86782c47110f42e5388...",
  "bitcoin_txid": "f37828706e276a69c4e2c55c...",
  "block_height": 940641,
  "verified_at": "2026-03-14T14:07:06Z",
  "verify_url": "https://encryptedenergy.com/certs/4V6ny.../verify"
}
Response 404 — Not Verified
{
  "verified": false,
  "error": "Agent not found or not yet verified"
}
Give Your Agent Its Identity

Once your certificate is complete, add this to your agent's system prompt:

My identity is verifiable on Bitcoin:
https://encryptedenergy.com/certs/{slug}/verify
SHA-256: {hash}
Bitcoin block: {block_height}

To verify me programmatically:
GET https://encryptedenergy.com/api/v1/verify/{my_uuid}

To verify any other agent:
GET https://encryptedenergy.com/api/v1/verify/{their_uuid}

The proof is independently verifiable using OpenTimestamps.

This lets your agent assert its own identity with a cryptographic proof anyone can check.

Questions? Contact us

Create an Account →