Operator
Making systems secure from the ground up
OKcontract Labs advances research in verifiable interfaces, transaction security, and resilient software.
- We make critical operations inspectable and enforceable even when an interface, backend, or administrator fails.
- Our long-term view is that blockchains can become a fortified execution layer for onchain actions first, and eventually for critical operations across the internet.
Chainwall
Execute only the actions you approve.
Treasury, protocol, vault, and smart-account teams define who can act, which contracts and assets they can use, and what approval each action requires. Chainwall stores those settings in contracts and reads the current state again at execution.
Smart contracts require the submitted function, arguments, value, deadline, operator, and account to match the approved action before a protected account calls the protocol. Cells powers the console's live application state, LambdaScript provides typed formulas and programs, and MiniScript defines the onchain workflows that Chainwall executes.
Explore ChainwallScroll to explore the diagram →
Static app
The console builds the request locally
A static browser app can read contract state and prepare calls without a backend deciding what the team has approved.SDK or bot
Let approved automation propose or run actions
Scripts and bots can propose or execute actions under the same onchain registry, policies, and protected accounts as human operators.Approved catalog
Define precisely what is allowed
Create trusted, programmable onchain action templates for protocol calls, transfers, governance actions, and vault operations.Live approval rule
Chainwall checks who approved this exact action
Current group membership and thresholds must satisfy the approval rule tied to the submitted operation.Allowed calls
Resolve only allowlisted contracts
A reusable workflow verifies if contracts are allowlisted in the registry and rejects a missing or substituted destination.Protected account
Block paths that skip the checks
A guarded Safe or purpose-built Chainwall smart account accepts the approved execution path and rejects unsupported direct calls.Approved destination
The protocol call finally runs
Execution reaches the approved target only after the operation, current rules, workflow, and account path agree.oksolc
Get the same compiler output faster.
oksolc compiles Solidity in Zig with byte-for-byte compatible solc output, using parallel compilation and cached work to shorten the wait after each edit.
Uniswap V4
Full compilation
5.3×faster
- solc · serial
- 59.02 s
- oksolc · 4 jobs
- 11.18 s
Seconds · lower is better
Pendle V2
Recompile after a small edit
27.6×faster
- solc · serial
- 38.89 s
- oksolc · 4 jobs
- 1.41 s
Seconds · lower is better
Chainwall
Full compilation
5.1×faster
- solc · serial
- 709.84 s
- oksolc · 4 jobs
- 138.42 s
Seconds · lower is better
Put your CPU cores to work
Compiling independent contracts in parallel with four jobs brought full builds of both Uniswap V4 and Pendle V2 to more than five times the speed of serial solc in our benchmarks.
Reuse work after every edit
Incremental compilation keeps earlier compiler work available, with SQLite backing the persistent cache. A small change to Chainwall recompiled in 17.2 seconds with four jobs.
Explore as you build
Use oksolc with Foundry, watch sources as you edit, and browse definitions, diagnostics, and bytecode locally. The Zig codebase opens room for experiments in compiler features and language design.
The GPLv3 project builds on the work of Solidity contributors and our team's experience in compilers and formal verification.
Cells
Model async state as a graph.
Cells is the 10 kB TypeScript dataflow runtime behind our products, starting with Chainwall. A Sheet connects writable and computed values, waits for promises, propagates errors, ignores obsolete results, and follows dependencies that change at runtime.
Change either value.
Cells waits 620 ms after typing stops, then resolves the sum after 240 ms. The last stable result remains readable while the next one runs.
Published after the graph settled
debouncer(620) → delayed(a + b, 240)LambdaScript
Turn a formula into a live, typed part of your application.
LambdaScript is the core language for customizing Chainwall policies and interactions. It compiles formulas written by users or loaded from configuration into Cells, so each result stays connected to every input that can change.
Compiling the expression into Cells…
Start with the call that must be allowed
A security claim is useful when another team can inspect the rule, reproduce the test, and see what remains outside the check.
- 01
Write down the exact call.
Name the contract, function, arguments, value, account, deadline, and the person or program allowed to request it.
- 02
Put the decisive check near execution.
Use deterministic code or a smart contract so an interface, backend, or operator cannot replace the approved call before it runs.
- 03
Publish what passed and what remains.
Publish tests, assumptions, known failures, and every person, service, contract, and dependency that users must still trust.
Trace security failures to the code.
Explore the causes of incidents alongside engineering notes on what we built, how it behaves, and where its guarantees stop.
NVIDIA Inception
Protocol Labs
LongHash Ventures
Sparkle Ventures
Optimism
Starknet
Compound
NVIDIA Inception
Protocol Labs
LongHash Ventures
Sparkle Ventures
Optimism
Starknet
Compound