Protocol · Security

Audits &
security reports.

t3rn smart contracts have been reviewed by independent security firms before every major deployment. Reports are published in full. All critical and high findings are resolved before code ships to mainnet.

Halborn

Published
2023
View report ↗
Scope

Smart contract security audit — EscrowOrder, OrderBook, BiddingBook, Guardian contracts

Full review of the t3rn smart-contract stack covering the escrow, bidding, and guardian contracts. All critical and high findings were resolved prior to mainnet deployment.

0
critical
0
high
3
medium
5
low

Spearbit / Cantina

Pending
2025
Report pending
Scope

LiquidityWellCompact, intent verification path, solver settlement — Arbitrum mainnet deployment

Comprehensive review of LiquidityWellCompact (v2), the pre-swap extension, and the on-chain intent verification path. Report publication pending final sign-off.

Responsible disclosure

Found something?

If you discover a security vulnerability in the t3rn protocol, contracts, or infrastructure, please report it privately to security@t3rn.io before any public disclosure. We review all reports and respond within 48 hours.

How a fill is verified

Audits cover the contracts. This covers each individual fill. Every cross-chain dispatch is reviewed against fourteen invariants before it is accepted — six on the routing itself, eight cryptographic. In live mode a failed layer rejects the fill rather than logging a warning.

Routing

L1IntentWell-formed: protocol, chains, amounts and recipient all present and coherent.
L2CatalogueThe fill contract is actually deployed on the destination chain.
L3CalldataABI selector valid, parameters non-zero.
L4GasEstimate within bounds and the gas price is positive.
L5FillConfirmed, or explicitly skipped — never silently failed.
L6Fee splitFee parts sum to the total, and each share is accounted for.

Proof

V1Header chainBlock headers form a valid hash chain with monotonic timestamps.
V2Event extractionThe fill event decodes from the receipt and matches the intent.
V3Inclusion proofMerkle-Patricia proof: the event leaf is in the block's receipts trie.
V4Twig proofThe block hash is committed in its twig.
V5MMR proofThe twig sits in the mountain range with a non-zero bagged peak.
V6Block finalityConsensus finality per chain — safe head, or a light client.
V7Cross verificationEvent → transaction → block → finality is one coherent chain.
V8SuperrootThe destination chain is indexed by the data-availability layer.

V8 is answered by the data-availability layer, not by the caller. A fill destined for a chain the DA layer has not indexed is rejected before funds move. If that layer cannot be reached, the check fails closed — an unverifiable fill is refused rather than assumed good.