Use case · Treasury

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.

dca.asentum.com · treasury rules
DCA
DCA 100 aUSD → ASE
every day at 00:00 UTC
next: in 3h 22m
REBALANCE
Rebalance basket to target
1st of every month
next: in 11d
SWEEP
Sweep > 50k ASE to cold
every block (conditional)
next: on trigger
GUARD
Stop-loss at -15%
every hour
next: in 12m
VESTING
Quarterly grant unlock
1st of Jan/Apr/Jul/Oct
next: in 42d
5 active rules∞ scheduled (cron is keeper)

The problem with how this works today.

01

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.

02

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.

03

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).

04

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.

CRON

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.

JS-NATIVE

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.

GOVERNANCE

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.

01Build

A DAO treasury that DCAs 1% of stablecoin reserves into ASE every day, automatically. No "treasury working group" meeting needed.

02Build

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.

03Build

A multi-sig that auto-sweeps to cold storage whenever the hot wallet exceeds 100k ASE. Cron checks the balance every block.

04Build

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.

05Build

A protocol's buyback-and-burn schedule: every Friday, take 20% of fee revenue, swap to ASE, burn. Transparent, predictable, no off-chain script.

06Build

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.