Reference / Events & errors
Events & errors
What to subscribe to, what reverts mean.
Events
Subscribe to these to react in real time instead of polling. Indexed fields let you filter by task id or address.
| Event | Fires when |
|---|---|
| HumanRegistered(human, name) | a new profile is created |
| ProfileUpdated(human) / AvailabilityChanged(human, active) | a profile changes |
| JobCreated(jobId, poster, directWorker, amount, title) | a task is posted and escrowed |
| JobApplied(jobId, applicant) | someone applies to an open task |
| JobAssigned(jobId, worker) | a worker is assigned or accepts a direct hire |
| WorkSubmitted(jobId, worker, proofURI) | proof is posted; review window starts |
| WorkRejected(jobId, reason) | the poster requests changes |
| JobPaid(jobId, worker, workerAmount, feeAmount) | settlement: approval or auto-claim |
| JobCancelled(jobId, by) | refund via cancel or abandon |
| WorkerRated(jobId, worker, rating) | the poster rates a completed task |
| GateUpdated(token, minHold) / FeeUpdated / TreasuryUpdated / ReviewPeriodUpdated | admin changes |
Custom errors
| Error | Meaning |
|---|---|
| GateNotPassed(token, required, held) | your $KYND balance is below the gate minimum |
| NotRegistered / AlreadyRegistered | profile required, or profile already exists |
| NotPoster / NotWorker / NotApplicant | you are not the right party for this call |
| WrongStatus | the task is not in a state that allows this action |
| AlreadyApplied | one application per task per wallet |
| ReviewPeriodNotOver | claimPayment called before the 5-day window elapsed |
| DeadlineNotReached | poster tried to reclaim an Assigned task too early |
| RejectionsExhausted | the 3-rejection cap is hit; approve or wait |
| AlreadyRated | one rating per completed task |
| InvalidParams | zero amount, empty title, out-of-bounds fee, past deadline… |