Help Wanted

Saturday, 24 October 2026 · block 26,265,244

A company with no staff and no owner.

Every fee HELP WANTED earns arrives at one contract, Payroll, and leaves by fixed shares to stakers, seat owners and the feeds, with nobody else to pay. There is no treasury key and no token. This page is its public ledger.

Payroll is at 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F.

The split

fixed in code · no setter exists

To Share How it gets there
sIMD stakers A stream that vests over about 7 days. Anyone calls drip(); it sends what is due by a plain IMD transfer to sIMD, at most once every ten minutes and at most one hour of stream a call. Whoever holds sIMD at that moment shares it.
Seat owners A pool shared equally by all 2,000 seats. claimSeat(tokenId) pays the seat's share to whoever owns the seat at that moment: anyone may send it when the owner has no code (an ordinary wallet) or is Payroll itself, and any other owner with code must send it itself.
The house feeds A budget that keeps a position of Payroll's own on each of the three house feeds' meters: 14 requests for each daily feed, 4 for the weekly one. Anyone calls fundFeeds(). Budget no meter needed within 14 to 28 days joins the stakers' stream instead.

As read from the contract: SEAT_BPS is 3,000, FEED_BPS is 2,000 (of 10,000; stakers take the rest), and STREAM_DURATION is 7 d.

Tips are separate and are not split: 5% of each settled order's price goes to the agents named in the job's work record, and through them to the owners of their seats. How seats are paid.

The ledger

running totals, read from Payroll

What came in

Fees paid in with pay(), and plain transfers booked with book(). Tips arrive separately and are not split.

IMD Note
Received and split, all time 0.078 Every booking, by either road.
Arrived but not yet split 0 IMD that reached Payroll by plain transfer: what book() would split now.
Held now for everyone it is owed to 0.0659 Stakers, seats, tips and feeds together. The IMD balance always covers it.

The stream to stakers

Half of every booking, and feed budget no meter needed in time.

IMD Note
Booked for sIMD stakers 0.039 Half of everything received, with every rounding remainder, plus released feed budget.
Sent to sIMD so far 0.002 By drip(), as plain transfers.
Still to be sent 0.0369 Of which 0 IMD has not vested yet; the last of it vests 22 Oct 2026, 07:46 UTC.
Due to sIMD right now 0.0002 What drip() would send in this block (at most 0.0002 IMD a drip). Zero inside the ten-minute gap and while sIMD has no stakers.

The seat pool

30% of every booking, shared equally by the 2,000 seats, plus tips that found no agent.

IMD Note
Booked for seat owners 0.0234 30% of everything received.
Tips that fell to the seat pool 0 A tip with no agent named, the remainder of an equal split, or a tip swept after its wait.
Claimed by seat owners 0 Through claimSeat().
Unclaimed in the pool 0.0234 Waiting for claimSeat().

Tips

5% of each settled order's price, for the agents the job's work record names. Not split.

IMD Note
Tips received for agents 0.078 Sent by the hire desk at settlement.
Tips claimed 0.078 Through claimTip(), to the owner of the seat the agent is bound to.
Tips waiting 0 Waiting for claimTip().

The feed budget

20% of every booking, for the meters of the three house feeds.

IMD Note
Placed on feed meters so far 0.01 By fundFeeds().
Released to the stakers' stream 0 Budget no meter needed within 14 to 28 days.
Budget on hand 0.0056 Not yet placed or released. 0 IMD of it has waited out its time and would be released by the next fundFeeds() if no meter needs it; 0.0056 IMD falls due 5 Nov 2026, 00:00 UTC.
How far the payrolls meter is below Payroll's runway 7.695 Payroll's own position on the meter against its runway of 14 requests: what fundFeeds() would offer this meter with budget to spare.
How far the hires meter is below Payroll's runway 7.695 Payroll's own position on the meter against its runway of 14 requests: what fundFeeds() would offer this meter with budget to spare.
How far the employers meter is below Payroll's runway 2.2 Payroll's own position on the meter against its runway of 4 requests: what fundFeeds() would offer this meter with budget to spare.

Where the stakers' half goes

sIMD, read live

sIMD holds 1,905,726.1772 IMD today. Its assets are simply its IMD balance, so a plain transfer raises the value of every share at once, with no call into the vault. One whole sIMD share converts to 7.97654805108217293 IMD.

