Glossary

Consistent vocabulary for ShipLock concepts and terms.

Glossary

Consistent terminology used across ShipLock's protocol, documentation, and UI.

Core Terms

TermDefinition
BondCollateral locked by the project (SOL / stablecoin / SPL token). Creates real downside for missed commitments.
CadenceHow frequently the project must deliver a valid check-in (e.g., every 48 hours).
CycleOne cadence period — the time window in which the project must produce an accepted check-in.
DeadlineThe time limit for the current cycle. After this, the grace period begins.
Grace periodExtra buffer after the deadline to avoid accidental slashes. After grace ends, slashing becomes valid.
Check-inA submission that includes a claim (what was delivered), proof (links + optional content hash), and an endorsement window.
EndorsementA watcher signs a transaction attesting: "This check-in meets the promise." Endorsements add weight toward acceptance.
WeightValidation power derived from stake using diminishing returns: weight = floor(sqrt(stake)).
ThresholdMinimum total endorsement weight required to accept a check-in.
SlashingPermissionless penalty executed when a project fails to produce an accepted check-in by grace end.

States

TermDefinition
ActiveProject is within its deadline window and on track.
At riskNear deadline and no accepted check-in yet. UX-only state — not an enforcement boundary.
ViolationGrace ended and no accepted check-in exists for that cycle. Slashing is now valid.
SlashableObjective on-chain condition is true: slash() can be executed by anyone.
SlashedThe cycle was resolved by penalty. Bond partially transferred, cycle advances.

Check-in States

TermDefinition
PendingEndorse window is open. Watchers can still endorse.
AcceptedEndorsement thresholds met within the window. Cycle is satisfied.
RejectedEndorse window closed without reaching thresholds.

Roles

TermDefinition
Project Owner (Builder)Creates a project, locks bond, submits check-ins.
Watcher (Validator)Stakes $SHIP globally, endorses check-ins, earns rewards.
Enforcer (Slasher)Any user who triggers slash() when conditions are met. Earns a bounty.
Watcher setThe active stakers able to endorse at any given time.

On-chain Variables

TermDefinition
cycleNonceInteger cycle counter, starts at 0. Increments on each cycle advancement.
cycleStartAtTimestamp when the current cycle began.
nextDeadlineAtDeadline timestamp for the current cycle.
graceEndsAtnextDeadlineAt + grace. Enforcement boundary.
lastAcceptedCheckinAtTimestamp of the last accepted check-in. Used for streak calculation.
lastSlashedCycleNonceCycle nonce that was last slashed. Prevents double-slashing.

Metrics

TermDefinition
Compliance rate(acceptedCheckins / totalExpectedCheckins) * 100. Measures shipping consistency.
Valid check-inA check-in that ends as ACCEPTED.
StreakNumber of consecutive cycles with accepted check-ins.
BountyPortion of slashed amount paid to the slash executor.

Economic Terms

TermDefinition
Diminishing returnssqrt(stake) ensures more stake gives less proportional weight.
Two-factor gateAcceptance requires both weight threshold AND minimum endorser count.
Rolling cadenceShipping sooner resets the timer. No fixed weekly schedule.
Stake-and-runAttack where someone stakes, endorses, then immediately unstakes. Prevented by 72h unlock delay.