NieuwKoppel elke agent aan UberLLM: één sleutel, elk model, voor de catalogusprijs of minder.
UberLLM

Verkopers

Je kunt inferentiecapaciteit die je onder licentie mag doorverkopen op UberLLM aanbieden: je eigen GPU's, een zelf-gehost open-weights model, of providercredits onder een abonnement dat doorverkoop toestaat. Kopersaanvragen voor een model kunnen naar jouw aanbod worden gerouteerd, en je ontvangt het volledige bedrag dat de koper betaalt voor elke aanvraag.

Om een aanbod vanuit de browser aan te bieden, gebruik je de verkoperspagina: Account → Capaciteit verkopen → Nieuw aanbod. Het leidt je door vijf stappen: Provider, Ontdekken, Gezondheidstest, Prijzen, Overzicht. Niets gaat live totdat je bevestigt, en kopers worden naar een nieuw aanbod gestuurd zodra het onze modelcontrole] doorstaat.

Alles wat de pagina doet, is ook een API, dus je agent kan het ook doen (zie Voor agents]).

Hoe een aanbod werkt

  • Eén provider key, één base URL, veel modellen. Een aanbod is één model dat via één key op één adres wordt aangeboden. Dezelfde key kan zoveel modellen aanbieden als u wilt, maar u kunt niet hetzelfde model tweemaal op dezelfde key en hetzelfde adres vermelden — een tweede wordt geweigerd met 409 duplicate_offer_for_credential (en, wanneer het bestaande aanbod van u is, de id ervan in error.detail.existing_offer_id).
  • De modelnaam op uw server kan afwijken van de onze (bijv. wij noemen het deepseek/deepseek-v4-flash, uw server noemt het deepseek-v4-flash). Discovery koppelt ze voor u; handmatig stuurt u upstream_model.
  • Het adres van uw server moet openbaar zijn (https, bereikbaar vanaf het internet). Lokale, privé- en UberLLM's eigen adressen worden geweigerd.
  • Uw key wordt versleuteld opgeslagen, alleen ontsleuteld om een naar u verzonden verzoek te verwerken, nooit geretourneerd bij een uitlezing en nooit gelogd. Een nieuwe key wordt getest voordat deze wordt geaccepteerd — als de test mislukt, blijft uw oude key behouden. Het verwijderen van een aanbod wist de opgeslagen key.

Prijzen

Tekstaanbiedingen worden geprijsd als een korting op de catalogusprijs van het model (de prijs die een koper rechtstreeks zou betalen). Stuur discount_pct (bijv. 45 = 45% korting) of hetzelfde als multiplier (0.55). Per-token prijzen (input_usd_per_mtok / output_usd_per_mtok) worden niet langer geaccepteerd voor tekstmodellen.

"match_best": true stelt uw prijs in op de diepste korting die kopers op dat model kunnen krijgen op dit moment. U kunt dit op elk moment wijzigen.

Kopers betalen uw prijs; alles wordt aan u gecrediteerd zodra elke aanvraag is voltooid. UberLLM rekent geen kosten aan op uw verkopen. Uw eigen kosten zijn wat uw provider ook in rekening brengt voor uw key.

Optioneel daily_cap_usd: zodra kopers zoveel aan de aanbieding hebben uitgegeven op een dag, stopt het met het ontvangen van aanvragen tot de volgende dag.

Gezondheid

De gezondheid wordt gemeten op basis van echt kopersverkeer. De enige andere verzoeken die we naar je sleutel sturen, zijn het onderstaande testverzoek en die van de modelcontrole.

  • Wanneer je een aanbod plaatst of activeert, of de sleutel ervan wijzigt, sturen we één klein testverzoek (dit kan een heel klein beetje van je quotum verbruiken).
  • Als een verzoek van een koper aan jou mislukt, wordt de koper naar de volgende verkoper verplaatst en wordt je aanbod een tijdje uit de routering gehaald: 30 s → 1 min → 2 min → 10 min voor serverfouten en time-outs, 10 → 20 → 40 → 60 min voor een geweigerde sleutel of geen tegoed, 15–30 s voor snelheidslimieten. Wanneer de wachttijd voorbij is, ontvangt je aanbod weer verzoeken; een verzoek dat succesvol is, reset het.
  • Eerder opgelost? POST /seller/offers/{id}/reset-health (de knop Opgelost, probeer opnieuw) zet het meteen terug. Hetzelfde geldt voor een nieuwe sleutel of adres dat de test doorstaat.
  • Als je provider je sleutel weigert of zegt dat het account twee keer achter elkaar geen tegoed heeft, sturen we je een e-mail (maximaal één keer per dag) met de getroffen aanbiedingen.
  • GET /seller/health-log legt in duidelijke bewoordingen uit waarom een aanbod werd overgeslagen en wanneer het terugkwam.

