Treasury operations, on autopilot.
DCA into ASE every day. Rebalance monthly. Auto-sweep to cold storage when balance exceeds a threshold. Time-locked grants. Stop-losses. All defined as cron-scheduled methods on a contract. The chain enforces the schedule — no Gnosis-Safe + Gelato + spreadsheet stack.
The problem with how this works today.
Most DAO treasuries today are a Gnosis Safe + a spreadsheet of "what we should do this month" + a multi-sig signing party every Friday. Operations cost real time and slip every cycle.
Automated DAO ops on other chains glue together Gnosis Safe + Chainlink Automation + a Snapshot vote + a Coordinape distribution. Five services, four integrations, one place to fail.
Treasury managers running DCAs or rebalances manually create their own slippage (predictable timing → MEV) and their own boredom-tax (someone has to remember to fire it).
Time-locked grants and vesting cliffs are usually a wallet + a calendar invite. Half the time the unlock happens late because the multi-sig signers were on vacation.
How Asentum changes it.
Three primitives that make this category cheaper, faster, and impossible to censor.
Every rule is just a scheduled function
Daily DCA, monthly rebalance, conditional sweep — all expressed as cron jobs registered on your treasury contract. The chain itself fires them on schedule. No Gelato, no Chainlink Automation.
Custom rules, plain JavaScript
"Sweep to cold if balance > X." "DCA more aggressively if ASE dropped > 10% week-over-week." Define the rule in code, deploy, walk away. The treasury runs itself.
Proposals trigger executions
On-chain governance proposals can register new cron rules on the treasury contract when they pass. The DAO votes; the rules update; the schedule keeps running.
What the code looks like.
Plain JavaScript. No new language, no new mental model.
// DCA into ASE every day. Rebalance monthly. Time-lock grants.
// Three lines per rule. The chain does the rest.
contract Treasury {
init() {
// Buy 100 ASE worth of stables → ASE, daily
cron.schedule(this.address, 'dca', '@daily');
// Rebalance the basket on the 1st of the month
cron.schedule(this.address, 'rebalance', '@monthly');
}
dca() {
const amount = 100n * 10n**18n;
swap('aUSD', 'ASE', amount);
}
rebalance() {
// Walk holdings, sell what's >40% allocation, buy what's <20%
const target = { ASE: 60, aUSD: 30, aBTC: 10 };
rebalanceTo(target);
}
}
What you can actually build.
Concrete scenarios builders are already shipping on this primitive.
A DAO treasury that DCAs 1% of stablecoin reserves into ASE every day, automatically. No "treasury working group" meeting needed.
A founding-team vesting contract that releases 1/48 of the founder grant on the 1st of every month, for four years. The chain is the calendar.
A multi-sig that auto-sweeps to cold storage whenever the hot wallet exceeds 100k ASE. Cron checks the balance every block.
A grant program that releases the next milestone payment to a grantee when an on-chain attestation (e.g., a release tag) appears. Cron polls; humans don't.
A protocol's buyback-and-burn schedule: every Friday, take 20% of fee revenue, swap to ASE, burn. Transparent, predictable, no off-chain script.
A family-office tax-loss-harvesting bot that scans portfolio every Sunday and sells positions down > 10% from cost basis. Implemented as a cron job, not a 24/7 Python process.