# Open Spatial Rights Protocol (OSRP v1.0) & `/.well-known/spatial-rights.json` Specification

**RFC Draft:** `OSRP-1.0`  
**Status:** Standards Track — Spatial Property & Machine-Readable Airspace Layer  
**Registrar Authority:** VOXEL DEED // GLOBAL VOLUMETRIC REGISTRY  
**Normative Standards:** IEEE P2888 / GeoPose 1.0, OGC 3D Tiles 1.1, W3C WebXR Device API, IETF RFC 8615 (`/.well-known/`), IETF HTTP Status 402 (Payment Required / x402 Protocol)  

---

## 1. Abstract

As 1994's `robots.txt` (Robots Exclusion Protocol) established machine-readable boundaries for 2D web crawlers, **Open Spatial Rights Protocol (OSRP v1.0)** and the **`/.well-known/spatial-rights.json`** manifest establish the authoritative **machine-readable governance, licensing, and automated clearinghouse protocol for physical 3D airspace**.

As Spatial Computing headsets (Apple Vision Pro, Meta Orion, Android XR), AI World Model crawlers (3D Gaussian Splatting, Neural Radiance Fields / NeRFs, LiDAR street-level fleet harvesters), and autonomous low-altitude delivery systems proliferate, real property owners face uncompensated commercial exploitation of their volumetric envelopes and architectural facades. OSRP v1.0 bridges real property law (*Cujus est solum, ejus est usque ad coelum*, Transferable Development Rights, and Volumetric Easements) with a deterministic, cryptographically verifiable spatial manifest queryable by any spatial runtime, VPS (Visual Positioning System), or autonomous agent.

---

## 2. Discovery Mechanisms

Spatial computing clients, AR cloud runtimes, and AI world-model ingestion pipelines MUST resolve spatial rights before rendering persistent third-party anchors, training neural reconstructions on private commercial facades, or routing commercial UAVs through low-altitude parcel columns:

1. **Domain-Linked Resolution (RFC 8615):**  
   `GET https://voxeldeed.com/.well-known/spatial-rights.json?deed_id={DEED_ID}`
2. **Spatial Cadastre & Parcel Search Lookup:**  
   `GET https://voxeldeed.com/api/deeds?q={parcel_or_jurisdiction}`
3. **HTTP 402 Spatial Clearinghouse Handshake:**  
   When a directive is set to `"toll"` or `"commercial_lease"`, an unauthenticated spatial client querying `POST https://voxeldeed.com/api/tollbooth` receives an `HTTP 402 Payment Required` response with `X-402-*` headers (`X-402-Version: x402-1.0`, `X-402-Chain: base-mainnet (eip155:8453)`, `X-402-Token: USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)`) for real-time micropayment settlement.

---

