Skip to main content

What is a digital twin?

A digital twin is a stateful clone of a real service. It keeps track of objects, relationships, and constraints the same way the real service does. Each twin:
  • Implements the service-appropriate MCP and/or REST surface
  • Runs an in-memory state engine with typed entity relationships
  • Starts from a built-in seed or auto-generated state
  • Exposes the service-appropriate hosted endpoints over HTTPS
  • Runs on hosted infrastructure

Available twins

TwinWhat it coversDetails
GitHubRepos, issues, PRs, branches, files, commits, actions, releases, code scanningHundreds of REST + MCP endpoints
DiscordGuilds, channels, messages, reactions, threads, webhooks, commands, interaction responsesREST-first bot workflows
SlackChannels, messages, threads, reactions, users, files, admin, apps platformFull Web API surface
StripeCustomers, products, prices, payments, invoices, subscriptions, disputes, connectCore billing and payments
JiraIssues, projects, boards, sprints, fields, workflows, service desk, automationCloud REST API v3
LinearIssues, projects, teams, cycles, initiatives, roadmaps, labels, viewsGraphQL API
SupabaseSQL queries, tables, migrations, extensions, edge functions, branchesPostgREST + Management API
Google WorkspaceGmail, Calendar, Drive, Sheets, ContactsGoogle APIs
RampCards, funds, transactions, reimbursements, bills, approvals, travelRamp API
Need something else? Email us.

Three ways to use twins

WorkflowWhen to use it
archal runRun a scenario or task against twins, get a satisfaction score
archal twinStart persistent twins for debugging or manual integration work
archal/vitestUse supported hosted twins inside your existing Vitest test suite. Route mode currently supports Discord, GitHub, Google Workspace, Jira, Slack, Stripe, and Supabase
The underlying twin runtime is the same in all three cases.

Session lifecycle

archal run handles sessions automatically: start twins, run your agent, tear down. archal twin start gives you a persistent session that stays alive for 30 minutes of inactivity. You can extend it with archal twin renew or tear it down with archal twin stop.

Seeds

Twins start from a seed, which is a predefined initial state. Each twin has built-in seeds for common configurations (e.g. github:small-project, github:enterprise-repo). You can also describe the state you want in plain English in a scenario’s ## Setup section, and Archal generates the seed dynamically. See the seeds guide for the full list of built-in seeds and how to use them.