{
  "schema_version": "1.0",
  "name": "Surf",
  "url": "https://orderwithsurf.com",
  "description": "Text-based food ordering service. Describe what you want in plain language — we place the order at any supported restaurant. AI agents can order programmatically via REST API with API key or x402 payment.",
  "launch_date": "2026-07-01",
  "status": "pre-launch",

  "capabilities": {
    "food_ordering": {
      "description": "Place food orders at 30+ supported restaurants by describing what you want in plain language.",
      "supported_restaurants": ["chipotle", "torchys", "jimmyjohns", "chickfila", "starbucks", "subway", "whataburger", "mcdonalds", "fiveguys", "dominos", "raisingcanes", "wingstop", "pandaexpress"],
      "expanding": true
    }
  },

  "interfaces": {
    "mobile_app": {
      "description": "Conversational AI ordering via mobile app. SMS, Google, and Apple authentication.",
      "status": "launching-2026-07-01"
    },
    "machine_api": {
      "description": "Authenticated REST API for autonomous agents. API key required.",
      "base_url": "https://syntheticfriends.app",
      "endpoints": {
        "discovery": {
          "method": "GET",
          "path": "/api/machine/discovery",
          "description": "List available restaurants"
        },
        "menu": {
          "method": "GET",
          "path": "/api/machine/restaurants/{slug}/menu",
          "description": "Get full menu for a restaurant"
        },
        "locations": {
          "method": "GET",
          "path": "/api/machine/restaurants/{slug}/locations",
          "description": "Get nearby locations"
        },
        "pricing": {
          "method": "GET",
          "path": "/api/machine/pricing",
          "description": "Get per-operation pricing"
        },
        "quote": {
          "method": "POST",
          "path": "/api/machine/orders/quote",
          "description": "Validate order and get price quote"
        },
        "execute": {
          "method": "POST",
          "path": "/api/machine/orders/execute",
          "description": "Execute an order (dry-run or live)"
        },
        "status": {
          "method": "GET",
          "path": "/api/machine/orders/status/{order_run_id}",
          "description": "Track order status"
        },
        "waitlist": {
          "method": "POST",
          "path": "/api/waitlist",
          "content_type": "application/json",
          "body": {
            "email": "string"
          },
          "status": "live"
        }
      },
      "authentication": ["X-Machine-Api-Key header", "x402 (USDC on Base)"],
      "status": "coming-at-launch"
    }
  },

  "payment": {
    "protocols": ["api_key", "x402"],
    "x402": {
      "description": "Zero-friction machine-to-machine payments. No account required. Send a request, get a 402 with pricing, pay on-chain, retry with proof.",
      "currency": "USDC",
      "network": "base"
    }
  },

  "agent_docs": "/agents",
  "contact": "hello@syntheticfriends.app"
}
