memory & state
Postgres + Realtime + Storage for durable agent memory, files, and session state — same @supabase/supabase-js patterns you already use.
// supabase-shaped stack · agent-native ops
Secure deployment cloud for AI agents.
Deploy AI agents with memory, tools, payments, and secure hosting. Bring your agent code, connect tools and model keys, and let kraph provision an isolated Postgres + APIs + functions + storage backend, encrypted env vars, and hooks for a public UI. Developers connect today via MCP; when you use paid tools, a wallet settles x402 USDC on Solana — no card on file for that path.
Under the hood: gateway placement, x402 settlement, encrypted replication, and attested nodes when you choose mainnet-tier hosting.
Serious agents need persistent memory, tool integrations, secrets, function logs and backend auditability, and a real backend — not a single API key in a notebook. Kraph provisions that data plane for agents like OpenClaw or Hermes that need durable state — and for your own runtimes — your code wires in; we don’t host arbitrary agent containers today. In-product templates are on the roadmap; everything rides the same Supabase-compatible surface.
Postgres + Realtime + Storage for durable agent memory, files, and session state — same @supabase/supabase-js patterns you already use.
Deno edge functions next to your data, with encrypted env vars for API keys and connector credentials.
Pin static frontends to content-addressed storage so each agent can have a shareable URL or embed alongside its API.
Optional wallet identity and x402 USDC on Solana meter infrastructure per tool call — no card on file when you deploy via MCP.
Independent nodes host workloads with encrypted WAL replication; mainnet-tier placement can use AMD SEV-SNP attested hardware.
Inbound and outbound mail for auth flows, digests, notifications, and support — live for allowlisted team mailboxes via MCP today; broader self-serve access is planned as packaging matures.
The product experience we’re building is describe → connect tools → deploy → observe.
Today, MCP is the direct path: add the server in Claude Code, Cursor, or any compatible host, authenticate with a Solana wallet (local keypair or Privy),
call kraph_provision, and point your agent at the returned URLs and keys.
The Claude skill is the fallback when OAuth or /mcp setup is awkward — it runs the shell handshake and pins a bearer for you.
Paid tool calls settle on-chain in USDC via x402 — that is the metering rail for MCP today.
claude mcp add kraph -- npx -y @kraph/mcp-stdio \
--keypair ~/.config/solana/id.json \
--network devnet
{
"mcpServers": {
"kraph": {
"command": "npx",
"args": ["-y", "@kraph/mcp-stdio",
"--keypair", "~/.config/solana/id.json",
"--network", "devnet"]
}
}
}
%APPDATA%\Claude\claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"kraph": {
"command": "npx",
"args": ["-y", "@kraph/mcp-stdio",
"--keypair", "~/.config/solana/id.json",
"--network", "devnet"]
}
}
}
{
"mcpServers": {
"kraph": {
"command": "npx",
"args": ["-y", "@kraph/mcp-stdio",
"--keypair", "~/.config/solana/id.json",
"--network", "devnet"]
}
}
}
claude mcp add kraph -- npx -y @kraph/mcp-stdio \
--keypair ~/.config/solana/id.json \
--network mainnet-beta
{
"mcpServers": {
"kraph": {
"command": "npx",
"args": ["-y", "@kraph/mcp-stdio",
"--keypair", "~/.config/solana/id.json",
"--network", "mainnet-beta"]
}
}
}
{
"mcpServers": {
"kraph": {
"command": "npx",
"args": ["-y", "@kraph/mcp-stdio",
"--keypair", "~/.config/solana/id.json",
"--network", "mainnet-beta"]
}
}
}
{
"mcpServers": {
"kraph": {
"command": "npx",
"args": ["-y", "@kraph/mcp-stdio",
"--keypair", "~/.config/solana/id.json",
"--network", "mainnet-beta"]
}
}
}
$ claude mcp add --transport http kraph https://api.kraph.com/mcp
{
"mcpServers": {
"kraph": {
"url": "https://api.kraph.com/mcp"
}
}
}
{
"mcpServers": {
"kraph": {
"url": "https://api.kraph.com/mcp"
}
}
}
{
"mcpServers": {
"kraph": {
"serverUrl": "https://api.kraph.com/mcp"
}
}
}
$ claude mcp add --transport http kraph https://api-mainnet.kraph.com/mcp
{
"mcpServers": {
"kraph": {
"url": "https://api-mainnet.kraph.com/mcp"
}
}
}
{
"mcpServers": {
"kraph": {
"url": "https://api-mainnet.kraph.com/mcp"
}
}
}
{
"mcpServers": {
"kraph": {
"serverUrl": "https://api-mainnet.kraph.com/mcp"
}
}
}
# core skill — handles oauth + pins the bearer into mcp config
git clone https://github.com/piske-alex/kraph-skill.git \
~/.claude/skills/kraph
chmod +x ~/.claude/skills/kraph/scripts/*.sh
# optional: email skill (send / receive at @kraph.com via mcp tools)
git clone https://github.com/piske-alex/kraph-email-skill.git \
~/.claude/skills/kraph-email
# macOS / Linux
git clone https://github.com/piske-alex/kraph-skill.git \
~/.claude/skills/kraph
chmod +x ~/.claude/skills/kraph/scripts/*.sh
# optional: email skill
git clone https://github.com/piske-alex/kraph-email-skill.git \
~/.claude/skills/kraph-email
%USERPROFILE%\.claude\skills\kraph
Kraph authenticates via your Solana wallet, not a cloud billing profile. Two modes, both handled automatically:
kraph_auth_challenge
→ sign → kraph_auth_verify. Session token
valid for 30 minutes.
Paid tool calls settle via x402 on Solana.
The gateway returns 402 Payment Required with
the tool's price in USDC; your client's x402-fetch wrapper signs and
retries automatically. The result is metered infrastructure without a
card processor sitting between the agent and the app it is trying to ship.
Kraph runs the unmodified official Supabase Docker stack under the hood — same Postgres 15, same PostgREST, same GoTrue auth, same Realtime, same Storage API, same Edge Runtime (Deno/TypeScript), same JWT format, same Studio dashboard.
That means the full compat surface works out of the box:
@supabase/supabase-js,
PostgREST clients, supabase-py, supabase-dart, Studio, the
supabase CLI, the Supabase Edge Functions
runtime, the S3-compatible Storage API, standard
ENV-var semantics for functions,
pg_dump / pg_restore,
and every RLS policy you've already written.
Migrating an existing full-stack app is a few env-var changes:
kraph_provision → get a new URL + anon key + service role keypg_dump source db → pg_restore into the new instancekraph_deploy_function your edge functions · kraph_set_env for secrets · upload buckets to StorageSUPABASE_URL / SUPABASE_ANON_KEY and redeploy (or kraph_pin_frontend the built static bundle to IPFS)Kraph is an independent open-source project, not affiliated with or endorsed by Supabase Inc. — but because it orchestrates the same open-source components those projects use, the SDKs work unchanged. For ad-hoc agent use, no migration at all: Kraph just sits alongside your existing infra as another tool.
Start from your own agent design (research, support, ops, coding assistant) or patterns you already run locally. Agent templates in-product are on the roadmap — today you describe behavior and wire your stack, then provision the backend via MCP. Capture triggers, guardrails, and the data the agent is allowed to touch before it ever hits production.
Plug in calendars, email, CRMs, internal HTTP APIs, or data stores. Bring your own Claude, OpenAI, Gemini, or OpenAI-compatible endpoint. Hosted model billing from kraph is not required — it may arrive later for teams who want one invoice. Secrets land in encrypted env vars, not in prompt text.
Through MCP, kraph places a full Supabase-compatible stack — Postgres, PostgREST, Kong, GoTrue, Realtime, Storage, Studio, Edge Functions — plus IPFS hooks for static UI. You get URLs, keys, and function runtime without stitching vendors by hand. Advanced: authenticate with a Solana wallet, pay per tool call with x402 USDC on Solana, and route to attested hardware on mainnet when you need it.
Production agents need visibility into what changed and what you paid for. Today you get Postgres state, edge function logs, stored artifacts, the live x402 payment feed, and node health signals — plus encrypted WAL replication so replicas hold ciphertext, not your business logic. Deeper per-run timelines and cost attribution are on the roadmap.
The Free / Builder / Pro / Team cards describe planned monthly packaging. Live now: provision and meter through MCP with x402 USDC on paid tools; devnet and mainnet networks are below. Exact limits and self-serve checkout will land in the console as hosted plans roll out.
For solo builders validating an agent on shared dev infrastructure. Bring your own model keys; pay only metered usage where applicable.
Multiple agents, higher limits, and room for scheduled or long-running workloads. Ideal for founders and small teams shipping customer-facing assistants.
Priority placement, stricter isolation, and features for compliance-minded teams — including attested hardware when you opt into mainnet-tier routing.
SSO, shared workspaces, audit exports, and procurement-friendly billing. We’ll map your agents to the right regions and attestation profile.
When you install the MCP client below you pick devnet for faucet USDC and fast iteration, or mainnet for real USDC and attested SEV-SNP placement on eligible nodes.
Pay with devnet USDC from the faucet. Any available node. Mock TEE. Ephemeral instances. No card, no KYC, low-risk playground.
@supabase/supabase-jsReal USDC on Solana mainnet. TEE-verified nodes only — eligible nodes prove they run inside an AMD SEV-SNP enclave before the gateway places production workloads on them.
@supabase/supabase-jsThree steps, same tooling. Your agent, your keys, your data.
kraph_export your devnet instance
pg_dump + encrypted WAL archive
KRAPH_SOLANA_NETWORK=solana:mainnet-beta
on the client · nothing else changes
kraph_provision + kraph_restore
new instance is attested · same schema · same data
Kraph is growing a network of independent nodes that host agent backends with encrypted replication and optional hardware attestation. Approved operators are paid monthly in USDC for verified infrastructure services delivered: compute, storage, bandwidth, uptime, region coverage, and attested capacity where applicable.
Operator onboarding may require identity or business verification, sanctions screening, tax documentation where required, and agreement to service levels. Payouts are vendor payments for infrastructure supplied to the network.
Interested in running capacity? Reach out with your region, hardware profile, and whether you can meet SEV-SNP attestation requirements — we’ll share the current operator playbook as it matures.
Visual app builders optimize for pages and UI. Kraph is for autonomous agents that need durable memory, tools, encrypted secrets, and a real Postgres-backed surface — the persistent loop and data plane, not only the front end.
Workflow tools excel at triggers and SaaS glue. Kraph gives each workload a Supabase-compatible stack you control — Postgres, functions, storage, auth — plus decentralized placement and optional AMD SEV-SNP attestation on mainnet-tier nodes. Pick kraph when the agent needs its own database and server logic, not only chained steps.
Yes — that’s the default path. Store keys in function-scoped secrets via kraph_set_env, never in prompts; grant each tool the minimum access it needs and rotate keys on a schedule.
Optional hosted inference from kraph may arrive later for teams who want one invoice — it is not required today.
Use function-scoped env vars via kraph_set_env — encrypted at rest on the node. On mainnet SEV-SNP nodes, plaintext only exists briefly inside the attested enclave when applied to the runtime.
Still follow least privilege: rotate keys, scope tools, and audit what each agent is allowed to call.
That integration shape is a core direction: you keep the agent runtime you trust; kraph supplies the Supabase-compatible backend, storage, secrets, and hosting hooks.
Packaging varies by upstream project — today you wire provisioning through MCP (kraph_provision) and connect your agent to the returned URLs and keys; curated templates are on the roadmap.
Public end users may not need crypto later if you ship hosted billing on top. Developers using MCP today use a Solana wallet (or Privy) so USDC can settle x402 invoices for paid tools — that’s the crypto touchpoint now. Hosted plans may abstract billing so day-to-day users never manage a wallet while the protocol stays underneath.
Approved operators receive monthly USDC vendor payments for verified infrastructure — compute, storage, bandwidth, uptime, region, and attestation tier where applicable. Commercial terms include a platform fee and service-level adjustments when agreed targets are not met. This is compensation for services rendered, not a token, stake, or investment product.
Solana gives Kraph three things a normal cloud does not: wallet identity, low-cost USDC settlement, and a programmable registry for node operators. That lets an agent pay for one infrastructure action at a time through x402, without creating a billing account or trusting a subscription platform to meter usage later.
The infrastructure is supplied by independent nodes, not one hosted database vendor. Kraph coordinates placement, payment, encrypted WAL replication, and attestation checks so those nodes can behave like a cloud network while still exposing the familiar Postgres/Supabase developer surface.
Kraph isn't a distributed database. Each agent gets a single Postgres on one node — full ACID, single writer, same consistency as any self-hosted Postgres cluster. The decentralized part is placement, payment, and encrypted backups. There's no cross-node query, no consensus, no CAP tradeoff.
Every WAL segment is encrypted (ChaCha20-Poly1305) and shipped to 2+ replicas in different regions. If the primary fails, the gateway reassigns to a replica, the agent provides the DEK, and Postgres replays from the encrypted backup. Operator agreements define reliability expectations and remedies.
Hosted Postgres platforms typically take 2–5 minutes to spin up a new project, and free tiers pause idle instances which adds another 1–3 minute wake-up. Kraph's cold start is ~15 seconds end-to-end and the paid tool call returns in 8 ms. Query latency is whatever Postgres + PostgREST give you on the host (11 k TPS / ~10 ms REST in our benchmarks).
Kraph does not need the normal cloud billing identity layer. There is no credit-card form, no KYC flow, and no subscription account to create — access is tied to a Solana wallet, and paid tool calls settle through x402 USDC payments.
That means billing is pseudonymous rather than card-based. Solana transactions are public, so Kraph does not promise invisible payments; the point is that agents can rent infrastructure without handing over a personal billing profile, while workload data is protected separately by encrypted replication and mainnet-tier attestation.
On mainnet (SEV-SNP): no. The Postgres process runs
inside an AMD enclave whose memory is encrypted at the hardware level.
Every placement is verified against a fresh attestation report from
/dev/sev-guest. On devnet the operator
technically could, which is why devnet is for development only.
kraph_set_env stores env vars scoped to edge
functions — per-instance, encrypted at rest
in the node's SQLite (ChaCha20-Poly1305 under the same per-instance
DEK that encrypts WAL), TLS in transit. Rows on disk are always
enc-v1:<base64(nonce‖ciphertext+tag)> —
a sqlite3 .dump never yields plaintext.
On mainnet (SEV-SNP) nodes the plaintext only
materializes inside the enclave when writing to the functions
container .env file: hardware-encrypted memory means the
operator cannot read it even with root. On devnet the
operator running the node process can still read values from process
memory during the brief decrypt-and-apply window — use mainnet if you
need real confidentiality. Setting or unsetting restarts only the
functions container (~1-2s, via
docker compose up --force-recreate --no-deps functions).
Postgres and every other service stay untouched. Listing via
kraph_list_env returns keys and SHA-256
fingerprints by default; pass include_values=true
to retrieve plaintext.