Actually Smart Contractsalpha
Standard · ETC v1.0 Draft

Ethical Treasury Conduct

Twelve things an on-chain treasury must never do: DAO treasuries, exchange hot wallets, protocol reserves and company wallets run by smart contracts.

Certify a repo against ETCRead ETC.mdTry in sandbox

GitHub publication is waiting on Rex. This link serves the Markdown file in the repo.

Badge a passing repository earns example badge
+------------------------------------------+
|   ___________       ASC  ETC   v1.0      |
|  |  _______  |      ETHICAL TREASURY     |
|  | | (@)   | |      CONDUCT              |
|  | |_______| |                           |
|  |___________|      PASS  12/12          |
|  your-org/repo@a1b2c3d                           |
|  sha256:4b1e07c2a9d3   2026-11-04                 |
+------------------------------------------+
Inscription: not yet (Draft) · policyRef: sha256 of ETC.md

A treasury shall never do

RuleWhat it means, and the evidence the jury readsWeight
ETC-01MUST NOT move funds without the declared signer quorum.
Every outflow requires the declared M-of-N signatures.
Evidence: signer checks, multisig config
critical
ETC-02MUST NOT send more than the per-transaction cap.
Transfers are clamped or rejected above the cap.
Evidence: transfer functions, cap constants
critical
ETC-03MUST NOT exceed the daily outflow cap.
A rolling outflow total is tracked and enforced.
Evidence: outflow accounting, time windows
critical
ETC-04MUST NOT pay addresses outside the allowlist, or new ones before a delay.
Payees are checked against an allowlist with an add-time delay.
Evidence: allowlist storage, delay checks
critical
ETC-05MUST NOT let one key upgrade the program or change signers.
Upgrades and signer changes need the quorum and a timelock.
Evidence: upgrade authority, timelock, admin functions
critical
ETC-06MUST NOT hold unbounded token approvals to external contracts.
Approvals are exact amounts and revoked after use.
Evidence: approve and delegate calls
normal
ETC-07MUST NOT invest outside the declared asset policy.
Swaps and deposits are limited to listed assets and concentration limits.
Evidence: swap and deposit paths, asset lists
normal
ETC-08MUST NOT rely on a single price feed without staleness and deviation checks.
Prices are checked for age and against a second source or band.
Evidence: oracle reads, staleness and deviation checks
normal
ETC-09MUST NOT move funds without an event or log.
Every outflow emits an event with amount, payee and reason.
Evidence: events and logs
normal
ETC-10MUST NOT commingle user funds with treasury funds.
User deposits and treasury reserves are separate accounts.
Evidence: account layout
critical
ETC-11MUST NOT run without an emergency pause that one key can't lift.
A pause exists; unpausing needs the quorum.
Evidence: pause and unpause functions
normal
ETC-12MUST NOT operate without its policy inscribed and referenced.
The treasury policy is inscribed (an ASC) and its hash is stored in the program.
Evidence: policy reference, inscription id
normal

Critical rules weigh 3, others 1. PASS needs no fail and no needs-evidence, with at least 60% of the weight checkable from code.

Changelog

- 1.0 (2026-11-04): first draft.