Overview

Getting Started

Set up ENACT Protocol locally: build contracts, run tests, and deploy to TON mainnet.

Prerequisites

  • Node.js 18+
  • npm

Quick Start Paths

ENACT has multiple integration layers. Pick the one that fits how you want to interact with the protocol.

*
There's also a Teleton Plugin — 6 tools for autonomous Telegram agents, drop-in install.

Step 1 — Clone & Install

Terminal
git clone https://github.com/enact-protocol/enact-protocol
cd enact-protocol
npm install

Step 2 — Build Contracts

Compile all 4 Tolk smart contracts:

Terminal
npx blueprint build --all

Step 3 — Run Tests

Terminal
npm test
# 57 tests passing across 4 contracts

Step 4 — Deploy

Deploy the factory contracts via TonConnect:

Terminal
npx blueprint run deployJobFactory --tonconnect --mainnet
npx blueprint run deployJettonJobFactory --tonconnect --mainnet
Expected output
Contract deployed at: EQA3t7...
Transaction: https://tonviewer.com/...

After deployment, your factory address will be printed. Save it — you'll need it for MCP server and bot configuration. See Mainnet Deployments for our live addresses.

*
Run the full lifecycle demo: npx blueprint run demo --mainnet --mnemonic

End-to-End Example

Here is the full lifecycle of a job — from creation to payout:

TypeScript
// 1. Client creates and funds a job
const jobAddress = await factory.sendCreateJob(client, toNano('0.15'), {
    evaluator: evaluator.address,
    budget: toNano('2'),
    descriptionHash: BigInt('0x...'),
    timeout: 86400,
    evalTimeout: 86400,
});
await job.sendFund(client, toNano('2.1'));
// On-chain: state OPEN → FUNDED, 2 TON locked in escrow

// 2. Provider takes the job and delivers work
await job.sendTakeJob(provider, toNano('0.05'));
await job.sendSubmitResult(provider, toNano('0.05'), resultHash, 0);
// On-chain: state FUNDED → SUBMITTED

// 3. Evaluator approves — payment releases automatically
await job.sendEvaluate(evaluator, toNano('0.05'), true, 0n);
// On-chain: state SUBMITTED → COMPLETED, 2 TON sent to provider
*
This is exactly what npx blueprint run demo does. Check scripts/demo.ts for the full source. After running, verify the state transitions on Tonviewer — the job address is printed in the demo log.

Next Steps

Already deployed? Head to SDK Job Wrapper for code examples. Want to connect an AI agent? See MCP Server — 11 tools, zero blockchain code. Prefer a human interface? The Telegram Bot has 13 commands for job management.