Skip to main content

Contracts

The current repository points to deployed Moderato testnet addresses in lib/constants.ts. Frontend pages use the public addresses, and server-side write routes use the same contracts through lib/contracts.ts.

Deployed addresses

ContractAddressResponsibility
PayrollTreasury0x93dfCcd80895147EfC1c191013cD935f18a79859Tracks employer available balance, locked payroll balance, and treasury accounting
PayrollBatcher0x58E5102BAED1c703dC1052cc7f5E30A96af34Eb8Executes atomic multi-recipient payroll batches with memo fields
EmployeeRegistry0x1fF7E623CFdb6e263Be0D25A9142DD7888F5CBdATracks employee membership and headcount per employer
StreamVesting0x71a2BA383d2C8ec15310705A13693F054271531fExposes accrued salary reads and employee claims
YieldRouter0x41dD786b2e01825437e2F67b51719CBeDcd527b0Reads APY, accrued yield, allocation, and rebalances treasury capital

Read methods used by the app

ContractRead methods used in app code
PayrollTreasurygetAvailableBalance, getLockedBalance
PayrollBatcherExecution handled by server or wallet client rather than read access
EmployeeRegistrygetEmployeeCount
StreamVestinggetAccruedBalance
YieldRoutergetCurrentAPY, getYieldSources, getAllocation, getAccruedYield, yieldConfig
TIP403Registry precompileisAuthorized

Write methods used by the app

ContractWrite methods used in app code
PayrollBatcherexecuteBatchPayroll
StreamVestingclaimAccrued
YieldRouterrebalance

Payroll treasury account key

PayrollTreasury does not key employer balances by the Supabase employers.id UUID. It keys each account by:
keccak256(abi.encodePacked(employerAdminAddress))
That means any read or write flow that wants to inspect treasury balances, locked payroll, or gas budget must first resolve the canonical employer admin wallet address used for deposits. Off-chain employer ids are useful application identifiers, but they are not the on-chain treasury account key.

Tempo constants

ConstantValue
Chain ID42431
RPChttps://rpc.moderato.tempo.xyz
Explorerhttps://explore.tempo.xyz
Sponsor URLhttps://sponsor.moderato.tempo.xyz
PathUSD0x20c0000000000000000000000000000000000000
TIP-403 Registry0x403c000000000000000000000000000000000000