the swift sdk + the managed backend

Skip the server.
Ship the agent.

AgentKit is a Swift SDK for building agentic apps: the model decides, your tools run locally, against any provider. AgentKit Cloud is the managed backend you point it at when you ship, so your provider keys, prompts, and model choices live server-side instead of in your binary.

free to start · bring your own keys
relay
tok/s 142.0p95 38ms
one request · device → relay → provider → stream back

The most useful backend is the one you don't write.

what it is

Two pieces. One product.

AgentKit is two things that fit together: the SDK you build with, and the Cloud you ship against.

the sdk

The Swift SDK you build with.

Provider-agnostic, with a zero-network core. An @Observable AgentSession streams text and tool calls into your UI, the model only decides, and your tools run locally in code you write. Build against Anthropic, OpenAI, Gemini, your own backend, or Apple's on-device model.

corezero-network
toolsrun in your app
platformsmacOS · iOS · visionOS
the cloud

The backend you point it at.

A shipped app shouldn't carry provider keys; they're extractable from any binary. Point the SDK at the Cloud and your keys, prompts, tool schemas, and model choices stay server-side, resolved per request from an agent profile. Your app sends a profile, a tier, the active tool names, the conversation, and a short-lived user token; it never ships your prompts, keys, tool schemas, or model.

keysencrypted, server-side
app sendsprofile + tier + jwt
toolsstill run in the app
how it works

One line from prototype to production.

Your tool domains, guards, undo, and UI never change. Only the provider line does.

  1. Build against any provider.

    Define your app's abilities once as tool domains, then run the agent against Anthropic, OpenAI, Gemini, your own backend, or Apple's on-device model. Switching is one line; the model decides and your tools run locally.

  2. Point your app at the Cloud.

    For production, swap the provider to AgentKit Cloud and name an agent profile and tier. No SDK rewrite. The app stops shipping provider keys and starts sending a publishable key plus a short-lived user token.

  3. The Cloud runs every request.

    Validate the key, check the kill-switch, verify the token, resolve the profile, route the tier, apply rate limits, gate quotas, reserve budget, relay the provider stream, and write a usage record. Your keys never leave the server.

in the sdk

What the SDK gives you.

Everything the agent loop needs, in your app.

any provider

Same code, any provider.

Anthropic, OpenAI, Gemini, your own backend, or Apple's on-device model. Your tool domains, guards, and UI stay the same; switching providers is one line.

cloudanthropic · openai · gemini
on-deviceapple foundation models
swapone line
Agent.swiftswift
// one line picks the provider
let agent = try runtime.makeAgent(
provider: .anthropic(apiKey: key),
// .openAI(apiKey: key),
// .gemini(apiKey: key),
// .appleFoundationModels(),
// on Cloud the backend picks the model:
// .backendRouterCloud(agentId: id, tier: tier, …),
role: role
)
session · streaming

Trimming the intro…

timeline.trim_clip

Done. 5s removed.

agent loop

The agent loop runs in your app.

library.delete_album
allow
confirm
deny first deny wins
safety

Guards, undo, and bounded turns.

3
of 40 active
timelinelibraryexportsearchcolorshare+34
staged discovery

Tools the agent finds, not forty it's handed.

in the cloud

What the Cloud adds.

The backend, fully managed, when you point the SDK at it.

model routing

Name a tier, not a model.

Your app asks for a tier; your dashboard maps each tier to a real model. Move balanced from Sonnet to Opus, or to another provider, and every app picks it up on its next request. No App Store round trip, no model id baked into your binary.

tiersfast · balanced · premium · vision
resolvedper project, server-side
swapnext request
Agent.swiftswift
// your code names a tier, not a model
provider: .backendRouterCloud(
endpoint: cloud,
agentId: "main",
tier: "balanced",
)
resolved server-side, per project
model routesproject
balancedclaude-sonnet-4-6
anthropicdefault
Anthropic sk-ant-••••4f2a
OpenAI sk-••••9b1c
Gemini add key
credentials

Your provider keys, encrypted in our care.

trusted issuers verified
Sign in with Apple
Firebase
Custom JWKS
identity

Your auth. Verified, every turn.

tokens · by user
48.2M
observability

See which user burned which tokens.

budget · this month healthy
$38
of $50
guardrails

Spend caps that hold when requests race.

$0
free to start · paid plans from $24.99 · bring your own keys
free
10K / mo
hobby
500K / mo
pro
5M / mo
enterprise
custom