Modelcontrole

Kopers betalen voor het model dat je aanbiedt, dus we controleren of je aanbod dit model ook echt levert.

De regels

  • Lever exact het model dat je aanbiedt. Geen kleiner, goedkoper, ouder of anders afgestemd model, en geen mix van modellen.
  • Voeg niets toe aan het verzoek. Geen eigen instructies, system prompt of tools van jezelf, en niets weggelaten van wat de koper heeft gestuurd. Een doorverkochte chat-app of coding tool die eigen instructies toevoegt, overtreedt deze regel.
  • Geef token counts ongewijzigd door, precies zoals het model ze heeft geteld.

Hoe we controleren

  • Elk aanbod wordt gecontroleerd voordat er kopers naartoe worden gestuurd. Tot het is goedgekeurd, toont de Selling page het als Checking; daarna gaat het Live. Een nieuwe key, adres of model wordt op dezelfde manier opnieuw gecontroleerd.
  • Aanbiedingen blijven gecontroleerd worden op echt verkeer zolang ze vermeld staan.
  • Controles gebruiken een klein deel van je quotum en worden betaald zoals elk ander verzoek.
  • We publiceren niet hoe de controles werken of wanneer ze worden uitgevoerd.

Wanneer een aanbod een controle niet doorstaat

  • Het wordt Gepauzeerd, en je kunt het zelf niet meer inschakelen. Het opnieuw aanbieden van dezelfde key als een nieuw aanbod wordt ook geweigerd.
  • Je uitbetalingen worden vastgehouden terwijl ons team het beoordeelt.
  • De Selling page en GET /seller/offers vermelden waarom, in duidelijke taal (listing_state: "paused" met check_reason), en we sturen je een e-mail.
  • Om het opnieuw te laten controleren, los je op wat het aanbod levert, en schrijf je vervolgens naar [email protected].

Wanneer een verkoper wordt betrapt op het leveren van een ander model dan vermeld

  • Je verkopersaccount wordt opgeschort en al je aanbiedingen stoppen onmiddellijk.
  • Nog niet uitbetaalde inkomsten worden verbeurd verklaard en gebruikt om de kopers die je aanbiedingen hebben gebruikt, terug te betalen. Nog niet verstuurde uitbetalingen worden geannuleerd.
  • Je kunt niet opnieuw aanbieden op UberLLM, met dezelfde provider key, server, uitbetalingsadres of e-mail.
  • De Selling page vermeldt dit, en GET /seller/offers beantwoordt listing_state: "suspended". Schrijf hierover naar [email protected].

Open-weight modellen: vermeld hoe je ze draait

Open-weight modellen (GPT-OSS, Qwen, DeepSeek, GLM, Kimi, MiniMax en andere waarvan de weights zijn gepubliceerd) kunnen op volledige kwaliteit worden gedraaid of gecomprimeerd om geheugen te besparen. Een gecomprimeerde kopie antwoordt iets minder goed, en geen enkele test kan deze betrouwbaar onderscheiden van het volledige model. Dus wanneer je een open-weight model aanbiedt, vermeld je hoe je server het draait, en kopers zien je antwoord op de pagina van het model:

  • Volledige kwaliteit (16-bit): de weights zoals gepubliceerd (bf16 / fp16), of beter.
  • 8-bit: fp8 of int8.
  • Onder 8-bit (6-bit of 4-bit): alles wat kleiner is.

Een nieuwe vermelding van een open-weight model vereist een van de drie. Aanbiedingen die vóór 1 november 2026 zijn vermeld, tonen "Precision not stated" totdat je dit instelt (Selling page → het aanbod → Price and precision). Het vermelden van een hogere precisie dan je server werkelijk draait, is een ander model dan vermeld: het account wordt opgeschort, zoals hieronder. Gesloten modellen (Claude, GPT-5, Gemini…) vragen hier niet om.

Opgevulde token counts

Wanneer je server veel meer prompt tokens rapporteert dan een verzoek werkelijk bevat, wordt de koper gefactureerd, en word jij betaald, voor maximaal ongeveer 2× onze eigen telling van de prompt tokens van het verzoek, plus een kleine toeslag voor tool definitions en afbeeldingen. Daaronder worden verzoeken precies gefactureerd zoals je server ze rapporteert.

Inkomsten en uitbetalingen

  • GET /seller/earnings?range=7d|30d|90d|all — verdiend, verkopen en tokens, per model, met de markt rondom elk van je modellen (de goedkoopste korting op dit moment en de gerealiseerde korting van de markt in het laatste uur) zodat je kunt zien hoe je je prijzen kunt bepalen.
  • GET /seller/payouts — beschikbaar voor uitbetaling (owed_usd), in de wacht (held_usd, en next_release_at: wanneer het volgende deel klaar is), onderweg en uitbetaald als aparte bedragen, waar je uitbetalingen naartoe worden gestuurd (payout_method, null totdat je het instelt), plus je uitbetalingsgeschiedenis.
  • PUT /seller/payout-method {method, address} — waar je je geld naartoe wilt sturen: {"method":"paypal","address":"[email protected]"} (het e-mailadres van je PayPal-account) of {"method":"usdc_base","address":"0x…"} (je wallet op Base, 0x en 40 hexadecimale tekens; we versturen USDC alleen via het Base-netwerk). Beantwoordt de opgeslagen {method, address, set_at}. In de console: Verkopen → Uitbetalingen → Waar we je geld naartoe sturen.

Inkomsten worden vastgehouden voordat ze kunnen worden uitbetaald: 14 dagen zolang je een nieuwe verkoper bent (je eerste 30 dagen, of totdat je in totaal $500 hebt verdiend), daarna 7 dagen. Op die manier kunnen kopers worden terugbetaald als een aanbod niet blijkt te voldoen aan het model dat het vermeldt. De Verkooppagina toont Beschikbaar voor uitbetaling en In de wacht, met de datum waarop het volgende deel klaar is.

Zodra het uit de wacht is, wordt wat beschikbaar is automatisch uitbetaald zodra het $5 bereikt, of 72 uur nadat je oudste onbetaalde verkoop uit de wacht is gekomen (elke 10 minuten gecontroleerd). Je kunt er ook op elk moment om vragen (POST /seller/payouts/request, de knop Betaal me nu). Je hebt één uitbetaling tegelijk onderweg: wat je ondertussen verdient, blijft verschuldigd en gaat naar je volgende uitbetaling zodra de huidige is betaald (vragen om een andere beantwoordt 409 payout_already_on_the_way).

Ons team verstuurt elke uitbetaling naar het PayPal-e-mailadres of de USDC (Base) wallet die je hebt ingesteld, meestal binnen 2 werkdagen nadat het is gestart. Als een uitbetaling start voordat je er een hebt ingesteld, e-mailen we de eigenaren van je account om te vragen, en versturen we het zodra je dat doet. Een uitbetaling telt pas als uitbetaald zodra deze daadwerkelijk is verstuurd; de betalingsreferentie verschijnt dan ernaast, en we e-mailen je dat het is verstuurd.

Als een uitbetaling niet kan worden geleverd (bijvoorbeeld omdat het PayPal-e-mailadres geen geld kan ontvangen), wordt het weergegeven als Niet gelukt met de reden. Niets is verloren: het bedrag is opnieuw aan jou verschuldigd en wordt met je volgende uitbetaling meegestuurd, en we e-mailen je om te controleren waar we je geld naartoe sturen.

API

Ingelogd op het web, is de verkopers-API te vinden onder /api/v1/seller. Met je UberLLM API key (degene die je agent kreeg bij het uberllm inloggen), is dezelfde API te vinden onder /v1/seller:

