Skip to content

Getting Started

EVMcrispr is a DSL for encoding and executing batched EVM transactions. You can use it in the web terminal or programmatically.

Visit evmcrispr.com to open the web terminal. Connect your wallet, write a script, and click Execute.

A simple script that transfers tokens:

# Transfer 100 DAI to an address
exec @token(DAI) "transfer(address,uint256)" 0x1234...abcd @token.amount(DAI 100)

Breaking this down:

  • exec — the command that calls a contract function
  • @token(DAI) — resolves the DAI token symbol to its contract address
  • "transfer(address,uint256)" — the function signature
  • 0x1234...abcd — the recipient address
  • @token.amount(DAI 100) — converts 100 DAI to base units (100 * 10^18)

Use @get to read data from contracts:

# Check your DAI balance
set $balance @get(@token(DAI) "balanceOf(address)(uint256)" @me)
print "Balance:" $balance

Wrap multiple commands in batch to execute them as a single transaction:

batch (
exec @token(DAI) "approve(address,uint256)" 0xRouter... @token.amount(DAI 1000)
exec 0xRouter... "swap(address,uint256)" @token(DAI) @token.amount(DAI 1000)
)
set $router 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
set $amount @token.amount(DAI 100)
exec @token(DAI) "approve(address,uint256)" $router $amount
exec $router "swapExactTokensForTokens(uint256,uint256,address[],address,uint256)" $amount 0 [@token(DAI) @token(WETH)] @me @date("2025-12-31")

Test your scripts without spending gas by loading the sim module:

load sim
sim:fork 1 (
sim:set-balance @me 100e18
exec @token(DAI) "transfer(address,uint256)" 0x1234...abcd @token.amount(DAI 50)
sim:expect @bool(@get(@token(DAI) "balanceOf(address)(uint256)" 0x1234...abcd) > 0)
)
load aragonos
aragonos:connect my-dao.aragonid.eth (
aragonos:grant @me voting CREATE_VOTES_ROLE
aragonos:install $agent agent:new
)

The std module is always available. Load others as needed:

load aragonos # Aragon DAO operations
load sim # Chain simulation
load ens # ENS domains
load giveth # Giveth protocol
load http # HTTP + JSON