Conviction Documentation

Understand the contracts

The roles and boundaries behind each user action.

Separate responsibilities

Principal accounting, Community allocations, streamed rewards and buyback reserves have distinct roles. Streamed rewards pay out separately; accepted Lockdrop rewards become principal in new vault positions.
ComponentResponsibility
ConvictionVaultHolds principal, records positions and terms, handles releases and early exits, and accounts for penalty reserves.
ConvictionBribesHolds campaign funding, tracks conviction weight, calculates vesting, pays rewards and returns refundable funding.
ConvictionCommunityRecords prior-block, source-capped principal eligibility, preserves rewards after mature release, forfeits them on early exit and authorizes bounded claims or forfeiture settlement. Its vault binding is immutable.
ConvictionLockdropsHolds Lockdrop funding, checks eligibility or allocations, creates recipient-owned locks on acceptance and refunds unused funding after the deadline. Its vault binding is immutable.
CONV tokenThe token acquired and removed through the penalty mechanism. CONV can also be locked like other compatible ERC-20 tokens.
Swap adapterConverts eligible penalty reserves into CONV through a configured trading route. It does not receive authority to spend recorded principal.

How app actions map to contracts

User actionContract functionEffect
Locklock / lockForCreate a position for yourself or a beneficiary.
ExtendextendRestart an open commitment with a later unlock date.
Claim principalreleaseSend matured principal to its owner.
Exit earlyexitEarlyClose a position and return principal less its penalty.
Collect rewardsclaim / claimMany / claimRewardPay available campaign rewards to the position owner.
Claim community rewardsConvictionCommunity.claimPay unlocked community allocations from a bounded reward page to the owner.
Settle forfeited rewardsConvictionCommunity.settleForfeitedPermissionlessly recycle a bounded page of an early-exited position's unclaimed Community rewards into CONV buybacks or burning.
Fund rewardsbribeCreate a campaign with a funding window and floor.
Reclaim fundingreclaimReturn an ended campaign's refundable balance to its funder.
Create LockdropcreateLockerCampaign / createCampaignFund fixed rewards for existing lockers or explicit recipient allocations.
Claim and lockclaimLockerCampaign / claimAccept Lockdrop rewards as a new position with no early exit.
Refund unused fundingrefundReturn unused Lockdrop funding to its creator after claims close.

What administration can change

The vault owner can change future lock terms, pause new deposits, update reward modules and configure the penalty conversion mechanism. The reward-contract owner can change the campaign fee and eligible reward tokens. Those powers matter to future participation and reward behavior. The Lockdrop module has no owner, and funded campaign terms cannot change; current vault policy can still prevent new reward locks.

The vault has no owner-managed deposit-token allowlist. Pausing new locks leaves releases, early exits and extensions available. Recovery of excess vault tokens excludes recorded principal and penalty reserves. Penalty conversion is limited to its reserve, with output and trade-size constraints. Replacing a previously configured swap adapter requires a two-day delay.