Pre-release — The API surface may change. Unaudited.
Callcium LogoCallcium

What is Callcium

Programmable 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. Existing checks are hand-rolled in each contract, with no shared wire format that offchain tooling can evaluate.

Callcium encodes constraints on function arguments into a compact binary policy. The same policy is enforced onchain by Solidity contracts or offchain by the TypeScript SDK — one binary, two evaluators. Selectorless policies extend the same format 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.

Constraints can also target transaction context — caller address, call value, block timestamp, and more — without touching the function signature.

Pick an environment

The wire format is identical across environments — a policy built offchain enforces the same way as one built in Solidity. See the Specifications for the normative binary format.

On this page