← oblique.markets · all endpoints
Use when an agent needs run python. Returns Runs a short Python program in an isolated sandbox and returns its output: exit code, stdout/stderr (64 KB each), duration, up to 3 artifact files written to ./out/, and a receipt. Python 3.12 with the standard library plus numpy, pandas and requests; no network; 512 MB; up to 30 s. Input: code (32 KB), optional stdin, args and up to 4 input files. Free compile-only check at POST /api/v1/run-python/validate; worked example at GET /api/v1/run-python/exa
| Price | $0.05 per call (50000 atomic USDC, scheme exact) |
|---|---|
| Category | ai-tools |
| Rails | x402 · USDC on Base (eip155:8453) and Solana · MPP pathUSD on Tempo |
| Canonical URL | https://api.oblique.markets/api/v1/paid/run-python |
curl -i https://api.oblique.markets/api/v1/paid/run-python # → HTTP 402 with the exact payment requirements; pay, then retry with PAYMENT-SIGNATURE (x402) or Authorization: Payment (MPP)
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 32768,
"description": "Python 3 program source, at most 32 KB. Runs as main.py in an empty working directory."
},
"stdin": {
"type": "string",
"maxLength": 32768,
"description": "Text piped to the program on standard input (at most 32 KB)."
},
"args": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1024
},
"maxItems": 16,
"description": "Command-line arguments (sys.argv[1:]), at most 16."
},
"files": {
"type": "array",
"maxItems": 4,
"items": {
"type": "object",
"required": [
"name",
"content_base64"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[A-Za-z0-9._-]{1,128}$",
"description": "File name written into the working directory (no paths)."
},
"content_base64": {
"type": "string",
"description": "File content, base64, at most 256 KB decoded."
}
}
},
"description": "Up to 4 input files written into the working directory before the run."
},
"timeout_s": {
"type": "number",
"minimum": 1,
"maximum": 30,
"default": 15,
"description": "Wall-clock limit for the program in seconds (default 15, max 30)."
}
},
"additionalProperties": false
}{
"run_id": "run_5f0c2a9d7b3e1c4d8a6f0b21",
"exit_code": 0,
"stdout": "mean 7.25\nargv ['--fast']\nnet blocked: URLError\n",
"stdout_truncated": false,
"stderr": "",
"stderr_truncated": false,
"duration_ms": 168,
"timed_out": false,
"artifacts": [
{
"name": "result.json",
"size_bytes": 22,
"content_base64": "eyJuIjogNCwgIm1lYW4iOiA3LjI1fQ=="
}
],
"sandbox": {
"runtime": "isolated",
"python_version": "3.12.10",
"network": false,
"memory_mb": 512,
"timeout_s": 10
},
"receipt": {
"payer": "0x1111111111111111111111111111111111111111",
"network": "eip155:8453",
"scheme": "exact",
"amount_atomic": "50000",
"payment_nonce": "0x7d1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9",
"payment_tx": "settled after this response; the transaction hash is in the PAYMENT-RESPONSE header",
"run_id": "run_5f0c2a9d7b3e1c4d8a6f0b21"
},
"generated_at": "2026-09-09T00:31:12.000Z"
}Worked TypeScript/Python clients and MCP configs: oblique-markets/oblique-examples · Agent Skills: oblique-markets/skills
Pay per call with x402 (USDC on Base or Solana) or MPP (pathUSD on Tempo). No accounts. Machine doors: /.well-known/x402.json · /openapi.json · /llms-full.txt · MCP · humans: remote.observer