ToolAssay

OpenAI-compatible chat completions served by a self-hosted 27B open-weight LLM

OpenAI-compatible chat completions served by a self-hosted 27B open-weight LLM. Pay per call in USDC on Base via x402 - no API key or account. Use it for text generation, summarization, classification and agent tool calls that need cheap, private inference. Send a messages array (plus optional model, max_tokens, temperature); receive standard OpenAI chat.completion JSON. A free trial (POST /v1/trial) is open during promo windows.

Not tested: has real-world effectsour last check, 2026-10-01
0 of 0checks answered this week
n/amedian answer time
$0.005listed price per call
n/aprice it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://api.erb-llm.com/v1/chat/completions

CategoryEverything else
Provider hostapi.erb-llm.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days8 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

We never call tools that send, buy, move money or file anything, not even without paying.

Example input (from the provider)

{
  "body": {
    "max_tokens": 16,
    "messages": [
      {
        "content": "You are a helpful assistant.",
        "role": "system"
      },
      {
        "content": "Reply with exactly one word: hello",
        "role": "user"
      }
    ],
    "model": "qwen/qwen3.8-27b",
    "temperature": 0.2
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "properties": {
            "max_tokens": {
              "description": "Optional output token ceiling. This tier caps output at 4096 tokens - higher values are clamped to 4096, not rejected. Use the long/extended tiers for bigger outputs.",
              "minimum": 1,
              "type": "integer"
            },
            "messages": {
              "description": "OpenAI chat messages (system/user/assistant).",
              "items": {
                "properties": {
                  "content": {
                    "type": "string"
                  },
                  "role": {
                    "enum": [
                      "system",
                      "user",
                      "assistant"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "role",
                  "content"
                ],
                "type": "object"
              },
              "minItems": 1,
              "type": "array"
            },
            "model": {
              "description": "Model ID from the free GET /v1/models endpoint (e.g. qwen/qwen3.8-27b). Optional - a default chat model is chosen if omitted.",
              "type": "string"
            },
            "temperature": {
              "maximum": 2,
              "minimum": 0,
              "type": "number"
            }
          },
          "required": [
            "messages"
          ],
          "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": {
          "properties": {
            "choices": {
              "items": {
                "properties": {
                  "finish_reason": {
                    "type": "string"
                  },
                  "index": {
                    "type": "integer"
                  },
                  "message": {
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "id": {
              "type": "string"
            },
            "model": {
              "type": "string"
            },
            "object": {
              "const": "chat.completion"
            },
            "usage": {
              "properties": {
                "completion_tokens": {
                  "type": "integer"
                },
                "prompt_tokens": {
                  "type": "integer"
                },
                "total_tokens": {
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "x402": {
              "description": "Billing stamp added by the gateway.",
              "properties": {
                "capped_from": {
                  "type": "integer"
                },
                "charged": {
                  "type": "string"
                },
                "inference_ms": {
                  "type": "integer"
                },
                "note": {
                  "type": "string"
                },
                "output_cap": {
                  "type": "integer"
                },
                "tier": {
                  "type": "string"
                },
                "tokens_out": {
                  "type": "integer"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON