Skip to main content

Poolside Provider Guide

Poolside is a Tier-2 catalog provider: its entire integration is one JSON file (src/lib/providers/catalog/poolside.json) rather than hand-written code. That file is the source of truth for everything on this page.

Verification status: this entry is docs-verified only, not yet live-verified. Poolside's GET https://inference.poolside.ai/v1/models needs a key (an unauthenticated GET answered HTTP 401), so the model id comes from Poolside's public docs and the roster has not been checked. No account was created and no API key was used to build it. evidence.liveMatrix is null until someone runs the live capability matrix with a real key (see Verification status below).


Key Facts​

  • Provider id: poolside
  • Protocol: OpenAI-compatible (/chat/completions) — the Poolside API page opens with "Call Poolside models through an OpenAI-compatible API."
  • Base URL: https://inference.poolside.ai/v1 (the "Poolside-hosted inference" row of the Access methods table on the same page)
  • Default model: poolside/laguna-s-2.1
  • Models in catalog: 1 — the model id the docs' examples use against the hosted base URL
  • Streaming: supported — the examples page documents setting stream to true to receive "a series of chunks returned as server-sent events"
  • Tool calling: supported (true) — the examples page's "Extend models with tools" section shows a tools array and a returned tool_calls array on poolside/laguna-s-2.1
  • Tools while streaming: not declared (false) — no request combining them was sent
  • Structured output: not declared (false) — no request using response_format was sent
  • Structured output + tools together: not declared (false) — no combined probe was sent
  • Embeddings: not declared — the overview page's Available endpoints table lists two endpoints, GET /v1/models and POST /v1/chat/completions
  • Thinking: not declared (false) — the entry sends no thinking request parameter. The examples page says "Poolside-hosted inference enables thinking by default." and documents setting chat_template_kwargs.enable_thinking to false to turn it off for a request
  • Reasoning content: quirks.replayReasoningContent is set, because the examples page says "For agentic workflows with Poolside models, preserve reasoning_content from assistant responses when you include those responses in follow-up requests." No multi-turn request was sent
  • Billing: free-tier — one of the three values the catalog schema allows; see Billing below
  • Key format: none declared

Quick Start​

1. Get an API key​

  1. Visit: https://platform.poolside.ai/ — https://docs.poolside.ai/get-started/log-in.md says of the Poolside Platform option: "sign in to Poolside Platform or create an account"
  2. Create an API key: https://docs.poolside.ai/api/overview.md says "Sign in to Poolside Platform, open the API Keys tab, and click New key."
  3. Billing as the vendor states it: https://docs.poolside.ai/get-started/log-in.md describes the Poolside Platform option as "free developer access" and says "The API key created through Poolside Platform is for Poolside-hosted inference."
  4. Authentication is HTTP Bearer: https://docs.poolside.ai/api/overview.md shows the header Authorization: Bearer <api-key> and exports the key as POOLSIDE_API_KEY, the name NeuroLink reads. Set POOLSIDE_API_KEY in your .env file

2. Configure​

export POOLSIDE_API_KEY=your-api-key
export POOLSIDE_MODEL=poolside/laguna-s-2.1 # optional — overrides the default model
export POOLSIDE_BASE_URL=https://inference.poolside.ai/v1 # optional — overrides the base URL

3. Use it​

import { NeuroLink } from "@juspay/neurolink";

const neurolink = new NeuroLink();

const result = await neurolink.generate({
input: { text: "Explain context windows in one paragraph." },
provider: "poolside",
model: "poolside/laguna-s-2.1",
});

console.log(result.content);
# CLI
npx @juspay/neurolink generate "Hello" --provider poolside

Per-request credentials work the same way as for the other catalog providers:

await neurolink.generate({
input: { text: "Hello" },
provider: "poolside",
credentials: { poolside: { apiKey: process.env.POOLSIDE_API_KEY } },
});

Billing​

