Skip to main content

GeraNexus · Free developer tool

gera-nexus.json descriptor builder

Generate and validate the /.well-known/gera-nexus.json descriptor — the file a service publishes to advertise which GeraNexus agentic-commerce actions it supports. Everything runs in your browser; nothing is uploaded.

Action names, scopes and settlement rails below come from the GeraNexus v0.1 draft spec. The protocol is pre-launch — treat the descriptor as forward-looking.

1 · Build your descriptor

Supported actions
Settlement rails

2 · Copy & publish

{
  "protocol": "gera-nexus",
  "version": "0.1.0",
  "status": "draft",
  "service": {
    "name": "Your Service",
    "base_url": "https://your-domain.example"
  },
  "actions": [
    {
      "name": "list-offers",
      "tag": "offers",
      "scope": "gera-nexus:read",
      "idempotent": true,
      "endpoint": "https://your-domain.example/nexus/v0.1/list-offers",
      "schema": "https://nexus.gera.services/schemas/v0.1/list-offers.json"
    },
    {
      "name": "book",
      "tag": "booking",
      "scope": "gera-nexus:book",
      "idempotent": true,
      "endpoint": "https://your-domain.example/nexus/v0.1/book",
      "schema": "https://nexus.gera.services/schemas/v0.1/book.json"
    },
    {
      "name": "pay",
      "tag": "settlement",
      "scope": "gera-nexus:pay",
      "idempotent": true,
      "endpoint": "https://your-domain.example/nexus/v0.1/pay",
      "schema": "https://nexus.gera.services/schemas/v0.1/pay.json"
    },
    {
      "name": "cancel",
      "tag": "booking",
      "scope": "gera-nexus:book",
      "idempotent": true,
      "endpoint": "https://your-domain.example/nexus/v0.1/cancel",
      "schema": "https://nexus.gera.services/schemas/v0.1/cancel.json"
    },
    {
      "name": "verify-completion",
      "tag": "settlement",
      "scope": "gera-nexus:book",
      "idempotent": true,
      "endpoint": "https://your-domain.example/nexus/v0.1/verify-completion",
      "schema": "https://nexus.gera.services/schemas/v0.1/verify-completion.json"
    },
    {
      "name": "dispute",
      "tag": "dispute",
      "scope": "gera-nexus:dispute",
      "idempotent": false,
      "endpoint": "https://your-domain.example/nexus/v0.1/dispute",
      "schema": "https://nexus.gera.services/schemas/v0.1/dispute.json"
    },
    {
      "name": "refund",
      "tag": "settlement",
      "scope": "gera-nexus:pay",
      "idempotent": true,
      "endpoint": "https://your-domain.example/nexus/v0.1/refund",
      "schema": "https://nexus.gera.services/schemas/v0.1/refund.json"
    }
  ],
  "scopes": [
    "gera-nexus:book",
    "gera-nexus:dispute",
    "gera-nexus:pay",
    "gera-nexus:read"
  ],
  "settlement_layers": [
    "stripe"
  ],
  "default_arbiter": {
    "id": "gera-witness",
    "url": "https://witness.gera.services"
  },
  "mcp_coexistence": "Discover this service over MCP for read access; transact over GeraNexus using the actions above."
}

Serve this at /.well-known/gera-nexus.json with Content-Type: application/json.

Validate an existing descriptor

Paste a gera-nexus.json file to check it against the v0.1 draft.

FAQ

What is /.well-known/gera-nexus.json?

It is a small machine-readable descriptor a service publishes at /.well-known/gera-nexus.json. It tells AI agents which GeraNexus protocol actions the service supports (for example list-offers, book, pay, verify-completion, dispute, refund), which OAuth-style scopes those actions require, which settlement rails it accepts, and where its arbiter lives. Agents read this file to know how to transact with the service.

How do I publish a descriptor?

Generate the JSON with this builder, save it as gera-nexus.json, and serve it at https://your-domain/.well-known/gera-nexus.json with Content-Type application/json. Agents and the GeraNexus reference implementation will discover it automatically. GeraNexus is a draft, pre-launch protocol, so treat the descriptor as forward-looking.

Does this tool send my data anywhere?

No. The builder and validator run entirely in your browser. Nothing you type is uploaded.