## 3. Normative JSON Schema (`OSRP-1.0`)

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://voxeldeed.com/schemas/osrp-1.0/spatial-rights.schema.json",
  "title": "Open Spatial Rights Protocol (OSRP v1.0) Manifest",
  "type": "object",
  "required": [
    "protocol",
    "deed_id",
    "sha256_fingerprint",
    "issued_at",
    "registrar",
    "parcel",
    "rights_holder",
    "directives",
    "payment_clearinghouse"
  ],
  "properties": {
    "protocol": {
      "type": "string",
      "const": "OSRP-1.0",
      "description": "Protocol version identifier."
    },
    "deed_id": {
      "type": "string",
      "pattern": "^VX-[A-Z0-9-]+$",
      "description": "Canonical Voxel Deed registry identifier."
    },
    "sha256_fingerprint": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$",
      "description": "SHA-256 cryptographic digest of the canonical volumetric covenant."
    },
    "issued_at": {
      "type": "string",
      "format": "date-time",
      "description": "ISO-8601 UTC timestamp of deed registration."
    },
    "registrar": {
      "type": "string",
      "const": "VOXEL DEED // GLOBAL VOLUMETRIC REGISTRY"
    },
    "parcel": {
      "type": "object",
      "required": [
        "parcel_name",
        "municipality",
        "zoning_district",
        "wgs84_polygon",
        "base_elevation_m",
        "air_column_height_m",
        "voxel_resolution_cm",
        "total_megavoxels",
        "ieee_geopose_anchor"
      ],
      "properties": {
        "parcel_name": { "type": "string" },
        "municipality": { "type": "string" },
        "zoning_district": { "type": "string" },
        "wgs84_polygon": {
          "type": "array",
          "minItems": 3,
          "items": {
            "type": "object",
            "required": ["lat", "lon"],
            "properties": {
              "lat": { "type": "number", "minimum": -90, "maximum": 90 },
              "lon": { "type": "number", "minimum": -180, "maximum": 180 }
            }
          },
          "description": "Counter-clockwise closed boundary vertices in WGS-84 decimal degrees."
        },
        "base_elevation_m": {
          "type": "number",
          "description": "Lower datum elevation in meters above EGM96 geoid / WGS-84 ellipsoid."
        },
        "air_column_height_m": {
          "type": "number",
          "minimum": 1,
          "description": "Vertical extrusion height of the claimed air column in meters."
        },
        "voxel_resolution_cm": {
          "type": "integer",
          "enum": [1, 5, 10, 25, 50, 100],
          "description": "Edge length of each cubic volumetric unit in centimeters."
        },
        "total_megavoxels": {
          "type": "number",
          "description": "Total quantized volumetric capacity in millions of voxels (MVx)."
        },
        "ieee_geopose_anchor": {
          "type": "object",
          "required": ["position", "quaternion"],
          "properties": {
            "standard": { "type": "string", "const": "IEEE-GeoPose-1.0-Basic-YPR" },
            "position": {
              "type": "object",
              "required": ["lat", "lon", "h"],
              "properties": {
                "lat": { "type": "number" },
                "lon": { "type": "number" },
                "h": { "type": "number" }
              }
            },
            "quaternion": {
              "type": "object",
              "required": ["x", "y", "z", "w"],
              "properties": {
                "x": { "type": "number" },
                "y": { "type": "number" },
                "z": { "type": "number" },
                "w": { "type": "number" }
              }
            }
          }
        }
      }
    },
    "rights_holder": {
      "type": "object",
      "required": ["entity_name", "legal_role", "jurisdiction", "public_key_ed25519"],
      "properties": {
        "entity_name": { "type": "string" },
        "legal_role": {
          "type": "string",
          "enum": [
            "FEE_SIMPLE_OWNER",
            "TDR_VOLUMETRIC_GRANTEE",
            "REIT_MASTER_LESSEE",
            "MUNICIPAL_TRUSTEE"
          ]
        },
        "jurisdiction": { "type": "string" },
        "public_key_ed25519": { "type": "string" }
      }
    },
    "directives": {
      "type": "object",
      "required": [
        "ai_world_model_scraping",
        "augmented_reality_overlays",
        "autonomous_navigation_corridor"
      ],
      "properties": {
        "ai_world_model_scraping": {
          "type": "object",
          "required": [
            "policy",
            "license_fee_per_megavoxel_usd",
            "prohibited_models"
          ],
          "properties": {
            "policy": {
              "type": "string",
              "enum": ["allow", "toll", "block"]
            },
            "license_fee_per_megavoxel_usd": {
              "type": "number",
              "minimum": 0
            },
            "prohibited_models": {
              "type": "array",
              "items": { "type": "string" }
            },
            "attribution_required": { "type": "boolean" }
          }
        },
        "augmented_reality_overlays": {
          "type": "object",
          "required": [
            "policy",
            "cpm_rate_usd",
            "content_restrictions"
          ],
          "properties": {
            "policy": {
              "type": "string",
              "enum": ["verified_only", "commercial_lease", "prohibited"]
            },
            "cpm_rate_usd": {
              "type": "number",
              "minimum": 0,
              "description": "Cost per 1,000 spatial impressions (gaze-verified >= 800ms) in USD."
            },
            "content_restrictions": {
              "type": "array",
              "items": { "type": "string" }
            }
          }
        },
        "autonomous_navigation_corridor": {
          "type": "object",
          "required": [
            "policy",
            "altitude_floor_m",
            "altitude_ceiling_m",
            "transit_toll_usd"
          ],
          "properties": {
            "policy": {
              "type": "string",
              "enum": ["restricted", "corridor_toll", "public_emergency"]
            },
            "altitude_floor_m": { "type": "number" },
            "altitude_ceiling_m": { "type": "number" },
            "transit_toll_usd": { "type": "number", "minimum": 0 }
          }
        }
      }
    },
    "payment_clearinghouse": {
      "type": "object",
      "required": ["protocol", "endpoint", "settlement_rails", "beneficiary_wallet"],
      "properties": {
        "protocol": { "type": "string", "const": "HTTP-402-X402-SPATIAL" },
        "endpoint": { "type": "string" },
        "settlement_rails": {
          "type": "array",
          "items": { "type": "string", "enum": ["x402-USDC-BASE", "STRIPE-SPATIAL-CONNECT", "FEDNOW-INSTANT"] }
        },
        "beneficiary_wallet": { "type": "string" }
      }
    }
  }
}
```

---

## 4. Reference `/.well-known/spatial-rights.json` Payload

```json
{
  "protocol": "OSRP-1.0",
  "deed_id": "VX-NYC-10012-SOHO-0042",
  "sha256_fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
  "issued_at": "2026-11-04T16:26:55Z",
  "registrar": "VOXEL DEED // GLOBAL VOLUMETRIC REGISTRY",
  "parcel": {
    "parcel_name": "Cast-Iron Commercial Block // 482 Broadway",
    "municipality": "New York, NY (Manhattan Block 473, Lot 14)",
    "zoning_district": "M1-5B (SoHo Cast-Iron Historic District)",
    "wgs84_polygon": [
      { "lat": 40.721412, "lon": -74.000621 },
      { "lat": 40.721325, "lon": -74.000398 },
      { "lat": 40.721094, "lon": -74.000554 },
      { "lat": 40.721181, "lon": -74.000777 }
    ],
    "base_elevation_m": 11.4,
    "air_column_height_m": 85.0,
    "voxel_resolution_cm": 10,
    "total_megavoxels": 64.25,
    "ieee_geopose_anchor": {
      "standard": "IEEE-GeoPose-1.0-Basic-YPR",
      "position": { "lat": 40.721253, "lon": -74.000587, "h": 11.4 },
      "quaternion": { "x": 0.0, "y": 0.0, "z": 0.258819, "w": 0.9659258 }
    }
  },
  "rights_holder": {
    "entity_name": "482 Broadway Volumetric Holdings LLC",
    "legal_role": "FEE_SIMPLE_OWNER",
    "jurisdiction": "State of New York, County of New York",
    "public_key_ed25519": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
  },
  "directives": {
    "ai_world_model_scraping": {
      "policy": "toll",
      "license_fee_per_megavoxel_usd": 18.50,
      "prohibited_models": [
        "unlicensed-3d-gaussian-splatting",
        "unlicensed-nerf-commercial-synthesis",
        "street-lidar-mesh-resale"
      ],
      "attribution_required": true
    },
    "augmented_reality_overlays": {
      "policy": "commercial_lease",
      "cpm_rate_usd": 42.00,
      "content_restrictions": [
        "NO_COMPETITOR_BRAND_HIJACKING",
        "NO_UNSANCTIONED_VIRTUAL_SIGNAGE",
        "NO_DEFAMATORY_OR_DECEPTIVE_ANCHORS",
        "NO_ARCHITECTURAL_TRADE_DRESS_OCCLUSION"
      ]
    },
    "autonomous_navigation_corridor": {
      "policy": "corridor_toll",
      "altitude_floor_m": 35.0,
      "altitude_ceiling_m": 85.0,
      "transit_toll_usd": 1.75
    }
  },
  "payment_clearinghouse": {
    "protocol": "HTTP-402-X402-SPATIAL",
    "endpoint": "/api/tollbooth",
    "settlement_rails": [
      "x402-USDC-BASE"
    ],
    "beneficiary_wallet": "0xb1499976C68E4d709573EA1717A115fb2E354d3d"
  }
}
```

---

## 5. Automated Clearinghouse & HTTP 402 (`x402`) Flow

When an AR headset OS, autonomous drone router, or AI world-model crawler queries the `/api/tollbooth` endpoint without a payment proof (`X-402-Payment-Proof` / `X-PAYMENT` header or `tx_hash`):

1. **Request:**
   ```http
   POST /api/tollbooth HTTP/1.1
   Host: voxeldeed.com
   Content-Type: application/json

   {
     "deed_id": "VX-2026-NY-350050",
     "agent_provider": "OpenAI World-Model Bot",
     "query_type": "gaussian_splat_scrape",
     "voxels_queried": 42000
   }
   ```
2. **Response (`HTTP 402 Payment Required`):**
   ```http
   HTTP/1.1 402 Payment Required
   X-402-Version: x402-1.0
   X-402-Chain: base-mainnet (eip155:8453)
   X-402-Token: USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
   X-402-Amount-USD: 3.57
   X-402-Recipient: 0xb1499976C68E4d709573EA1717A115fb2E354d3d
   Content-Type: application/json

   {
     "success": false,
     "error": "HTTP 402 Payment Required — Supply X-402-Payment-Proof header or tx_hash on Base Mainnet USDC (or pass simulate_settlement: true for sandbox testing)",
     "x402_invoice": {
       "amount_usd": 3.57,
       "owner_royalty_usd": 3.0345,
       "clearinghouse_fee_usd": 0.5355,
       "chain": "base-mainnet (eip155:8453)",
       "token_contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
       "recipient_wallet": "0xb1499976C68E4d709573EA1717A115fb2E354d3d",
       "treasury_wallet": "0xb1499976C68E4d709573EA1717A115fb2E354d3d"
     }
   }
   ```
3. **Settlement Confirmation (`HTTP 200 OK`):**  
   When the agent resubmits the request with `X-402-Payment-Proof: 0x...` (or `tx_hash` in the body), `/api/tollbooth` records the ledger event, splits 85% to the property owner wallet and 15% to the clearinghouse treasury, and returns `HTTP 200 OK` with the signed settlement `receipt`.