The log-in page describes the Poolside Platform option as "free developer access" and says "The API key created through Poolside Platform is for Poolside-hosted inference." The catalog schema has three billing values (free-tier, free-with-card, no-free-tier); the entry holds free-tier, built from that wording.


Models​

ModelContextVisionNotes
poolside/laguna-s-2.1 ⭐not setnoNeuroLink default — the model id the API page's quickstart examples and the examples page's examples use against https://inference.poolside.ai/v1. The supported-models page lists "118B total, 8B active per token", "Mixture of Experts" and "Text-to-text".

Values come from Poolside's public docs, retrieved 2026-09-29:

  • Context — the catalog entry sets no contextWindow for this model, so models.defaultContextWindow (128,000) applies. The Context window row of the supported-models page shows "1M tokens" for Laguna S 2.1, and the same page says "Model availability, provider-specific variants, and model IDs can vary by access method."
  • Vision — false. The model release notes say Laguna S 2.1 "is text-to-text and does not support vision inputs".
  • Description — the release notes say Laguna S 2.1 is "built for agentic coding and long-horizon work". The supported-models page lists Reasoning as "Native reasoning with thinking on or off per request".
  • Pricing — no pricingPerMTok is set.

models.defaultContextWindow (128,000) is a placeholder, not a vendor figure. models.defaultMaxOutputTokens (32,768) equals the max_tokens default in the Control generation table on the examples page; it is not a per-model limit. The model's status field holds production, a placeholder for a value the catalog schema requires; it is not a vendor statement.

Fallback order: the catalog has one model, so poolside/laguna-s-2.1 is also the fallback.


Verification status​

Tier-2 onboarding requires evidence before a provider is accepted, and pnpm run verify:provider-onboarding gates it in CI. This is what the catalog currently records for Poolside — docs-verified only, not live-verified:

ProbeResult
Rosterunauthenticated GET https://inference.poolside.ai/v1/models answered HTTP 401 without a key on 2026-09-29, so the model id is taken from https://docs.poolside.ai/api/overview.md (retrieved 2026-09-29); roster not verified
Billinghttps://docs.poolside.ai/get-started/log-in.md describes the Poolside Platform option as "free developer access"; https://platform.poolside.ai/ opened and shows the title "Poolside Platform"; no signup was performed, 2026-09-29
Auth-failure shapeunauthenticated GET /v1/models answered HTTP 401, content-type text/plain; charset=utf-8, plain-text body "No Authorization header provided"; unauthenticated GET /v1/chat/completions answered HTTP 405 with an empty body. No POST request was sent. errorRules carry 401 (observed) and 403 (documented)
Tools / structured outputfunction calling is documented on https://docs.poolside.ai/api/openai-api-examples.md; it was not exercised live, and no request using response_format or combining tools with a schema was sent — structuredOutput and structuredOutputWithTools stay false
Live capability sweepnot run. evidence.liveMatrix is null. Before treating this provider as production-ready, run npx tsx test/continuous-test-suite-provider-matrix.ts --provider=poolside with a real key and record the result.

Do not treat this entry as equivalent to a live-verified Tier-2 provider (e.g. FriendliAI, Novita AI) until that live matrix has been run and evidence.liveMatrix is filled in.


Troubleshooting​

SymptomCauseFix
HTTP 401 with the body No Authorization header providedObserved on 2026-09-29 for an unauthenticated GET /v1/models; https://docs.poolside.ai/api/overview.md says "Poolside-hosted inference and OpenRouter require an API key."The same page says "Send it as a Bearer token in the Authorization header"; set POOLSIDE_API_KEY
403 Forbidden: please check the api-key you providedListed under "Fix API key or token errors" on https://docs.poolside.ai/cli/troubleshooting.md, which says "These errors usually mean the prompt reached the agent, but the agent or model request could not authenticate."That page's first step is "Check whether authentication environment variables are set."

See also​