Provider node
A provider serves models from your GPU and earns OGONG for verified work. The daemon is
ogong-provider. It is fully headless and ships no GUI.
Configuration lives in ~/.ogong-provider/config.json (written by configure, re-runnable any
time). Downloaded models go to ~/.ogong-provider/models/.
Modes at a glance
| Command | What it does | Network | Account |
|---|---|---|---|
ogong-provider local | Standalone OpenAI + Ollama server | none | none |
ogong-provider run | One-shot terminal REPL chat | none | none |
ogong-provider start | Tunnel client (home GPU behind NAT) | tunnel | API key |
ogong-provider serve | Direct HTTPS server (TEE / marketplace operator) | direct | marketplace |
Serving an engine
A provider either embeds an engine (spawns and manages it as a subprocess) or adapts to one you already run (Ollama, vLLM, llama-server). Embedded modes per modality:
| Flag | Modality | Engine spawned |
|---|---|---|
--embedded-text <gguf> | chat + embeddings | llama-server |
--mmproj <gguf> | vision (with --embedded-text) | adds image input |
--embedded-image <model> | image gen | llamamp-image-server |
--embedded-music <gguf> | music | ace-server |
--embedded-whisper <ggml> | speech-to-text | whisper-server |
--embedded-tts <gguf> | text-to-speech | audio-server (VibeVoice) |
Modalities compose: you can run text, image, and audio at once, each its own subprocess.
For many models on a RAM budget, use --served-models <json> for on-demand LRU loading
(engines load lazily and evict under a memory budget) instead of eager-spawning each.
Adapter alternatives (front an existing server): --upstream, --image-upstream,
--audio-upstream, --video-upstream.
Joining the network
To earn on OGONG, a provider pushes each signed served-record to a validator (and, when metered, settles on-chain). It is off unless you opt in:
ogong-provider configure \
--embedded-text ~/.ogong-provider/models/your-model.gguf \
--machine mac-studio \
--join-network \
--validator-endpoint 127.0.0.1:4533
ogong-provider start
--join-network- opt into the verified-inference network.--validator-endpoint <host:port>- theogong-validatordto push signed records to.--machine <name>- short machine id, combined with your user id to form your canonical provider id.
A Solana payout keypair is generated locally on first run. Print your payout address with:
ogong-provider wallet
Tunnel mode (home contributor)
ogong-provider start dials out to a tunnel server over QUIC and serves through it, so a home
GPU behind NAT can contribute without exposing a public address. Requires an API key
(--api-key, or OGONG_PROVIDER_API_KEY). The tunnel is only the transport: combined with
--join-network, a home GPU serves on the Verified tier like any other provider, its
work is committed and audited. (For a purely private server you run only for yourself, with no
account and no audit, see Local mode.)
TEE / marketplace operator
ogong-provider serve runs a direct HTTPS server (skips the tunnel) for operators with a
public, TEE-attested instance:
ogong-provider serve --listen 0.0.0.0:8443 --cert fullchain.pem --key privkey.pem
For TEE-tier attestation, fetch a DCAP quote bound to your report-data with
ogong-provider quote, then submit your identity with ogong-provider marketplace-register. The
operator-side admin runs DCAP chain verification before approving.
Inspecting
ogong-provider show # print config (api key redacted)
ogong-provider wallet # print Solana payout address
ogong-provider pull --list # browse the model catalog
ogong-provider pull <name> # download a model
See the CLI reference for the full flag list.