Enforce policy
before every signature.
Act across any chain or API.
Lit lets teams run authorization logic, compliance checks, and asset controls inside a chain-secured TEE before any key signs. Build cross-chain apps and agent workflows without trusting a backend, custodian, or multisig.
One policy file. Checks, decides, signs.
A Lit Action is JavaScript that runs inside the network's TEE. Use it to verify conditions, enforce policy, and produce signatures only when your rules pass. Deploy once, bind signing authority to code, and govern upgrades on-chain.
// Inside a Lit Action — policy enforcement in a chain-secured TEE
// Verify off-chain risk and compliance signals
const sanctions = await fetch(SANCTIONS_API + "/" + recipient).then(r => r.json());
const risk = await fetch(RISK_API + "/" + recipient).then(r => r.json());
// Verify on-chain state
const provider = new ethers.providers.JsonRpcProvider(BASE_RPC);
const vault = new ethers.Contract(vaultAddress, vaultAbi, provider);
const role = await vault.roles(sender);
const dailySpent = await vault.dailySpent(sender);
// Decide, then sign only if policy passes
if (!sanctions.blocked && risk.score < threshold && role.canTransfer) {
if (dailySpent.add(amount).gt(role.dailyLimit)) throw new Error("over limit");
const pk = await Lit.Actions.getLitActionPrivateKey();
const wallet = new ethers.Wallet(pk, provider);
const tx = await vault.connect(wallet).transfer(recipient, amount);
Lit.Actions.setResponse({ response: tx.hash });
} else {
Lit.Actions.setResponse({ response: "policy_denied" });
}Backend speed. Verifiable controls.
Enclave-secured execution.
Most automation forces a tradeoff: trust a backend operator, rely on a multisig, or wait for slow consensus on every decision. Lit takes a different path. Policy code runs inside a TEE — an enclave the hardware itself cryptographically attests to. Keys never leave. Operators can't inspect secrets.
The TEE's identity, its allowed code, and its signing authority are all governed on-chain. Teams can enforce security, compliance, and governance rules at runtime while keeping the latency and flexibility of programmable infrastructure.
Policy before every signature.
Fast enough for production.
Security and policy patterns shipping today.
Check. Enforce. Sign.
Anywhere.
One programmable policy layer for everything that must happen before a key signs.

