← ClaudeAtlas

scallop-vescalisted

Lock SCA for veSCA governance power. Use when user says "veSCA", "lock SCA", "vote escrow", "extend lock", "voting power", "unlock SCA", "governance", or asks about Scallop governance and revenue sharing.
scallop-io/scallop-skills · ★ 1 · AI & Automation · score 68
Install: claude install-skill scallop-io/scallop-skills
# veSCA (Vote Escrow SCA) Lock SCA tokens to receive veSCA for governance voting and protocol revenue sharing. ## Overview veSCA is Scallop's governance token system: - **Lock SCA** → Receive veSCA - **veSCA** → Voting power + Revenue share - **Longer lock** → More voting power ## Voting Power Formula ```python voting_power = locked_sca * (remaining_time / max_lock_time) max_lock_time = 4 years (1461 days) ``` Power depends on the time *remaining*, not time served, and decays linearly to zero at expiry. Full derivation, the multiplier table, an off-chain calculator, and decay behaviour: [voting-power.md](references/voting-power.md). ## Lock SCA ### Create New Lock ```python tx = builder.create_tx_block() # First, get a SCA coin input (e.g., split from existing coins) sca_coin_idx = tx.add_object_input("0xSCA_COIN_OBJECT_ID") # Lock SCA for 365 days ve_sca_key = tx.lock_sca( sca_coin_idx=sca_coin_idx, # Index of SCA coin (Input or Result) lock_period_days=365, # Lock period in days (max 1461 = 4 years) coin_is_result=False, # True if sca_coin_idx is a Result index ) tx.transfer_objects([ve_sca_key], wallet_address) result = builder.sign_and_send_tx_block(tx) ``` ```typescript // TypeScript - Lock SCA const tx = builder.createTxBlock(); const unlockAt = Math.floor(Date.now() / 1000) + (365 * 24 * 60 * 60); // 1 year tx.lockSca(veScaKey, scaCoin, unlockAt); await builder.signAndSendTxBlock(tx); ``` ### Lock Period Options Maxim