What is Callcium
On-chain policy engine for ABI-encoded data.
ABI-encoded calldata is opaque at the contract boundary. Contracts that delegate, proxy, or relay calls have no standard way to constrain what those calls contain. Validation logic is typically baked into the contract and can't be updated without redeployment.
Define constraints on function arguments in Solidity. Callcium encodes them into a compact binary policy for on-chain enforcement. Policies are updatable without redeploying the contract. Designed for calldata validation. Selectorless policies extend it to any ABI-encoded data.
How it works
A policy targets a function signature. Each constraint targets an argument by position and applies an operator — equality, range, set membership, bitmask, and more. Constraints within a group AND together. Multiple groups OR together, allowing flexible permission models.
Policies are built with a fluent Solidity API, validated at build time for type mismatches and contradictions, stored on-chain as compact bytecode, and enforced against calldata at runtime.
Constraints can also target transaction context — caller address, call value, block timestamp, and more — without touching the function signature.