Call Wat het doet
POST /seller/register {display_name?} Begin met verkopen (eenmalig). De naam is optioneel: indien weggelaten, word je getoond als "Verkoper" plus 4 letters. De Verkooppagina doet dit voor je.
GET /seller/providers Providers en hun base URLs.
POST /seller/discover {base_url, api_key} of {config_id} De modellen die een key kan aanbieden, afgestemd op de onze (open_weights: true = vermelding vereist een precision). Kost geen quota.
POST /seller/test {base_url, api_key, models[]} Eén klein testverzoek per model.
POST /seller/offers/bulk Lijst veel modellen op één key: {endpoint_url, api_key, save_config, daily_cap_usd, precision, offers:[{model_id, upstream_model, precision, discount_pct | match_best}]}. precision (full, 8bit of below8) is vereist voor open-weight modellen; de top-level geldt voor elk open-weight model in de batch. Elk model wordt getest zodra het wordt vermeld; een model dat faalt, wordt weggelaten met de reden.
POST /seller/offers Lijst één model: {model_id, endpoint_url, api_key, upstream_model, precision, discount_pct, daily_cap_usd}.
GET /seller/offers · GET /seller/offers/{id} Je aanbiedingen met prijs, % korting, gezondheid, status (listing_state: checking, live, paused of suspended, met check_reason wanneer het de model check faalde) en live rank (waar je staat tussen alles waar kopers naartoe kunnen worden gestuurd voor dat model).
PATCH /seller/offers/{id} Herprijzen (discount_pct), limiet instellen (daily_cap_usd, 0 verwijdert deze), precision (open-weight modellen), status: paused | active (een aanbieding die de model check faalde, kan niet opnieuw worden ingeschakeld).
POST /seller/offers/{id}/rotate-credential {api_key} Nieuwe key, getest voordat deze wordt geaccepteerd.
POST /seller/offers/{id}/reset-health Nu weer in routing.
DELETE /seller/offers/{id} Verwijderen: uit routing, opgeslagen key gewist.
GET /seller/configs · DELETE /seller/configs/{id} Opgeslagen keys voor het starten van nieuwe aanbiedingen (alleen een hint van 4 tekens wordt getoond).
GET /seller/health-log Waarom aanbiedingen werden overgeslagen.
GET /seller/earnings · GET /seller/payouts · POST /seller/payouts/request Geld: wat beschikbaar is, in de wacht staat, onderweg is en betaald is.
PUT /seller/payout-method {method: paypal | usdc_base, address} Waar je uitbetalingen naartoe worden gestuurd: een PayPal e-mailadres of een USDC wallet op Base.
curl https://api.uberllm.dev/v1/seller/offers/bulk \
  -H "Authorization: Bearer $UBERLLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "endpoint_url": "https://api.together.xyz/v1",
    "api_key": "<your provider key>",
    "save_config": true,
    "offers": [
      { "model_id": "meta-llama/llama-3.3-70b-instruct", "match_best": true },
      { "model_id": "qwen/qwen3-235b-a22b-instruct", "discount_pct": 40 }
    ]
  }'

Voor agents

Je agent heeft al een UberLLM API key na het inloggen. Het kan zich registreren, modellen vinden op een provider key, deze weergeven en inkomsten bekijken met de bovenstaande aanroepen onder /v1/seller. Geen ander sleuteltype is nodig.

Vermeld alleen wat je mag doorverkopen

  • ✅ Open-weights of zelf gehoste modellen die je draait.
  • ✅ Providercapaciteit die je mag doorverkopen.
  • ❌ Een provider key waarvan de voorwaarden je niet toestaan deze door te verkopen of anderen toegang te geven. De voorwaarden van veel providers staan dit niet toe: controleer die van jou voordat je deze aanbiedt.
  • ❌ Gestolen, gelekte, gedeelde, gratis proef- of evaluatie keys. Een aanbod dat deze regels overtreedt, wordt verwijderd.

Gebruik een speciale provider key met een bestedingslimiet. Je bent verantwoordelijk voor de licentieverlening en de wettige werking van wat je aanbiedt.