Documentation

Customer guide

Deploy a model, call it with an API key, and understand billing.

Everything here is done in the customer dashboard. The same actions are available through the API; see the API reference.

Browse models

Under Models, each card shows the runtimes that can serve the model (green means a node offering that runtime is online now), the smallest memory reservation, and when a deployment of it last passed its readiness test. Only models an operator has approved are listed. Being in the catalog does not guarantee a node with enough free capacity is online.

RuntimeServesHardwareNotes
ollamaOllama registry tagsCPU or GPUWidest node availability. Also exposes Ollama’s own API.
llamacppOne GGUF file from Hugging Face, pinned to a commit and checked by SHA-256CPUSmaller reservations for the same model.
vllmA full Hugging Face repository at a pinned commitGPU requiredNot yet verified on real GPU hardware.

Gated or private Hugging Face models are not supported: AgentMesh never sends access tokens to provider machines.

Import a model from Hugging Face

Under Models, Your models from Hugging Face imports a public GGUF file for your own use. Enter a repository (owner/name) or a huggingface.co link, press Look up, choose a file, confirm you may use it under its license, and import. It then deploys like any other model.

  • Private to you: other customers cannot see or deploy it, and the AI deployment assistant does not use it.
  • Pinned: AgentMesh records the commit you looked up and the file’s SHA-256 from Hugging Face. Providers verify the hash before loading, so later changes to the repository never reach your deployment. Import again to pick up a newer commit.
  • Served by llama.cpp only, on nodes whose providers accept community models. Fewer nodes may have room for it.
  • Memory and disk reservations are estimated from the file size.
RefusedWhy
Gated, private or disabled repositoriesAgentMesh never sends Hugging Face tokens to provider machines.
No declared license, or a non-commercial one (e.g. cc-by-nc-4.0)Hosting on AgentMesh is paid, so it is commercial use.
Formats other than single-file GGUF (safetensors repos, .bin/.pt pickles, split GGUFs, mmproj files)Only a single GGUF file can be hash-pinned, and pickles can run code when loaded.
Files over the size limit (16 GB by default)Keeps downloads on provider machines reasonable.

You are responsible for using the model within its license. Operators can disable an imported model, or approve it into the public catalog. To remove one, stop its deployments, then press Remove.

Deploy a model

  1. Open a model and choose a runtime, or Automatic (tries Ollama, then llama.cpp, then vLLM, and uses the first that fits on a node).
  2. Set the context window (512 to 8192 tokens) and, optionally, a region or a GPU requirement. The form shows what the scheduler will reserve and the price of the cheapest machine that can take it.
  3. Optionally set price limits: the most per hour while ready, and the most per million tokens. Leave them empty to use the network prices as your limits.
  4. Read and confirm the trust notice, then press Deploy.

If no node can take it, the form explains why for each runtime, for example “runtime not installed on the node” or “not enough free CPU, memory, disk or GPU memory”, or “charges more than your price limit”. Deploying needs enough wallet balance for one hour of the reservation at the chosen machine's price (see billing).

Monitor a deployment

The deployment page updates every 2 seconds while it starts, and shows each event, the verified model digest, and any error.

StatusMeaning
SCHEDULEDCapacity reserved on a node.
PROVISIONINGRuntime starting and model downloading.
STARTINGModel loading; a test generation is run.
READYThe test generation succeeded. The endpoint is live.
UNHEALTHYThe node stopped reporting or the health check fails; requests get 503. If it does not recover within 3 minutes, the deployment moves to another node.
STOPPING → STOPPED / CANCELLEDStopped after (or before) it was ready.
FAILEDSee the error code and message on the page.

When a node goes offline, is revoked, or runs out of memory or disk, the deployment moves to another eligible node automatically. Its id, endpoint and API keys stay the same. A deployment is tried on at most 3 nodes. Model problems, such as a model that cannot answer a test prompt, are not retried elsewhere. Restart reloads a serving deployment on its current node from the cached model.

API keys

Create keys under API Keys. A key can be limited to one deployment and given an expiry date. The key (am_sk_…) is shown once; AgentMesh stores only a hash. Revoke a key at any time. Deleting a deployment revokes the keys scoped to it. API keys work for calling deployments only; account actions (deploying, billing) use your dashboard sign-in.

Call your model

A ready deployment has Try it, which sends one real request through the gateway (metered like any other), and copy-paste examples. Every deployment has an OpenAI-compatible base URL:

curl

curl https://agentmesh-riuz.onrender.com/api/v1/deployments/<deployment-id>/v1/chat/completions \
  -H "Authorization: Bearer $AGENTMESH_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "qwen2.5:0.5b", "messages": [{"role": "user", "content": "Hello"}]}'

Python (openai)

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://agentmesh-riuz.onrender.com/api/v1/deployments/<deployment-id>/v1",
    api_key=os.environ["AGENTMESH_API_KEY"],
)
reply = client.chat.completions.create(
    model="qwen2.5:0.5b",
    messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)

More, including streaming and Ollama's native API, is in the API reference.

Stop and delete

Stop ends a deployment and releases its capacity. Delete also hides it and revokes keys scoped to it; usage records are kept. Charges stop when a deployment leaves READY.

Pricing, wallet and billing

  • Deployments are prepaid. Add funds under Wallet; you return to the wallet after checkout and the top-up is credited once Paystack confirms it.
  • Each machine has its own prices, set by its provider: per CPU core-hour, per GB-hour of memory and of GPU memory, and per million input and output tokens. Machines without their own prices charge the network prices set by the operator.
  • Your deployment goes to the cheapest machine that fits and is within your price limits; if it later moves after a failure, it only moves to a machine within those limits. Without limits of your own, the network prices are the limit.
  • You are never charged more than the prices in force when your deployment was placed on its machine. If the provider lowers them, you pay the lower price from then on; if they raise them, the rise only applies to new deployments. The deployment page shows the price you are paying now.
  • Every few minutes while a deployment is READY, you are charged for its reserved resources multiplied by READY time, plus its tokens. Downloads, startup and unhealthy time are free.
  • Each deployment lists its charges, and the wallet lists them all, each split into the platform commission and the share paid to the provider whose machine ran it. Requests that fail are not charged for tokens.
  • When your balance runs out, your deployments are stopped with INSUFFICIENT_FUNDS. The balance can dip below zero by at most one billing interval.
  • A machine with no prices of its own on a network with no price list is free: usage is measured but not charged.
  • If an operator refunds a charge, the amount returns to your wallet and appears under Refunds with the reason. Unspent funds from a top-up can be refunded to your card by an operator.
  • Transactions lists every ledger entry with filters; Export CSV downloads them (up to 10,000 rows).
  • Dashboards may show an item labelled “Sponsored” if the operator enabled sponsorships. It is chosen without using your personal data, and you can dismiss it.

Usage

Usage shows requests, failures, and input and output tokens per day and per deployment. Token counts are reported by the model runtime on the provider's machine and are not independently verified. Requests whose runtime reported no counts are shown separately; AgentMesh never estimates token counts. Prompts and responses are not stored.

Privacy

The dashboard shows this notice before every deployment and asks you to confirm it. Read more in Security & limitations.