Build On-Chain Automation
with One SDK
Describe transactions as data, set a trigger, and let Ditto's decentralized network execute across chains. TypeScript-native, non-custodial, powered by smart sessions.
How it works
A workflow is data: triggers plus jobs of contract-call steps. The SDK uploads it to IPFS, registers a single CID on-chain, and Ditto's operator network executes every run — signed once via smart sessions, verified with economic guarantees.
- Three trigger types — cron, event & on-chain state
- Multi-chain jobs — Ethereum, Base, Arbitrum, Polygon, Optimism
- Non-custodial smart sessions — scoped & revocable
From intent to execution in a few lines
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const owner = privateKeyToAccount(process.env.PRIVATE_KEY);
const workflow = WorkflowBuilder
.create(addressToEmptyAccount(owner.address))
.setCount(10)
.addCronTrigger('0 9 * * *') // daily, 09:00 UTC
.addJob(
JobBuilder.create('daily-usdc-transfer')
.setChainId(ChainId.BASE)
.addStep({
target: USDC,
abi: 'transfer(address,uint256)',
args: [recipient, 100_000_000n],
})
.build(),
)
.build();
await submitWorkflow(workflow, getDittoExecutorAddress(), storage, owner);
Why developers build on Ditto
-
Declarative by design
Describe what should run — triggers, jobs, steps — and skip the keeper scripts.
-
Three trigger types
Cron schedules, on-chain events, and view-function conditions out of the box.
-
Multi-chain jobs
One workflow can batch steps across Ethereum, Base, Arbitrum, Polygon, and Optimism.
-
Smart sessions built in
Session keys let you sign once and execute many — scoped and revocable.
-
Verifiable execution
Simulate before deploying; every run is verifiable with economic guarantees.
-
Restaking-secured
EigenLayer and Symbiotic-backed operators with slashing keep executions honest.
-
Open source
SDK and tooling on GitHub — TypeScript-native with examples and recipes.
Key Features
Agents are first-class citizens
The SDK ships a machine-readable skill so AI agents can build and deploy workflows from natural-language intent — bounded by the same session keys and policies as human developers.
Explore AI Agents Backend- LLM-ready recipes for create, deploy & cancel
- Session-key guardrails cap what agents can do
- Works with any model or agent framework
Start building on Ditto
Ship your first automated workflow today — the SDK, docs, and examples are ready.
Get the SDKPrefer email?
[email protected]
Questions about the SDK, smart sessions, or AI-agent integrations? We're happy to help.
Developer FAQ
Read the Docs-
How do I install the SDK?
npm install @ditto/workflow-sdk — TypeScript-native and open source on GitHub.
-
Which chains are supported?
Ethereum, Base, Arbitrum, Polygon, and Optimism in production, plus Sepolia and Base Sepolia for testing.
-
How does execution work?
Workflows are stored on IPFS and registered on-chain; Ditto's decentralized operators evaluate triggers and execute steps with economic guarantees.
-
Do I give up custody?
No. Smart sessions grant scoped, revocable permissions — the network can only do what your workflow allows.
-
Can AI agents use it?
Yes — the SDK ships an AI-agent skill with structured recipes, so LLMs can author and deploy workflows safely.
-
Where do I start?
Grab the SDK on GitHub, read the docs, and deploy your first cron-triggered workflow on a testnet in minutes.
Explore what can be built with Ditto.
What will you automate next?