Program Settlement
Settlement is the final step: converting escrow (chXXX) balances into the actual distributed
token allocation for a points program. For projects launching on a chain we do not natively settle
the tokens on, Checkpoint uses
LayerZero v2 to coordinate distribution across chains seamlessly.
What is Settlement?
Settlement is the process that happens after TGE (Token Generation Event) where:- The project token launches on one or more blockchains
- Sellers settle filled offers, or overdue offers are pushed into default handling
- Checkpoint snapshots a program-wide distribution
- Escrow holders claim their pro-rata share of tokens, plus any pooled USDC from overdue offers
Escrow tokens conversion is only one way and CANNOT be reversed.
The Timeline
Settlement
Settlement is global per points program, not a direct 1:1 or per-offer redemption flow.Settlement tracks a shared distribution snapshot for each pointsId containing:
- total token amount deposited for the program
- total USDC accumulated from overdue/defaulted offers
- total escrow supply at distribution time
- token ratio used for claims
Same-chain settlement
For programs launching on the same chain asSettlement, users claim through
claimDistribution(pointsId).
On claim:
- The claimant transfers their escrow tokens into
Settlement - The contract calculates their token share from the program’s
tokenRatio - The contract also calculates their share of the pooled USDC from overdue/defaulted offers
- Both amounts are sent to the claimant
Claims are based on your escrow balance relative to the full settlement snapshot for that program.
Settlement on another chain
For projects launching on a different chain, users must interact with theRemoteSettlement
contract on that relevant chain.
Checkpoint stores the program distribution snapshot on Settlement. Anyone can then relay the
settlement data to the remote settlement contract with sendSettlementMessage().
Just like with the same chain settlement, users can either claim the distribution directly via
claimDistribution() or they can wait for an airdrop to their wallet which will be announced by
Checkpoint well in advance if done so.
You will need to bridge the escrow tokens to the relevant chain before claiming.
Defaulted and overdue offers
If a seller misses the settlement deadline, the market callsdepositCollateral() with:
Where:
filledAmountis the purchase amount of the offercollateralAmountis the collateral amount in USDC provided by the seller, if applicable