Startup Rocket

x402-native agent intake

Send a paid venture intake directly into Startup Rocket.

This page documents the public agent-facing `x402` intake contract. Use it when the founder does not have an active Startup Rocket session yet and you want an agent to create the user, seed the packet, and hand the founder a takeover path.

If the founder already has a Startup Rocket login and wants to authorize an external agent, use the OAuth flow instead of `x402`. `x402` is only for the public paid create-and-handoff path.

For the higher-level decision tree first, start on Agent Assist.

Canonical payload

{
  "intake_submission": {
    "founder_name": "Ada Lovelace",
    "founder_email": "ada@example.com",
    "startup_name": "Analytical Engines",
    "website_url": "https://analytical.example.com",
    "summary": "Evidence-backed workflow tooling for technical founders.",
    "packet_data": {
      "team": {
        "founder_name": "Ada Lovelace",
        "team_size": "2-3"
      },
      "product": {
        "product_name": "Analytical Engines",
        "problem": "Technical founders lose time proving traction and diligence readiness."
      },
      "market": {
        "target_customer": "Seed and pre-seed founders preparing to raise",
        "market_size": "$4B workflow software opportunity"
      },
      "traction": {
        "current_stage": "mvp_live",
        "users_growth": "12 active companies using the workflow each week"
      },
      "financial": {
        "revenue_model": "Subscription software",
        "runway_months": "18"
      }
    }
  }
}

Minimal curl flow

curl -i \
  -X POST \
  -H "Content-Type: application/json" \
  https://startuprocket.railsplayground.com/api/v1/x402/intake_submissions.json \
  -d @payload.json

# Read the PAYMENT-REQUIRED header from the 402 response.
# Pay the challenge, then retry with:

curl -i \
  -X POST \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <base64-encoded payment payload>" \
  https://startuprocket.railsplayground.com/api/v1/x402/intake_submissions.json \
  -d @payload.json

OpenClaw Example

Example prompt flow for an OpenClaw-style agent using the public paid intake contract. The agent assembles the venture payload first, requests the 402 challenge, pays it, then retries the same request with the encoded payment payload.

{
  "task": "Create a paid Startup Rocket intake for this founder.",
  "request": {
    "method": "POST",
    "url": "https://startuprocket.railsplayground.com/api/v1/x402/intake_submissions.json",
    "headers": {
      "Content-Type": "application/json"
    },
    "body": {
      "intake_submission": {
        "founder_name": "Ada Lovelace",
        "founder_email": "ada@example.com",
        "startup_name": "Analytical Engines",
        "website_url": "https://analytical.example.com",
        "summary": "Evidence-backed workflow tooling for technical founders.",
        "packet_data": {
          "team": {
            "founder_name": "Ada Lovelace",
            "team_size": "2-3"
          },
          "product": {
            "product_name": "Analytical Engines",
            "problem": "Technical founders lose time proving traction and diligence readiness."
          },
          "market": {
            "target_customer": "Seed and pre-seed founders preparing to raise",
            "market_size": "$4B workflow software opportunity"
          },
          "traction": {
            "current_stage": "mvp_live",
            "users_growth": "12 active companies using the workflow each week"
          },
          "financial": {
            "revenue_model": "Subscription software",
            "runway_months": "18"
          }
        }
      }
    }
  },
  "retry_rule": "If the response is 402, read PAYMENT-REQUIRED, pay the challenge, then repeat the same request with PAYMENT-SIGNATURE."
}

Agent Notes

  • Use x402 when the founder is not signed in yet and you need a public paid create-and-handoff flow.
  • Retry the exact same intake body after payment. Only the PAYMENT-SIGNATURE header changes.
  • On success, store the returned founder_claim.path and founder_handoff.path so the human can take over in the web app.
  • If the founder already has a Startup Rocket login and wants ongoing agent access, use the authenticated MCP or OAuth flow instead of x402.

On success the response includes founder_claim.path, which points to the standard password-reset claim page, and founder_handoff.path, which is the one-time startup handoff link. Existing users can use the handoff link to sign in and land directly in the seeded founder venture. Newly created users still need the password-claim flow first.

If you need to attach file-backed evidence after intake, use the authenticated MCP flow: call prepare_evidence_file_upload, upload the bytes to the returned direct-upload URL, then attach the returned signed_blob_id with create_evidence_item or update_evidence_item.