Products · AI agents

An agent runtime, not agent hosting.

Deploy autonomous agents that run for months, wake on events, remember what happened, call tools with scoped credentials, pause for human approval, and report what every run cost. Memory, triggers, retries, secrets, and cost tracking come with the platform — you do not rebuild them per project.

Deploy an agentOne-click AI apps
No 15-minute timeoutNo memory layer to buildNo separate observability bill
run 8f21a0c · invoice-recovery-agentcompleted
triggerStripe webhook · invoice.payment_failedcustomer cus_9F21 · $4,200 · attempt 2 of 40.0s
memoryLoaded long-term memory for this customer3 prior failures · prefers email over phone · net-30 terms0.3s
planDecided on a three-step recoverycheck card status → draft dunning email → escalate if unpaid in 48h1.1s
toolstripe.paymentMethods.retrievecard expired 06/26 — no retry will succeed1.4s · 812 tok
toolpostgres.query · account owner + invoice historyreturned 4 rows1.9s · 240 tok
draftDrafted email with a card-update linktone matched to previous accepted message for this account3.2s · 1,410 tok
approveWaiting for human approval — finance policy over $1,000assigned to M. Rahman · Slack notification sentpaused 6m
resumeApproved by M. Rahman · resumed from the paused stepno work repeated, no tokens re-spent6m 04s
toolgmail.send · billing@acme.com → customermessage id 18f2a…6m 06s
scheduleScheduled follow-up check in 48 hourswill escalate to a human if the invoice is still open6m 06s
duration 6m 06stokens 4,912tool calls 3cost $0.041outcome invoice recovered
months
Maximum run length
not 15 minutes
4,912
Tokens this run
$0.041 · attributed to one customer
6m 04s
Paused for approval
resumed without re-spending
99.8%
Run success · 30 days
432 runs today
01Runtime

Bring your framework. Push once.

Deploy the agent you already wrote — or one you have not started yet. Darwa runs the process continuously instead of invoking a function and killing it.

OpenAI Agents SDK
python · node
LangGraph
python
CrewAI
python
AutoGen
python
Mastra
typescript
Pydantic AI
python
Custom Python
any library
Custom Node
any library
Long-running by design
Days, weeks, or monthsA monitoring agent stays resident. There is no execution ceiling to work around and no re-entry cost.
Automatic restartsA crashed agent restarts and reloads its memory. Runs in flight are replayed from their last completed step.
Streaming responsesToken streaming for chat surfaces, plus server-sent events for live status in your own UI.
VersioningDeploy a new version and open conversations finish on the old one. New conversations start on the latest.
Multi-regionRun agents close to the data they use, with automatic scaling per queue depth.
darwa.yaml
darwa.yaml
agent: invoice-recovery
runtime: python3.12
entry: agents/recovery.py

triggers:
  - webhook: stripe/invoice.payment_failed
  - schedule: "0 9 * * 1-5"

memory:
  long_term: true
  namespace: billing

approvals:
  - when: amount > 1000
    notify: slack#finance

tools: [stripe, gmail, postgres]
02Triggers

Agents that wake up on their own.

Events and schedules are part of the runtime. You do not stand up a queue, a cron container, and a webhook receiver to get an agent to start working.

Events
User signs up
Stripe payment
GitHub push
Inbound email
Database update
Webhook received
File uploaded
Agent runtimememory
retries
approvals
secrets
tracing
Outcomes
Tool calls with scoped credentials
Messages sent or drafted
Records written to your database
Files produced and stored
A human asked to approve
Another agent handed the task
A follow-up scheduled
Built-in scheduler
schedules · research-agent
every 5 minutes check monitored feeds
hourly refresh competitor prices
weekdays 07:00 summarise overnight news
monthly 1st compile the board report
No cron container, no scheduler to babysit

Missed windows are recorded rather than silently skipped, and a schedule that overlaps its own previous run either queues or is dropped — your choice, per schedule.

Human approval steps
approval · invoice #4821waiting
AGENTDrafted invoice and dunning email
RULEamount > $1,000 requires finance approval
HOLDPaused — assigned to M. Rahman via Slack
OKApproved · resumed from the paused step
Nothing recomputed, no tokens re-spent

Approvals are a first-class step: the run genuinely pauses, keeps its state, and continues where it stopped once a human decides.

03Memory

Four kinds of memory, none of which you have to build.

Most teams reimplement the same storage layer for every agent. Here it is part of the runtime, addressable from your code with one client.

Short-term
Working context per run

The current task, tool results, and intermediate reasoning — scoped to one execution and discarded when it ends.

Long-term
What the agent learned

Facts, preferences, and outcomes persisted across runs, retrievable by key or semantic search.

Conversation
Full message history

Every turn kept with its tool calls and token counts, replayable for debugging or audit.

Shared
One memory, many agents

A namespace several agents read and write, so a research agent's findings are available to the writer.

agents/recovery.py
from darwa import memory

# long-term, namespaced, survives restarts and versions
profile = memory.get("customer:cus_9F21")
memory.set("customer:cus_9F21", {**profile, "last_outcome": "recovered"})

# semantic recall across everything this agent has learned
similar = memory.search("payment failures resolved by card update", k=5)
04Tools & secrets

Connect once, scope tightly, never paste a key into code.

Credentials live in the platform, are injected at run time, and are granted per tool and per agent. An agent that only needs to read Postgres cannot write to it.

