Skip to main content

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.
Revolutionary Architecture: ArgusVM represents Paxeer’s path to becoming the first EVM L2 to transition into EVM-compatibility without EVM-dependency. We maintain full compatibility while building a fully self-sustainable ecosystem.

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.
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
Maintain compatibility while building independence:
  • Can execute EVM bytecode (via translation layer)
  • Supports existing Ethereum tooling
  • Seamless migration path for developers
  • Bridge compatibility maintained
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:
// General-purpose registers (256-bit)
r0-r31    : 32 general-purpose registers

// Special-purpose registers (64-bit)
pc        : Program counter
sp        : Stack pointer (for call frames)
fp        : Frame pointer (for local variables)
gas       : Remaining gas
status    : Status flags

Status Flags

64-bit status register with condition flags:
bit 0: ZERO      - Last operation result was zero
bit 1: CARRY     - Arithmetic carry occurred
bit 2: OVERFLOW  - Arithmetic overflow occurred
bit 3: HALT      - Execution halted
bit 4: REVERT    - Transaction should revert
bit 5-63: Reserved

Memory Model

ArgusVM uses a segmented memory model optimized for smart contracts:

Memory Layout

┌─────────────────────────┐ 0x00000000
│   Code Segment          │ (Read-only, contract bytecode)
│   (Max 24KB)            │
├─────────────────────────┤ 0x00006000
│   Data Segment          │ (Read/Write, initialized data)
│   (Max 8KB)             │
├─────────────────────────┤ 0x00008000
│   Stack                 │ (Read/Write, grows downward)
│   (Max 64KB)            │
├─────────────────────────┤ 0x00018000
│   Heap                  │ (Read/Write, dynamic allocation)
│   (Max 128KB)           │
└─────────────────────────┘ 0x00038000

Storage (Persistent State)

  • Key-value store: bytes32 → bytes32
  • Accessed via: SLOAD and SSTORE opcodes
  • 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 │  dst   │  src1  │  src2  │   immediate    │
│ 8-bit  │ 8-bit  │ 8-bit  │ 8-bit  │    32-bit      │
└────────┴────────┴────────┴────────┴────────────────┘

Opcode Categories

0x00  NOP                    - No operation
0x01  ADD   dst, src1, src2  - dst = src1 + src2
0x02  SUB   dst, src1, src2  - dst = src1 - src2
0x03  MUL   dst, src1, src2  - dst = src1 * src2
0x04  DIV   dst, src1, src2  - dst = src1 / src2 (unsigned)
0x05  SDIV  dst, src1, src2  - dst = src1 / src2 (signed)
0x06  MOD   dst, src1, src2  - dst = src1 % src2
0x07  EXP   dst, src1, src2  - dst = src1 ** src2
0x08  ADDMOD dst, src1, src2 - dst = (src1 + src2) % imm
0x09  MULMOD dst, src1, src2 - dst = (src1 * src2) % imm

Gas Model

Base Costs

OperationGas Cost
Arithmetic3 gas
Bitwise3 gas
Comparison3 gas
Memory load3 gas
Memory store3 gas
Storage load (cold)200 gas
Storage load (warm)100 gas
Storage store (cold)5000 gas
Storage store (warm)200 gas
Jump8 gas
Call100 gas + target gas
Create32000 gas
Log375 gas + 375 per topic + 8 per byte

Memory Expansion Cost

memory_cost = (memory_size_word ** 2) / 512 + (3 * memory_size_word)

Execution Model

Contract Execution Flow

1

Load Contract

Load contract bytecode from state
2

Initialize VM

pc = 0
gas = tx.gas_limit
registers = [0; 32]
memory = empty
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:
IDNameInputOutput
0ecrecoverhash, v, r, saddress
1sha256data, lenhash
2keccak256data, lenhash
3blake2bdata, lenhash
4verify_ed25519msg, sig, pubkeybool
5verify_secp256k1msg, sig, pubkeybool
6bls_verifymsg, sig, pubkeybool
7bls_aggregatesigs[], lenaggregated_sig
8modexpbase, exp, modresult
9bn256_addx1, y1, x2, y2x3, y3
10bn256_mulx, y, scalarx2, y2
11bn256_pairingpoints[], lenbool

