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.

VERIFY
On-chain state · APIs · identities · risk data
DECIDE
Policy logic in a chain-secured TEE
AUTHORIZE
Signatures · decryptions · API actions
What it looks like

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.

policy-gated-transfer.action.ts
// 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" });
}
Why TEE, not consensus

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.

The properties

Policy before every signature.
Fast enough for production.

Policy
Custom checks before signing
Attestation
TEE identity and code hash verifiable
Key safety
Keys never leave the network
Surface
Any HTTP, any chain, any API

Check. Enforce. Sign.
Anywhere.

One programmable policy layer for everything that must happen before a key signs.