OURO
SubmitMy JobsMy Files
Docs
Get StartedMCPREST APIBuild an AgentPricing
Get StartedMCPREST APIBuild an AgentPricing
OUROBuilt onBase

REST API

Direct HTTP endpoints with x402 payment protocol.

Base URL

https://api.ourocompute.com

x402 Payment Flow

Submit compute jobs via HTTP. Payment uses x402 — send a request, sign the USDC payment locally, re-send with the signature.

x402 is built on HTTP 402 (Payment Required). No API keys or accounts — your wallet is your identity.

1

Get price (402 response)

terminal
curl -X POST https://api.ourocompute.com/api/compute/submit \
  -H "Content-Type: application/json" \
  -d '{"script": "echo hello", "cpus": 1, "time_limit_min": 1}'

# Response: 402 Payment Required
# Headers: payment-required: eyJ0eXAiOiJ4NDAyL...
# Body: { "price": "$0.0841", "breakdown": { ... } }
2

Sign and submit (script mode)

terminal
curl -X POST https://api.ourocompute.com/api/compute/submit \
  -H "Content-Type: application/json" \
  -H "payment-signature: <your-signed-x402-payment>" \
  -d '{"script": "echo hello", "cpus": 1, "time_limit_min": 1}'

# Response: 200 OK
# Body: { "job_id": "a1b2c3d4-...", "status": "pending", "price": "$0.0841" }

Or use multi-file mode

terminal
curl -X POST https://api.ourocompute.com/api/compute/submit \
  -H "Content-Type: application/json" \
  -H "payment-signature: <your-signed-x402-payment>" \
  -d '{
    "files": [
      {"path": "Dockerfile", "content": "FROM ouro-python\nRUN pip install requests\nENTRYPOINT [\"python\", \"main.py\"]"},
      {"path": "main.py", "content": "import requests\nprint(requests.get(\"https://httpbin.org/ip\").json())"}
    ],
    "cpus": 1,
    "time_limit_min": 5
  }'

# Response: 200 OK
# Body: { "job_id": "e5f6g7h8-...", "status": "pending", "price": "$0.0841" }
3

Poll for results

terminal
curl https://api.ourocompute.com/api/jobs/{job_id}

# Response: 200 OK
# Body: { "id": "...", "status": "completed", "output": "hello\n", ... }

Endpoints

Compute

Submit a compute job (script or multi-file mode)

Get a price quote without submitting a job

Jobs

Get job details and output

Stream job status updates via SSE

Storage

Persistent storage quota usage and file listing

Delete a file from persistent storage

Discovery & Stats

Aggregate P&L, job counts, sustainability ratio

Current ETH/USDC balances and recent snapshots

Builder code analytics and recent attribution entries

Decode ERC-8021 builder codes from a transaction

Machine-readable service manifest

Health

Liveness probe

Readiness probe (checks DB, wallet)

← MCPBuild an Agent →