Overview
ArgusVM (AVM) is Paxeer Network’s native register-based virtual machine designed for high-performance smart contract execution. Built from the ground up for blockchain applications, ArgusVM provides 256-bit native arithmetic, deterministic gas metering, and superior performance compared to stack-based architectures.Register-Based
Faster execution than stack-based VMs (no push/pop overhead)
256-bit Native
First-class support for cryptographic operations
EVM Compatible
Compatible with EVM but not dependent on it
Why ArgusVM?
The Path to Independence
Paxeer Network is pioneering a new approach: EVM-compatible but EVM-independent. While we maintain full compatibility with existing Ethereum tooling and contracts, we’re building our own execution environment that doesn’t rely on EVM infrastructure.Self-Sustainable Ecosystem
Self-Sustainable Ecosystem
ArgusVM enables Paxeer to operate independently:
- Native execution environment
- Custom gas model optimized for our architecture
- Register-based design for better performance
- Full control over VM evolution
EVM Compatibility
EVM Compatibility
Maintain compatibility while building independence:
- Can execute EVM bytecode (via translation layer)
- Supports existing Ethereum tooling
- Seamless migration path for developers
- Bridge compatibility maintained
Performance Benefits
Performance Benefits
Register-based architecture advantages:
- 10,000+ TPS per core (vs ~15 TPS for EVM)
- <1ms latency for simple calls
- No stack manipulation overhead
- Better register allocation for compilers
Architecture
Register Set
ArgusVM uses 32 general-purpose 256-bit registers plus special-purpose registers:Status Flags
64-bit status register with condition flags:Memory Model
ArgusVM uses a segmented memory model optimized for smart contracts:Memory Layout
Storage (Persistent State)
- Key-value store:
bytes32 → bytes32 - Accessed via:
SLOADandSSTOREopcodes - Gas costs:
SLOAD: 200 gas (cold), 100 gas (warm)SSTORE: 5000 gas (cold), 200 gas (warm)
Instruction Set Architecture (ISA)
Instruction Format
Fixed-width 64-bit instructions:Opcode Categories
- Arithmetic
- Bitwise
- Comparison
- Memory
- Storage
- Control Flow
- Blockchain Context
- External Calls
Gas Model
Base Costs
| Operation | Gas Cost |
|---|---|
| Arithmetic | 3 gas |
| Bitwise | 3 gas |
| Comparison | 3 gas |
| Memory load | 3 gas |
| Memory store | 3 gas |
| Storage load (cold) | 200 gas |
| Storage load (warm) | 100 gas |
| Storage store (cold) | 5000 gas |
| Storage store (warm) | 200 gas |
| Jump | 8 gas |
| Call | 100 gas + target gas |
| Create | 32000 gas |
| Log | 375 gas + 375 per topic + 8 per byte |
Memory Expansion Cost
Execution Model
Contract Execution Flow
1
Load Contract
Load contract bytecode from state
2
Initialize VM
3
Execute Instructions
Execute until HALT/REVERT/OUT_OF_GAS
4
Return Result
Return result + remaining gas + state changes
Call Stack
- Max depth: 1024 calls
- Each frame stores:
- Return address (pc)
- Saved registers (r0-r31)
- Local variables
- Gas limit for this call
Syscall Interface
ArgusVM provides a syscall interface for cryptographic operations:| ID | Name | Input | Output |
|---|---|---|---|
| 0 | ecrecover | hash, v, r, s | address |
| 1 | sha256 | data, len | hash |
| 2 | keccak256 | data, len | hash |
| 3 | blake2b | data, len | hash |
| 4 | verify_ed25519 | msg, sig, pubkey | bool |
| 5 | verify_secp256k1 | msg, sig, pubkey | bool |
| 6 | bls_verify | msg, sig, pubkey | bool |
| 7 | bls_aggregate | sigs[], len | aggregated_sig |
| 8 | modexp | base, exp, mod | result |
| 9 | bn256_add | x1, y1, x2, y2 | x3, y3 |
| 10 | bn256_mul | x, y, scalar | x2, y2 |
| 11 | bn256_pairing | points[], len | bool |
Precompiled Contracts
Standard precompiles for common cryptographic operations:| Address | Name | Purpose |
|---|---|---|
| 0x01 | ECRecover | ECDSA signature recovery |
| 0x02 | SHA256 | SHA-256 hash |
| 0x03 | RIPEMD160 | RIPEMD-160 hash |
| 0x04 | Identity | Data copy |
| 0x05 | ModExp | Modular exponentiation |
| 0x06 | BN256Add | BN256 elliptic curve addition |
| 0x07 | BN256Mul | BN256 elliptic curve multiplication |
| 0x08 | BN256Pairing | BN256 pairing check |
| 0x09 | Blake2F | Blake2b F compression |
| 0x0A | BLS12Verify | BLS12-381 signature verification |
| 0x0B | BLS12Aggregate | BLS12-381 signature aggregation |
Bytecode Format
File Structure
Instruction Encoding Example
Determinism Guarantees
Prohibited (Non-Deterministic)
- ❌ System time (use
block.timestamp) - ❌ Random numbers (use
block.hash + nonce) - ❌ Floating point (use fixed-point arithmetic)
- ❌ Hash map iteration order (use sorted keys)
- ❌ External I/O (only syscalls allowed)
Enforced Determinism
- ✅ All arithmetic is 256-bit integer (no floats)
- ✅ Division by zero returns 0 (no exceptions)
- ✅ Out-of-bounds memory access reverts
- ✅ All randomness from blockchain state
- ✅ Fixed gas costs per operation
Security Features
Sandboxing
- No file system access
- No network access
- No system calls except whitelisted syscalls
- Memory isolation between contracts
Gas Limits
- Prevents infinite loops
- Prevents DoS attacks
- Ensures bounded execution time
Reentrancy Protection
- Call depth limit: 1024
- State changes committed only on success
- Revert cascades up call stack
Overflow Protection
- Built-in overflow checks
- Safe arithmetic by default
- No need for SafeMath library
Performance Characteristics
Expected Performance
| Metric | Value |
|---|---|
| Throughput | 10,000+ simple transactions/sec per core |
| Latency | <1ms per simple contract call |
| Memory | <100MB per VM instance |
| Startup | <10ms to initialize VM |
Optimization Strategies
- JIT compilation for hot paths (future)
- Register allocation optimization
- Instruction fusion (combine common patterns)
- Lazy memory allocation
Comparison to Other VMs
| Feature | ArgusVM | EVM | WASM |
|---|---|---|---|
| Architecture | Register | Stack | Stack |
| Word Size | 256-bit | 256-bit | 32/64-bit |
| Gas Metering | Yes | Yes | External |
| Deterministic | Yes | Yes | Depends |
| Precompiles | Yes | Yes | No |
| JIT Support | Future | No | Yes |
| EVM Compatible | Yes | N/A | No |
| EVM Dependent | No | Yes | No |
Key Differentiator: ArgusVM is the only VM that is EVM-compatible but not EVM-dependent, enabling full ecosystem independence.
EVM Compatibility Layer
While ArgusVM is independent, we maintain full EVM compatibility through a translation layer:Bytecode Translation
Bytecode Translation
EVM bytecode can be translated to AVM bytecode:
- Stack operations → Register operations
- EVM opcodes → AVM opcodes
- Gas costs normalized
- Behavior preserved
Tooling Support
Tooling Support
Existing Ethereum tooling works with ArgusVM:
- Hardhat, Foundry, Remix support
- MetaMask and other wallets
- Block explorers
- Bridge protocols
Migration Path
Migration Path
Seamless migration for developers:
- Deploy existing Solidity contracts (via translation)
- Gradually migrate to OpenLang
- Optimize for ArgusVM architecture
- Leverage native performance benefits
OpenLang Integration
ArgusVM is designed to work with OpenLang, Paxeer’s Rust-inspired smart contract language:OpenLang → ArgusVM Compilation
OpenLang compiles directly to ArgusVM bytecode:
- Rust-inspired syntax
- Type safety
- Built-in overflow protection
- Optimized register allocation
Roadmap
1
Phase 1: Core Implementation
- VM core in Go
- Bytecode assembler
- Test suite
2
Phase 2: Language & Tooling
- OpenLang compiler
- OpenLang → AVM compiler
- Development tools
3
Phase 3: EVM Translation
- EVM → AVM bytecode translator
- Compatibility testing
- Migration tools
4
Phase 4: Optimization
- JIT compilation
- Performance tuning
- Production deployment
Resources
OpenLang Documentation
Learn OpenLang syntax
OPAX-28 Token Standard
Native token standard for ArgusVM
Smart Contracts
Deploy contracts on Paxeer
API Reference
RPC and API documentation