Agent as a Service
Agents that do the work. You keep the final say.
Tell KOR what needs doing. Agents plan it, run it across your tools, and stop at the one point they need you. Every step they take lands in one log you can read afterwards.
The honest version
The agent is an afternoon’s work. Handing it your keys, your budget and your audience is not.
Agent as a Service is that second part, and it is the whole product
IP partners
- Paramount
- Sony Pictures
- Banijay Group
- Black Mirror
- EROS
- Beatport
- mau5trap
- Imogen Heap
- KDDI
every step in one log
one login
one calendar
one memory
one bill
autonomy is earned
an agent starts at propose
public actions stay gated
products keep their data
keys never reach the model
typed tools only
MCP-native
every step in one log
one login
one calendar
one memory
one bill
autonomy is earned
an agent starts at propose
public actions stay gated
products keep their data
keys never reach the model
typed tools only
MCP-native
The agents
Six products push in. One accountable stream comes out.
Each product hands its work to KOR, and the agents take it from there. One job each, a ceiling none of them can cross, and every step they take lands in the same log.
- PacerPlanner L2Warden L1
- StreamlineScout L2Caller L1
- VRSNSDresser L2Fitter L3
- BytesFinder L1Cutter L2
- KORUSRegistrar L1Auditor L2
- KOR HubsMerchant L1Teller L1

Quoted · Logged · Settled
L0 watches · L1 proposes · L2 acts and asks · L3 runs to its budget · posting and payouts never reach L3
The shared layer
Every agent stands on the same foundation.
One login, one calendar, one memory, one bill, across all six products. An agent connects once and can use it everywhere, and every step it takes lands in one log.
- Auth
- Storage
- Connections
- Queue
- Memory
- Run log
- Approvals
- Intelligence
- Calendar
- Social
Connect once · scoped to one workspace · keys never reach the model

The workflow
Set it up once. It prices itself, then runs.
Five Plays ship with the platform. Change a step and it re-quotes against the real API. Then run it, approve the one gate, and watch every credit land.
Workspace
Scope
Play · Content sprint
1 gate · 8 steps
- TriggerTrend spotted
- StreamlineSpots the hook at 4:12
- KORPicks the Play, quotes the run
- YouApprove it, one tapone tap
- BytesCuts three vertical clips
- VRSNSCovers and cards in your voice
- CalendarThree slots, no clash
- SocialPosts Tue, Wed and Fri
- —
Run log
no active run· PricingQuoted
240crNever past
— crStreamline never calls Bytes, it asks KOR and we do the rest · reorder it, drop the gate once you trust it, borrow a step from another Play · every node above is one row in one table that billing, debugging and audit all read
Trust
We make agents earn it.
Every agent ships at propose and stays there until its eval scores move it. Some things are never promoted at all.
Posting · payouts stop here
It watches
Changes nothing. Reads, scores, and reports.
Ships here
It proposes
Drafts the work and waits. Every agent starts here.
It acts, you approve
Does the work, then asks before anything leaves.
Capped
It runs alone
Up to its budget, no further. Never for public actions.
We promote on eval scores, never by flipping a setting
The other half of trust
An agent that can post is an agent worth attacking.
How it would go
Any one of these ends it on its own
Arrives as data. Nothing stops that
In this order the run dies at step two. The two barriers under it are there for the day the first one is wrong.
True of every run, attacked or not
We design this in week four with the runtime · “harden” in week eight is too late to design anything
What a run costs
Priced by the action. Not by the seat.
This is the one place on the page that talks about money, and it is here because it is a fair question. Every run is quoted before it starts and settled when it ends, so an agent that sits idle costs nothing at all.
1 · You top up
Credits
One balance for the whole org. It doesn’t expire on a billing date, because there isn’t one.
2 · We cap it per workspace
- Growth11,240 / 18,000
- Content4,310 / 12,000
- Catalogue9,080 / 10,000
Near cap · we’ll ask first
Width is their cap. Shading is what they’ve spent. One workspace can never spend another’s budget.
3 · Every run is quoted
We quoted
240We spent
203We returned
+37Priced before it starts, metered while it runs, settled when it ends.
37 credits back on your balance, not ours
If a run goes over
Quote 240 · we absorb to 276 · never past it
Under the quote
You pay the real cost, not the estimate.
Up to 15% over
We absorb it. You pay the quote we gave you, never more.
Past 276
We stop and ask before we spend another credit. We never run past it.
If you say stop
You pay for the steps that already ran. We keep the partial work.
Illustrative numbers · credit economics are a week-one decision, and nothing prices until they land
Agent as a Service
You decide what an agent may do. It does the rest.
Set the ceiling, approve what leaves, and read the log afterwards. No seats to buy and nothing to install.
Where this goes
Phase two: everyone else’s agents run on it too.
The routes below are the ones our own agents call. There is no private door behind them and no second, better API. Phase two puts an MCP server in front of each service and a scoped key in your hands.
The contract
9 routeskor-agentyour-agentFabric
What the platform is. One GET each, or the lot in a single round trip.- GET/v1/manifestEverything at once, in one round tripthe whole fabric
- GET/v1/productsThe products the agents work across6 products
- GET/v1/servicesThe shared layer every agent stands on10 services
- GET/v1/agentsEach with its level and its ceilingthe roster
- GET/v1/playsThe Plays we ship, and the steps they are built from5 Plays
- GET/v1/stepsEvery step a Play can borrow, and what it costs31 steps
Runs
The workbench in section 02 calls all three, from your browser.- POST/v1/quotePrice a run before a credit is spentquote + ceiling
- GET/v1/runs/streamThe run itself, step by step, as it happensSSE, until it settles
- POST/v1/runs/:runId/decisionAnswer the gate. It waits, and never guessesthe run resumes
What you send
POST /v1/quote{ "playId": "drop", "scale": "standard" }The same request the workbench sends every time you change a step.
What comes back
200{ "quoted": 92, "ceiling": 106, "gates": 1, "expiresInSeconds": 900 }And one priced line per step. 6 of them for this Play.
Every route above is live in this build · the response beside it was priced by the same function the endpoint calls, at render time
Already true
Today, on the routes above- The contract is publishedThe OpenAPI document is generated from the routes themselves, so it cannot describe an API we do not serve.
- The workbench is just a clientSection 02 prices and streams a real run from your browser, over the three routes above. Nothing about it is privileged.
- The price is ours, not the caller'sSend /v1/quote a chain of steps and we price it from our catalogue. A client names the steps; it never names the numbers.
What phase two adds
The same contract, with keys attached- Bring your own agentClaude, ChatGPT, Cursor, or one you wrote. One path in, whether the agent is ours or yours.
- An MCP server per serviceAuth, calendar, storage, memory and run log, each speaking the protocol natively, so a tool call is just a tool call.
- Keys and scopes, per tenantYour keys, your data, your memory. Scoped to one workspace, never pooled, never trained on.
- Agents as artefactsSpec, tools, evals and budget in one file. Versioned, diffable, and reviewed like code.
- The gate, in your own queueApprovals is a service, not a screen. A run's gate can land wherever your team already answers things.
- No partner tierThe same quote, the same run log, the same ceilings we hold our own agents to.
Phase two follows the first paying runs · the contract doesn’t change when it lands, it only gets keys
Put the agents to work.
One login reaches all six products and every service under them.












