Getting Started
EVMcrispr is a DSL for encoding and executing batched EVM transactions. You can use it in the web terminal or programmatically.
Web Terminal
Section titled “Web Terminal”Visit evmcrispr.com to open the web terminal. Connect your wallet, write a script, and click Execute.
Your First Script
Section titled “Your First Script”A simple script that transfers tokens:
# Transfer 100 DAI to an addressexec @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 signature0x1234...abcd— the recipient address@token.amount(DAI 100)— converts 100 DAI to base units (100 * 10^18)
Reading Contract State
Section titled “Reading Contract State”Use @get to read data from contracts:
# Check your DAI balanceset $balance @get(@token(DAI) "balanceOf(address)(uint256)" @me)print "Balance:" $balanceBatching Transactions
Section titled “Batching Transactions”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))Working with Variables
Section titled “Working with Variables”set $router 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488Dset $amount @token.amount(DAI 100)
exec @token(DAI) "approve(address,uint256)" $router $amountexec $router "swapExactTokensForTokens(uint256,uint256,address[],address,uint256)" $amount 0 [@token(DAI) @token(WETH)] @me @date("2025-12-31")Simulation
Section titled “Simulation”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))Working with Aragon DAOs
Section titled “Working with Aragon DAOs”load aragonos
aragonos:connect my-dao.aragonid.eth ( aragonos:grant @me voting CREATE_VOTES_ROLE aragonos:install $agent agent:new)Loading Modules
Section titled “Loading Modules”The std module is always available. Load others as needed:
load aragonos # Aragon DAO operationsload sim # Chain simulationload ens # ENS domainsload giveth # Giveth protocolload http # HTTP + JSONNext Steps
Section titled “Next Steps”- Language Basics — full syntax reference
- Module Reference — all commands and helpers