Use case · Payroll

Pay your team like clockwork.

Fund a contract once. Add team members with their salaries. Cron fires payday every month, automatically, in any currency-shaped ARC-20 token. No off-shore entity. No FX spread. No five-day wire delay. Just a contract and a calendar.

payroll.asentum.com · monthly run
Founder
Aiden K.
12,000 ASE
Engineer
Mira S.
8,500 ASE
Designer
Jules W.
7,200 ASE
Engineer
Pablo V.
8,500 ASE
Ops
Reese L.
5,500 ASE
Engineer
Tia O.
8,500 ASE
next payday · in 7 daystotal · 50,200 ASE

The problem with how this works today.

01

Deel + Gusto + Rippling charge per-employee monthly fees. For a 20-person crypto-native team that's $5,000+/year for what should be a cron job.

02

International transfers through SWIFT take 2-5 days. Half the team gets paid Monday, the other half Friday — depending on which intermediary bank is fastest that week.

03

Crypto-native teams today either pay in fiat (and lose the value-prop) or run a quarterly manual payout that's an admin nightmare.

04

Equity / vesting cliffs require Carta + a lawyer + a calendar reminder. Half the cap-table work is just "is this person past the 12-month cliff yet?"

How Asentum changes it.

Three primitives that make this category cheaper, faster, and impossible to censor.

CRON

Payday is built into the protocol

The chain itself fires the monthly payout. The CFO doesn't click a button. The HR system doesn't need to exist. If the team is funded, payroll runs.

JS-NATIVE

Custom rules in 20 lines

Probation period? Bonus tier? Geo-routed splits? Performance-linked variable comp? It's JavaScript. Your engineering team can read, audit, and modify the payroll logic.

ARC-20

Pay in any currency-shaped token

ASE for native, aUSD or any stablecoin for USD-denominated salaries. Same contract, different token address. No intermediary banks.

What the code looks like.

Plain JavaScript. No new language, no new mental model.

// Payroll, defined as code.
// One contract, N team members, automatic monthly payday.

contract Payroll {
  init() {
    storage.set('employees', []);
    cron.schedule(this.address, 'payday', 'monthly');
  }

  hire(addr, monthlySalary) {
    assert(msg.sender === storage.get('admin'));
    const emp = storage.get('employees') || [];
    emp.push({ addr, monthlySalary, startedAt: chain.blockNumber });
    storage.set('employees', emp);
  }

  // Cron-triggered every month. Pays each employee their salary.
  payday() {
    const emp = storage.get('employees') || [];
    for (const e of emp) {
      transfer(e.addr, e.monthlySalary);
      emit('Paid', { to: e.addr, amount: e.monthlySalary });
    }
  }
}

What you can actually build.

Concrete scenarios builders are already shipping on this primitive.

01Build

A 30-person remote crypto-native team paying half in stablecoins, half in ASE. One contract, one monthly run, one explorer link to share with auditors.

02Build

A DAO with contributors on different tiers — core team monthly, contractors per-deliverable, advisors quarterly. All schedules expressed as cron jobs.

03Build

Vesting + cliffs: contributor gets 25% at month 12, then 1/48 each month after. The contract enforces it. No spreadsheet, no Carta seat.

04Build

Performance-linked variable comp: base salary fixed, bonus pool released by a multi-sig vote on an on-chain proposal at quarter end.

05Build

Founder vesting that survives the founder leaving — the contract keeps running even if the wallet that deployed it is dormant.

06Build

Affiliate / referral payouts: every signup credited to a referrer, monthly cron settles the commission. No PayPal mass-payout requests, no IRS 1099 chase.