Connected tools
GmailSlackDiscordGitHubNotionStripePostgreSQLHTTP APIsS3 storageGoogle SheetsLinearTwilio
Permissions per agent
darwa tools · invoice-recovery-agent
READpostgres — invoices, customers (no writes)
SENDgmail — from billing@acme.com only
READstripe — payment methods, invoices
DENYstripe — refunds, payouts, customer delete
AUDITEvery call logged with arguments and result
Secrets
StorageEncrypted at rest, decrypted only inside the run
InjectionAvailable as environment values, never written to disk or logs
OAuth tokensRefreshed by the platform — your code never handles the refresh flow
RotationReplace a credential and every agent using it picks it up on the next run
RedactionValues matching a stored secret are masked in logs and traces
05Observability

CPU and memory tell you nothing about an agent.

What matters is what it decided, which tools it called, how long the model took, and what the run cost. That is what the dashboard shows.

Prompt latency · p95
1.9 s
model time only, excludes tool waits
Tokens · today
1.42 M
in 984 K · out 436 K
Cost · today
$8.43
projected $214 this month
Tool failures
6 of 1,204
5 Gmail rate limits, 1 timeout
Cost per conversation
$0.041
median · $0.19 at p95
Run success
99.8%
432 runs today, 1 escalated to a human
Cost dashboard
darwa ai-cost --today42% recoverable
gpt-5 $6.10 72% of spend
gpt-5-mini $1.44 21% of runs
embeddings $0.89 memory search
IDLE73% of calls are classification, not reasoning
SAVERoute those to gpt-5-mini — saves ~42% ($90/mo)
darwa ai-cost --apply routing
Every run, replayable
Execution timelineThe trace at the top of this page is the actual product view — every step, in order, with timings.
Tool call inspectionArguments, results, retries, and failures for each call, with secrets redacted.
Reasoning captureOptional and off by default. When enabled it is stored with the run rather than printed to logs.
Cost attributionPer run, per conversation, per customer — because a token bill you cannot attribute is a token bill you cannot control.
AlertsSpend thresholds, error-rate spikes, tool failures, and runs stuck waiting on approval.
06One-click AI apps

Deploy the tool, not the tutorial.

Each of these normally means a container, a database, a volume, a reverse proxy, certificates, and a backup job. Press one button and every piece is provisioned and wired together.

n8n

Self-hosted workflow automation with 400+ nodes.

worker · postgres · storage · https · backups
Deploy n8n
Flowise

Visual builder for LLM chains and agents.

app · postgres · storage · https
Deploy Flowise
Langflow

Drag-and-drop flow editor for LangChain.

app · postgres · https
Deploy Langflow
Open WebUI

Chat interface for local and hosted models.

app · postgres · storage · https
Deploy Open WebUI
Ollama

Run open models on your own GPU instance.

gpu instance · volume · private network
Deploy Ollama
AnythingLLM

Documents in, private RAG assistant out.

app · vector store · storage · https
Deploy AnythingLLM
LiteLLM

One API in front of every model provider.

proxy · postgres · key vault · https
Deploy LiteLLM
SupabaseSoon

Postgres, auth, and storage for your agents.

coming soon
Notify me
Managed HTTPS and a domainAutomatic backupsUpgrades without losing dataPrivate networking between pieces
07Agent templates

Start from a working agent, not an empty file.

Each template ships with its triggers, tools, memory namespace, and approval rules already declared — then it is yours to edit in your own repository.

Customer support agent

Reads your docs and past tickets, answers in your voice, escalates when confidence drops.

Sales agent

Qualifies inbound leads, enriches them, and books meetings on a real calendar.

Research agent

Runs on a schedule, gathers sources, cites them, and files a summary.

Content agent

Drafts from a brief, checks facts against your sources, waits for approval before publishing.

Coding agent

Opens pull requests against your repository, runs the test suite, reports what it changed.

Monitoring agent

Watches metrics and logs, investigates anomalies, pages a human with a cause.

08On the roadmap

Not shipped yet.

Listed so you can plan around it. Everything above works without any of this.

01Multi-agent orchestrationSoonA manager agent that delegates to research, writer, and reviewer agents, all deployed and versioned together.
02Durable executionSoonAn agent that crashes after four hours resumes from its last completed step — no lost work, no re-spent tokens.
03AI playgroundSoonBuild an agent, press run, and watch every step live before anything is deployed.
04Sandboxed code executionSoonPython, Bash, and JavaScript inside an isolated environment — for coding agents that need to actually run things.
05AI marketplaceSoonPublish agents, workflows, templates, and integrations; install someone else's with one click.
06Hallucination scoringSoonFlag answers unsupported by the retrieved sources, per conversation.
09Pricing

You pay for runtime. Model tokens stay at cost.

Agent hours are billed like any other always-on service. Model usage is passed through at provider price — Darwa makes money on the runtime, not on a markup you cannot see.

Free1 agent
$0

Enough to run a real scheduled agent and watch it work.

  • 1 agent, 100 runs/day
  • Shared CPU, 512 MB
  • Short-term + conversation memory
  • 3 connected tools
  • 7-day trace retention
  • Bring your own model key
Start free
Enterprise
Custom

For agents touching regulated or customer data.

  • Dedicated runtime and GPU options
  • Private networking + peering
  • SSO, audit logs, SOC 2
  • Data residency per region
  • Unlimited trace retention
  • Named engineer
Talk to us
Paused approval time is not billed as runtimeSpend alerts before you cross a thresholdOne-click apps priced as normal services
Get started

Deploy one agent and read its first trace.

Push the agent you already have, or start from a template. Memory, triggers, secrets, and cost tracking are already there.

Deploy an agentDeploy n8n instead