It looks like the code you already write.
No Solidity. No Rust. No new paradigms. Asentum smart contracts are JavaScript classes with familiar patterns — constructors, methods, state, and async operations.
export default class Token {
constructor() {
this.name = "MyToken";
this.symbol = "MTK";
this.totalSupply = 1000000;
this.balances = {};
}
mint(to, amount) {
this.balances[to] = (this.balances[to] || 0) + amount;
this.totalSupply += amount;
return { success: true, balance: this.balances[to] };
}
transfer(from, to, amount) {
if ((this.balances[from] || 0) < amount) {
throw new Error("Insufficient balance");
}
this.balances[from] -= amount;
this.balances[to] = (this.balances[to] || 0) + amount;
return { success: true };
}
balanceOf(address) {
return this.balances[address] || 0;
}
}Three steps. That's it.
Write
JavaScriptWrite your smart contract as a JavaScript class. Use ES modules, async/await, and every pattern you already know.
Test
Browser PlaygroundOpen the browser IDE, paste your contract, and test it live. No CLI, no local setup, no dependencies.
Deploy
asentum deployOne command deploys to testnet or mainnet. Or click deploy in the browser playground. Your contract is live in seconds.
Everything you need. Nothing you don't.
Node.js SDK
Full-featured SDK for building dApps, querying state, and submitting transactions.
CLI Tools
Create, test, and deploy contracts from the command line. Familiar npm-style workflow.
JSON-RPC API
Ethereum-compatible JSON-RPC interface. Use ethers.js, viem, web3.js, and every existing Web3 tool without changes.
Browser Playground
Monaco-powered IDE with debugging, state inspection, templates, and one-click deploy.
EVM Wallet Support
MetaMask, Rainbow, and every EVM wallet work natively. Same addresses, same signatures, zero migration.