Api Endpoint

StableUpload

Buy an upload slot. Agent uploads file via returned URL.

Open interactive test console

Offering

Provider
stableupload.dev
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Infrastructure
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://stableupload.dev/api/upload
MIME type
Not provided
First seen
2026-10-16T01:50:06.715Z
Last seen
Tags
Upload

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.005 USDC
Atomic price: 5000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.005 USDC
Atomic price: 5000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "payTo": "0x06dFF3c8380b5D1799874adA903fc3422882FD6f"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "5000",
    "payTo": "95xcrFtRVn2fkoAKiCUKxPpTc1GN8MTyonVwLFfJfzux"
  }
]

Observed health

Status
Healthy
Latest latency
97 ms
Average latency
572 ms
HTTP status
204
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "additionalProperties": false,
      "properties": {
        "contentType": {
          "description": "MIME type of the file (e.g. image/png, video/mp4)",
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        "filename": {
          "description": "Name of the file to upload",
          "maxLength": 512,
          "minLength": 1,
          "type": "string"
        },
        "policyTtlSeconds": {
          "description": "Optional upload URL/form expiration in seconds, 60-86400. Use longer TTLs only when reserving an output slot for a downstream service.",
          "maximum": 86400,
          "minimum": 60,
          "type": "integer"
        },
        "tier": {
          "description": "Upload tier. Default 6-month tiers: 10mb ($0.02), 100mb ($0.20), 1gb ($2.00). Short-term 7-day workflow tiers: short-10mb ($0.005), short-100mb ($0.02), short-1gb ($0.10), short-5gb ($0.50, file uploads only).",
          "enum": [
            "10mb",
            "100mb",
            "1gb",
            "short-10mb",
            "short-100mb",
            "short-1gb",
            "short-5gb"
          ],
          "type": "string"
        }
      },
      "required": [
        "filename",
        "contentType",
        "tier"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST",
        "PUT",
        "PATCH"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "additionalProperties": false,
          "properties": {
            "contentType": {
              "description": "MIME type of the file (e.g. image/png, video/mp4)",
              "maxLength": 255,
              "minLength": 1,
              "type": "string"
            },
            "filename": {
              "description": "Name of the file to upload",
              "maxLength": 512,
              "minLength": 1,
              "type": "string"
            },
            "policyTtlSeconds": {
              "description": "Optional upload URL/form expiration in seconds, 60-86400. Use longer TTLs only when reserving an output slot for a downstream service.",
              "maximum": 86400,
              "minimum": 60,
              "type": "integer"
            },
            "tier": {
              "description": "Upload tier. Default 6-month tiers: 10mb ($0.02), 100mb ($0.20), 1gb ($2.00). Short-term 7-day workflow tiers: short-10mb ($0.005), short-100mb ($0.02), short-1gb ($0.10), short-5gb ($0.50, file uploads only).",
              "enum": [
                "10mb",
                "100mb",
                "1gb",
                "short-10mb",
                "short-100mb",
                "short-1gb",
                "short-5gb"
              ],
              "type": "string"
            }
          },
          "required": [
            "filename",
            "contentType",
            "tier"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST",
            "PUT",
            "PATCH"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "additionalProperties": false,
          "properties": {
            "curlExample": {
              "type": "string"
            },
            "expiresAt": {
              "type": "string"
            },
            "maxSize": {
              "type": "number"
            },
            "postFields": {
              "additionalProperties": {
                "type": "string"
              },
              "propertyNames": {
                "type": "string"
              },
              "type": "object"
            },
            "postUrl": {
              "type": "string"
            },
            "publicUrl": {
              "type": "string"
            },
            "txHash": {
              "type": "string"
            },
            "uploadId": {
              "type": "string"
            },
            "uploadMethod": {
              "enum": [
                "put",
                "post"
              ],
              "type": "string"
            },
            "uploadUrl": {
              "type": "string"
            },
            "uploadUrlExpiresAt": {
              "type": "string"
            }
          },
          "required": [
            "uploadId",
            "uploadUrl",
            "uploadMethod",
            "uploadUrlExpiresAt",
            "publicUrl",
            "expiresAt",
            "maxSize",
            "curlExample"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}