What is a digital twin?
A digital twin is a behavioral clone of a real service, including object relationships, handles edge cases, and realistic errors. If an agent creates a GitHub issue then searches for it, it’s there. If it sends a Slack message to a nonexistent channel, it gets the same error Slack would give. Each twin:- Implements the full MCP tool interface of the real service
- Is backed by an in-memory state engine with typed entity relationships
- Comes pre-loaded with seed scenarios (empty, small-team, enterprise, edge-case-heavy)
- Runs in hosted Archal cloud sessions
- Exposes MCP endpoints over HTTPS
Supported twins
These are currently supported in hosted sessions.| Twin | Description |
|---|---|
| GitHub | Repos, issues, PRs, branches, files, commits, workflows |
| Slack | Channels, messages, threads, reactions, users |
| Stripe | Customers, products, prices, payments, invoices, subscriptions, disputes |
| Ramp | Cards, funds, transactions, reimbursements, bills, approvals, travel |
| Jira | Issues, projects, boards, sprints, worklogs, versions |
| Linear | Issues, projects, teams, cycles, initiatives |
| Supabase | SQL, tables, migrations, extensions, edge functions, branches |
| Browser | Web page navigation, forms, screenshots, console |
Managing twins
archal run handles the hosted session lifecycle automatically:
- Creates a hosted session for the requested twins
- Runs your agent against hosted twin endpoints
- Finalizes evidence and tears down the session
Seeds
Each twin comes with pre-built seed states. Seeds are JSON files that define the initial state of the twin. For example, the GitHub twin includes seeds like:empty- blank repositorysmall-project- repo with a handful of issues and PRsenterprise-repo- large repo with complex branch structurestale-issues- repo with aging issues for triage scenariosmerge-conflict- repo with conflicting branches
--seed CLI flag.