Context layer for AI · MCP ready
Every answer, grounded in now.
Feed your models the present, not last night's batch. Basalt turns orders, tickets and sessions into typed context that agents read in milliseconds.
Context fetch · p99
4.2
ms
Context reads / second
1,284,301
Interfaces
MCP · REST · SQL
Move across the signal
The problem
A model is only as current as its context.
Most agents read from a warehouse that refreshes overnight. They answer with confidence about orders that already shipped and tickets that already closed.
01 · Errors
Agent audits
61
%
of agent errors trace back to stale or missing context.
1,200 incidents reviewed · 2026
02 · Lag
Warehouse
11
h
median gap between an event and the warehouse table a model reads.
140 pipelines measured
03 · Basalt
Live
4.2
ms
p99 to fetch a full context bundle, joined and policy-checked.
38 regions · Sep 2026
How context flows
From event to answer in one hop.
No nightly export, no cache to warm, no second copy to keep in sync. The row your app just wrote is the row your agent reads.
Context path
Left to right · p99 4.2 ms per read
01 · Kafka · CDC · SDK
Events land.
Orders, tickets, clicks and payments stream in from Kafka, Postgres CDC, webhooks and the SDK. Each event counts once.
02 · SQL views
Views stay current.
SQL views join and window those events as they arrive, so every customer has one context row that moves with them.
03 · MCP · REST · SQL
Context is served.
Agents call one endpoint over MCP, REST or SQL. Row policies and PII masking run before anything leaves the region.
04 · Model or agent
The model answers.
The agent gets typed facts with an as_of stamp and cites them. No nightly job sits between the event and the reply.
Agent trace
See every read an agent makes.
Each tool call is traced with its query, the rows it touched and the policy that allowed it. When an answer looks wrong, replay the exact context the model saw.
Latency, rows and policy decision for every call
Replay any turn with time travel on every view
Export to OpenTelemetry, Langfuse or Datadog
Trace · run 7f3a21
support-copilot
#
Tool call
0 → 38 ms
Time
01
auth.resolve_key
2.1 ms
02
get_customer
4.2 ms
03
get_orders
4.8 ms
04
get_tickets
5.6 ms
05
policy.check_rows
1.9 ms
06
get_inventory
6.1 ms
07
get_sessions
5.4 ms
08
search_docs
7.9 ms
Total 38 ms · 6 context reads
0 policy denials
Latency
Four milliseconds or eleven hours.
We timed one context request three ways: Basalt, a vector search followed by a warehouse join, and the nightly batch most teams start with.
Fetch time · log scale
Lower is fresher
One customer key · us-east-1 · median of 10,000 requests · Sep 2026
Works with your models
Bring any model. Keep your stack.
Basalt speaks MCP, OpenAI-style tool schemas, REST and Postgres. Plug it into the model and framework you already run.
OA
Models
OpenAI
Function calling · MCP
AN
Models
Anthropic
Tool use · MCP
MI
Models
Mistral
Function calling
LL
Open weights
Llama
Self-hosted · vLLM
LC
Framework
LangChain
Retriever · Tools
LI
Framework
LlamaIndex
Reader · Query engine
VA
Framework
Vercel AI SDK
Tool helpers · TypeScript
PC
Vector store
Pinecone
Embedding sync
Use cases
Agents that act on what just happened.
Support copilots
Fraud agents
Recommendations
Ops agents
Use case · Support copilots
Answer with the order that shipped a minute ago.
Copilots read the customer, their open tickets and the latest shipment as one typed bundle. Replies quote facts from this minute, and every read follows the agent’s row policy.
One bundle per customer: profile, orders, tickets
PII masked before it reaches the prompt
Citations link back to the source event
Bundle fetch
3.9 ms
Escalations
-34%
Tern · Support copilot
“Our copilot used to apologise for orders it could not see. Now it reads the same rows our support team does, a few milliseconds after they change. Escalations fell by a third in the first month.”
SA
Sólveig Arnardóttir
Head of AI, Tern
FAQ
Questions AI teams ask first.
Do I still need a vector database?
Keep one if you search millions of documents. Most agent context is structured: accounts, orders, tickets. Basalt serves those rows by key in milliseconds and can store embeddings beside them, so facts and retrieval come back in one call.
How fresh is the context, exactly?
Views update within 50 ms of the source event at p99. Every response carries an as_of timestamp, and you can set a maximum age per tool so an agent declines to answer from data older than you allow.
How do you keep PII out of prompts?
Mark columns as sensitive in the view and choose mask, hash or drop for each API key. Redaction runs inside the engine before a bundle leaves the region, and every read is logged with the policy that applied.
What rate limits apply to agents?
Each agent key gets its own limit, from 100 to 50,000 reads a second, with short bursts allowed. If an agent loops, Basalt throttles that key and leaves your app traffic untouched.
How is model traffic priced?
Context reads are included in every plan. You pay for events ingested: Hobby is free up to 10M a month and Scale is $249 with 1B included. Enterprise adds reserved read capacity for large agent fleets.

