{
  "version": 1,
  "site": "https://nano133.com",
  "guides": [
    {
      "slug": "accept-nano-payments",
      "title": "Accept Nano payments without a processor",
      "summary": "An address for each checkout, a clean amount, an exact check on your own node, and a sweep to your wallet. No processor, no fee. Your server holds a seed.",
      "goal": "pay",
      "level": "Developer",
      "minutes": 30,
      "stage": "alpha",
      "lastChecked": "2026-10-24",
      "node": null,
      "ran": null,
      "tool": "nano-checkout",
      "tracks": [
        {
          "id": "gcp",
          "name": "Google Cloud",
          "stage": "pre-alpha"
        },
        {
          "id": "cloudflare",
          "name": "Cloudflare Workers",
          "stage": "pre-alpha"
        }
      ],
      "urls": {
        "page": "https://nano133.com/guides/accept-nano-payments",
        "markdown": "https://nano133.com/guides/accept-nano-payments.md",
        "spec": "https://nano133.com/guides/accept-nano-payments/SPEC.md",
        "prompt": "https://nano133.com/guides/accept-nano-payments/PROMPT.md",
        "test": "https://nano133.com/guides/accept-nano-payments/test.mjs"
      },
      "code": [
        "https://nano133.com/guides/accept-nano-payments/code/edge-state.mjs",
        "https://nano133.com/guides/accept-nano-payments/code/accept-nano.mjs"
      ]
    },
    {
      "slug": "sign-in-with-nano",
      "title": "Sign in with Nano",
      "summary": "Sign in with a wallet signature or a passkey. No payment, no password, no email. Your server checks one signature and holds no key.",
      "goal": "pay",
      "level": "Developer",
      "minutes": 30,
      "stage": "alpha",
      "lastChecked": "2026-10-25",
      "node": "none",
      "ran": "Test script with real signatures: passed. A second test shows it acts the same as the sign-in code of nano133.com.",
      "tool": "sign-in-with-nano",
      "tracks": [],
      "urls": {
        "page": "https://nano133.com/guides/sign-in-with-nano",
        "markdown": "https://nano133.com/guides/sign-in-with-nano.md",
        "spec": "https://nano133.com/guides/sign-in-with-nano/SPEC.md",
        "prompt": "https://nano133.com/guides/sign-in-with-nano/PROMPT.md",
        "test": "https://nano133.com/guides/sign-in-with-nano/test.mjs"
      },
      "code": [
        "https://nano133.com/guides/sign-in-with-nano/code/purse.mjs",
        "https://nano133.com/guides/sign-in-with-nano/code/signin.mjs"
      ]
    },
    {
      "slug": "sign-blocks-safely",
      "title": "Sign blocks from a server safely",
      "summary": "No forks, no double sends, and many wallets from one secret. A lock with a fence, and a block that is recorded before it is published.",
      "goal": "pay",
      "level": "Advanced",
      "minutes": 40,
      "stage": "alpha",
      "lastChecked": "2026-10-25",
      "node": null,
      "ran": null,
      "tool": "late-payment-return",
      "tracks": [],
      "urls": {
        "page": "https://nano133.com/guides/sign-blocks-safely",
        "markdown": "https://nano133.com/guides/sign-blocks-safely.md",
        "spec": "https://nano133.com/guides/sign-blocks-safely/SPEC.md",
        "prompt": "https://nano133.com/guides/sign-blocks-safely/PROMPT.md",
        "test": "https://nano133.com/guides/sign-blocks-safely/test.mjs"
      },
      "code": [
        "https://nano133.com/guides/sign-blocks-safely/code/safe-send.mjs"
      ]
    },
    {
      "slug": "send-money-back-exactly-once",
      "title": "Send money back exactly once",
      "summary": "Find a payment that nothing claimed, decide that it must go back, record that, and send it back once, even if the server stops. The late-return pattern.",
      "goal": "pay",
      "level": "Advanced",
      "minutes": 40,
      "stage": "alpha",
      "lastChecked": "2026-10-25",
      "node": null,
      "ran": null,
      "tool": "late-payment-return",
      "tracks": [],
      "urls": {
        "page": "https://nano133.com/guides/send-money-back-exactly-once",
        "markdown": "https://nano133.com/guides/send-money-back-exactly-once.md",
        "spec": "https://nano133.com/guides/send-money-back-exactly-once/SPEC.md",
        "prompt": "https://nano133.com/guides/send-money-back-exactly-once/PROMPT.md",
        "test": "https://nano133.com/guides/send-money-back-exactly-once/test.mjs"
      },
      "code": [
        "https://nano133.com/guides/send-money-back-exactly-once/code/return-once.mjs",
        "https://nano133.com/guides/send-money-back-exactly-once/code/safe-send.mjs"
      ]
    },
    {
      "slug": "build-with-a-coding-agent",
      "title": "Build a Nano app with a coding agent",
      "summary": "What to tell your coding agent, what it must never touch, and a read-only script that checks its work before you accept it.",
      "goal": "ai",
      "level": "Developer",
      "minutes": 25,
      "stage": "alpha",
      "lastChecked": "2026-10-25",
      "node": "none",
      "ran": "Test script on real files: passed.",
      "tool": null,
      "tracks": [],
      "urls": {
        "page": "https://nano133.com/guides/build-with-a-coding-agent",
        "markdown": "https://nano133.com/guides/build-with-a-coding-agent.md",
        "spec": "https://nano133.com/guides/build-with-a-coding-agent/SPEC.md",
        "prompt": "https://nano133.com/guides/build-with-a-coding-agent/PROMPT.md",
        "test": "https://nano133.com/guides/build-with-a-coding-agent/test.mjs"
      },
      "code": [
        "https://nano133.com/guides/build-with-a-coding-agent/code/agent-guard.mjs"
      ]
    }
  ]
}
