ar.io Logoar.io Documentation
TurboUpload Service

Service Info

Service information and health endpoints

curl -X GET "https://turbo.ardrive.io"
{
  "version": "0.1.0",
  "gateway": "https://arweave.net",
  "gateways": [
    "https://arweave.net"
  ],
  "freeUploadLimitBytes": 10737418240,
  "freeTier": {
    "lifetimeBytes": 10485760,
    "ipBytes": 10485760,
    "maxItemBytes": 10485760
  },
  "addresses": {
    "arweave": "8wgRDgvYOrtSaWEIV21g0lTuWDUnTu4_iYj4hmA7PI0",
    "ethereum": "0x8wgRDgvYOrtSaWEIV21g0lTuWDUnTu4_iYj4hmA7PI0",
    "solana": "8wgRDgvYOrtSaWEIV21g0lTuWDUnTu4_iYj4hmA7PI0",
    "matic": "0x8wgRDgvYOrtSaWEIV21g0lTuWDUnTu4_iYj4hmA7PI0"
  }
}
curl -X GET "https://turbo.ardrive.io/info"
{
  "version": "0.1.0",
  "gateway": "https://arweave.net",
  "gateways": [
    "https://arweave.net"
  ],
  "freeUploadLimitBytes": 10737418240,
  "freeTier": {
    "lifetimeBytes": 10485760,
    "ipBytes": 10485760,
    "maxItemBytes": 10485760
  },
  "addresses": {
    "arweave": "8wgRDgvYOrtSaWEIV21g0lTuWDUnTu4_iYj4hmA7PI0",
    "ethereum": "0x8wgRDgvYOrtSaWEIV21g0lTuWDUnTu4_iYj4hmA7PI0",
    "solana": "8wgRDgvYOrtSaWEIV21g0lTuWDUnTu4_iYj4hmA7PI0",
    "matic": "0x8wgRDgvYOrtSaWEIV21g0lTuWDUnTu4_iYj4hmA7PI0"
  }
}

Health check endpoint

Simple health check endpoint that returns "OK" if the service is running.

Use Case: Load balancers, monitoring systems, and orchestration platforms use this to verify service availability.

Response: Plain text "OK" with HTTP 200 status.

GET
/health

Response Body

curl -X GET "https://turbo.ardrive.io/health"
"OK"

Prometheus metrics endpoint

Prometheus-formatted metrics for monitoring and observability.

Metrics Include:

  • Node.js default metrics (heap memory, event loop lag, etc.)
  • Custom application metrics (upload counts, bundle sizes, etc.)
  • Process metrics (CPU, memory usage)

Format: Prometheus text exposition format

Use Case: Prometheus scraping, Grafana dashboards, monitoring alerts

GET
/bundler_metrics

Response Body

curl -X GET "https://turbo.ardrive.io/bundler_metrics"
"# HELP process_cpu_user_seconds_total Total user CPU time spent in seconds.\n# TYPE process_cpu_user_seconds_total counter\nprocess_cpu_user_seconds_total 0.123456\n\n# HELP nodejs_heap_size_total_bytes Process heap size from Node.js in bytes.\n# TYPE nodejs_heap_size_total_bytes gauge\nnodejs_heap_size_total_bytes 123456789\n"

OpenAPI specification (JSON)

Returns the complete OpenAPI 3.1 specification for this API in JSON format.

Use Case:

  • API documentation generation
  • Client SDK generation (OpenAPI Generator, Swagger Codegen)
  • API testing tools (Postman, Insomnia)
  • Contract validation

Format: OpenAPI 3.1.1 compliant JSON

GET
/openapi.json

Response Body

curl -X GET "https://turbo.ardrive.io/openapi.json"
{}

Swagger UI documentation

Interactive API documentation powered by Swagger UI.

Features:

  • Browse all endpoints with detailed descriptions
  • View request/response schemas and examples
  • Try out API calls directly from the browser (requires CORS)
  • Download OpenAPI spec

URL: http://localhost:3001/api-docs (or your deployment URL)

Use Case: Developer-friendly API exploration and testing

GET
/api-docs

Response Body

curl -X GET "https://turbo.ardrive.io/api-docs"
"string"

How is this guide?