Deploy Trustless Applications

Written in

What is Execution Machine (EXM)?

Serverless Functions

On The Blockchain

No Tokens or Wallets Involved

EXM enables teams to build performant and trustless applications and remove friction in the development process without needing blockchain expertise.

Why Execution Machine?

Web3

Without Friction

You Build, We Scale

Deploy an application at the click of a button β€” that can scale autonomously with their own set of resources.

Ship in Seconds, Not Hours

With < 5 Lines of Code

Deploy

Rapidly deploy applications in a few seconds.

Push

Interact with your applications in a single API call.

Pull

Fetch the latest version of your application at the lowest latency.

index.js

1

2

3

4

5

6

7

8

9

10

11

12

13

14

import { Exm, ContractType } from "@execution-machine/sdk";
import { readFileSync } from "fs";
const exm = new Exm({ token: "MY_API_TOKEN" });
// Get Source Code
const appSourceCode: Uint8Array = readFileSync('counter-app.js');
// Initial State of our trustless application
const initialState = { counter: 0 };
// Deploy
exm.functions.deploy(appSourceCode, initialState, ContractType.JS);

Trustless and Verifiable

Powered by 3EM

Execution Machine is powered by 3EM: a supercharged execution environment for Arweave. Leverage 3EM to evaluate your functions without relying on EXM.

Accelerate Development

Build with the Execution Machine

It only takes a single command to deploy and use a free and trustless application. EXM is inspired by an obsession with the developer experience and removing friction from the application deployment process.

Install the CLI in 1 command

npm install -g @execution-machine/cli

➜ ~ exm link xFiefmCbuewofe431jPmceuh3d8rzfdsghif

API key linkedπŸŽ‰

➜ ~ cat index.js

export async function handle(state, action) { state.counter++; return state; }

➜ ~ exm function:deploy --src index.js --init-state "{"counter": 1}" --token MY_EXM_TOKEN


Application deployed πŸŽ‰

EXM Function ID: N1oCWtDAzbItQTNF5l0UrcxT3PmAaH4wDXLqkvp0vRO
EXM Function: https://arweave.net/N1oCWtDAzbItQTNF5l0UrcxT3PmAaH4wDXLqkvp0vRO

➜ MyExmProject git:(main) exm --help

exm <command> [options]

Commands
exm link <string> [options] Links your exm API key
exm function:write [options] Executes a write operation to an application
exm function:deploy [options] Deploy a EXM compatible function to Arweave.
exm function:read [options] Reads the state of an application in EXM

➜ MyExmProject git:(main)