Precompiled Contracts

Standard precompiles for common cryptographic operations:
AddressNamePurpose
0x01ECRecoverECDSA signature recovery
0x02SHA256SHA-256 hash
0x03RIPEMD160RIPEMD-160 hash
0x04IdentityData copy
0x05ModExpModular exponentiation
0x06BN256AddBN256 elliptic curve addition
0x07BN256MulBN256 elliptic curve multiplication
0x08BN256PairingBN256 pairing check
0x09Blake2FBlake2b F compression
0x0ABLS12VerifyBLS12-381 signature verification
0x0BBLS12AggregateBLS12-381 signature aggregation

Bytecode Format

File Structure

┌──────────────────────┐
│Magic Number (4 bytes)│ 0x41564D00 ("AVM\0")
├──────────────────────┤
│ Version (2 bytes)    │ 0x0001
├──────────────────────┤
│ Code Size (4 bytes)  │ Length of code section
├──────────────────────┤
│ Data Size (4 bytes)  │ Length of data section
├──────────────────────┤
│ Code Section         │ Executable instructions
│ (variable length)    │
├──────────────────────┤
│  Data Section        │ Initialized constants
│ (variable length)    │
├──────────────────────┤
│  Metadata Section    │ ABI, source map, etc.
│  (variable length)   │
└──────────────────────┘

Instruction Encoding Example

// Example: ADD r1, r2, r3
// Encoding: 0x01 0x01 0x02 0x03 0x00000000
┌────────┬────────┬────────┬────────┬────────────────┐
opcodedstsrc1src2immediate
0x010x010x020x030x00000000
└────────┴────────┴────────┴────────┴────────────────┘

Determinism Guarantees

Prohibited (Non-Deterministic)

The following are prohibited in ArgusVM contracts:
  • ❌ 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

MetricValue
Throughput10,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

FeatureArgusVMEVMWASM
ArchitectureRegisterStackStack
Word Size256-bit256-bit32/64-bit
Gas MeteringYesYesExternal
DeterministicYesYesDepends
PrecompilesYesYesNo
JIT SupportFutureNoYes
EVM CompatibleYesN/ANo
EVM DependentNoYesNo
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:
EVM bytecode can be translated to AVM bytecode:
  • Stack operations → Register operations
  • EVM opcodes → AVM opcodes
  • Gas costs normalized
  • Behavior preserved
Existing Ethereum tooling works with ArgusVM:
  • Hardhat, Foundry, Remix support
  • MetaMask and other wallets
  • Block explorers
  • Bridge protocols
Seamless migration for developers:
  1. Deploy existing Solidity contracts (via translation)
  2. Gradually migrate to OpenLang
  3. Optimize for ArgusVM architecture
  4. Leverage native performance benefits

OpenLang Integration

ArgusVM is designed to work with OpenLang, Paxeer’s Rust-inspired smart contract language:
// OpenLang example
contract MyToken {
    state balance: Map<address, u256>;
    
    pub fn transfer(to: address, amount: u256) -> bool {
        require(balance[msg.sender] >= amount, "insufficient balance");
        balance[msg.sender] -= amount;
        balance[to] += amount;
        return true;
    }
}

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

Conclusion

ArgusVM represents Paxeer Network’s commitment to building a fully self-sustainable ecosystem while maintaining EVM compatibility. By combining register-based architecture, 256-bit native arithmetic, and deterministic execution, ArgusVM provides the foundation for Paxeer to become the first EVM L2 to transition into EVM-compatibility without EVM-dependency.
Join the Revolution: Build on ArgusVM and be part of the future of blockchain execution environments. Start with OpenLang and OPAX-28 today!