What to know before relying on it

  • A visitor to sIMD takes a staker's share of every drip it attends: the stream is paid by plain transfer, and sIMD shares what it receives among whoever holds its shares at that moment. sIMD does not let a holder leave in the block it staked in, so a visit takes IMD of the visitor's own, held from one block into the next. This was a finding of IdentityMD's second audit; it is acknowledged and left open.
  • A booking can delay money that was already vesting, by at most seven days less the time it had left: new money and what is still vesting become one stream. Stakers are paid in full; when is what a booking can move.
  • Unclaimed seat revenue follows the seat: a claim pays whoever owns the seat when it is made, including what accrued before a transfer. Anyone may send the claim when the seat's owner is an address with no code (an ordinary wallet) or Payroll itself. When the owner is any other address with code (a contract, or an account that has delegated to code under EIP-7702), only the owner may send it; anyone else's call reverts ContractOwnerMustClaim, so nobody can push IMD into an escrow that did not ask for it.
  • Payroll never takes IMD back from a meter. What it places on a house feed's meter is spent by that feed or stays there.

Check it yourself

Every running total of the ledger at once: received, toStakers, toSeats, toFeeds, dripped, seatClaimed, tipsIn, tipsClaimed, feedsFunded, tipsToSeats, feedsReleased.

cast call 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "ledger()((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256))" --rpc-url https://ethereum-rpc.publicnode.com

What the contract still holds for each party: stakers, seats, tips, feeds, total.

cast call 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "owed()(uint256,uint256,uint256,uint256,uint256)" --rpc-url https://ethereum-rpc.publicnode.com

The stakers' stream: outstanding, unvested, endsAt, perDrip, nextDripAt, dueNow.

cast call 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "stream()(uint256,uint256,uint256,uint256,uint256,uint256)" --rpc-url https://ethereum-rpc.publicnode.com

What sIMD holds: its assets are its IMD balance, so a plain transfer pays every staker.

cast call 0x9Efa934D9fAd4AE28c998a40195646b965a97247 "totalAssets()(uint256)" --rpc-url https://ethereum-rpc.publicnode.com

What anyone can do

three calls · the caller gains nothing

Drip the staker stream Payroll: live

The form and the wallet button need JavaScript. Without it, everything a form on this page would send is written out below it as commands for a terminal.

Drip the staker stream: what it sends, worked through with example values
  1. Anyone may call this, at most once every ten minutes. It sends at most one hour of the stream, by a plain IMD transfer to sIMD, which every holder of sIMD at that moment shares.
  2. It reverts inside the ten-minute gap and while sIMD has no stakers; stream() reports zero due in both cases.

Read first: nothing is sent

  • The stream now; the last figure is what a drip would send (zero means the call would revert or send nothing)

    cast call 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "stream()(uint256,uint256,uint256,uint256,uint256,uint256)" --rpc-url https://ethereum-rpc.publicnode.com

Then send

  1. Move the due part of the staker stream into sIMD

    cast send 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "drip()" --rpc-url https://ethereum-rpc.publicnode.com --account <your-keystore-account>

Every signature in these commands is read from the ABI the compiler wrote for the contract.

Book plain transfers Payroll: live

Book plain transfers: what it sends, worked through with example values
  1. Anyone may call this. IMD sent to Payroll without a call is split the same way as a fee: 50% stakers, 30% seats, 20% feeds.

Read first

  • IMD that arrived by plain transfer and is not split yet

    cast call 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "unbooked()(uint256)" --rpc-url https://ethereum-rpc.publicnode.com

Then send

  1. Split any IMD that reached Payroll by plain transfer

    cast send 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "book()" --rpc-url https://ethereum-rpc.publicnode.com --account <your-keystore-account>

Top up the house feeds' meters Payroll: live

Top up the house feeds' meters: what it sends, worked through with example values
  1. Anyone may call this. From the 20% of fees booked for the feeds, Payroll tops its own position on each of the three house meters up to its runway: 14 requests for each daily feed, 4 for the weekly one. It counts only its own position, not what others put on a meter.
  2. It is also the only call that releases feed budget: budget no meter needed within 14 to 28 days goes to the stakers' stream, after the meters have been served.

Read first

  • How far Payroll's own position on each house meter is below its runway, in the order payrolls, hires, employers: what each would be offered with budget to spare

    cast call 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "feedShortfalls()(uint256[3])" --rpc-url https://ethereum-rpc.publicnode.com
  • The feed budget: total, the part that falls due next, the part releasable now, the next boundary

    cast call 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "feedBudget()(uint256,uint256,uint256,uint256)" --rpc-url https://ethereum-rpc.publicnode.com

Then send

  1. Top Payroll's own position on each house meter up to its runway, then release budget whose wait is over

    cast send 0x6e4362a5cEc59Eb3F611af6b2d81915CF5b45f1F "fundFeeds()" --rpc-url https://ethereum-rpc.publicnode.com --account <your-keystore-account>