Mist Contracts
Mist is Rivellum's contract language. Contracts written in Mist produce PVI (Proof-Verified Invocation) graphs — typed DAGs of value operations that are verified by the UVL (Universal Value Ledger) engine before settlement.
How Mist Differs
Traditional smart contracts mutate state directly. Mist contracts produce a value graph that the UVL engine validates against 10 invariants before any state change occurs. An 8-layer Mist Conservation Engine (MCE) additionally verifies value safety at compile time — through linear types, value lineage graphs, symbolic amounts, and runtime assertion injection.
Mist Source → Value IR → MCE Conservation → PVI Graph → UVL Verification → State Settlement
Contract Structure
contract Counter
function increment(value: Int) -> Int
return value + 1
Deployment
Contracts are deployed via the Mist deploy endpoint:
# Deploy a Mist contract
curl -X POST https://rpc.rivellum.network/v1/mist/deploy \
-H 'Content-Type: application/json' \
-d '{"bytecode": "...", "sender": "0x..."}'
Calling Contracts
# Call a deployed contract
curl -X POST https://rpc.rivellum.network/v1/mist/call/<contract_id> \
-H 'Content-Type: application/json' \
-d '{"function": "increment", "args": [42]}'
Execution Receipts
Every Mist execution produces an ExecutionReceipt:
# List recent receipts
curl https://rpc.rivellum.network/v1/mist/receipts
# Get specific receipt
curl https://rpc.rivellum.network/v1/mist/receipts/<receipt_id>
# View PVI graph for a receipt
curl https://rpc.rivellum.network/v1/mist/pvi/<receipt_id>
# Replay inputs for a receipt
curl -X POST https://rpc.rivellum.network/v1/mist/replay_inputs \
-d '{"receipt_id": "..."}'
Move VM (Internal Runtime)
Under the hood, Rivellum uses the Move VM as its execution runtime. This is not a deployable contract language — developers write Mist contracts exclusively. The Move VM provides:
- Gas metering: Bounded execution cost for all operations
- Resource safety: Linear types prevent double-spending
- Framework modules: Core system modules (storage, auth, events, crypto) at address
0x1
Note: The
/move/*endpoints are reserved for system operations and are not available to user addresses.
Prefab Contracts
Rivellum provides prefab contracts for common operations (transfers, NFT minting, collections). These are pre-deployed and available immediately:
# List available prefabs
curl https://rpc.rivellum.network/prefabs
# Get prefab manifest
curl https://rpc.rivellum.network/prefabs/manifest
# Get specific prefab
curl https://rpc.rivellum.network/prefabs/<id>
For getting started with development, see Getting Started.