Skip to main content

Timelocks

Timelocks are a critical security mechanism in Protocol (TCP) that prevent instant-action risks by requiring waiting periods before critical operations can execute.

What are Timelocks?

A timelock is a smart contract mechanism that:

  1. Records a proposed operation
  2. Enforces a waiting period
  3. Allows execution only after the period expires
  4. Enables cancellation before execution

Timelock Objectives

1. Prevent Instant-Action Risks

Problem

  • Instant withdrawals can cause sudden loss of funds
  • No time for community to react
  • Increased risk of abuse

Solution

  • Require waiting period before execution
  • Community has time to monitor
  • Ability to cancel if needed
  • Reduced instant-action risk

2. Enable Community Oversight

Problem

  • Hidden operations reduce transparency
  • Community can't monitor or react
  • Difficult to detect abuse

Solution

  • Proposals visible on-chain
  • Community can monitor
  • Time to assess and react
  • Transparent operations

3. Improve Operational Discipline

Problem

  • Instant operations can be mistakes
  • No time for review
  • Difficult to prevent errors

Solution

  • Waiting period allows review
  • Mistakes can be caught
  • Proposals can be cancelled
  • Improved discipline

4. Build Community Trust

Problem

  • Instant operations reduce trust
  • Community worried about abuse
  • Difficult to verify safety

Solution

  • Visible waiting periods
  • Community can verify
  • Cancellation mechanism
  • Increased trust

Timelock Implementation

Timelock Process

1. Proposal Creation
- Operation proposed
- Parameters recorded
- Timelock begins
- Event emitted

2. Waiting Period
- Specified duration passes
- Community monitors
- Proposal can be cancelled
- Countdown visible

3. Execution Window
- After timelock expires
- Operation can execute
- Caller initiates execution
- Operation completes

4. Completion
- Operation executed
- Event emitted
- Transparency maintained
- Audit trail recorded

Timelock Parameters

ParameterValue
Treasury Withdrawal Timelock7 days (example)
Liquidity Withdrawal Timelock7 days (example)
Parameter Change Timelock7 days (example)
Upgrade Timelock14 days (example)

Timelock Operations

Treasury Withdrawal Timelock

Operation

  • Withdraw tokens from treasury

Timelock

  • 7 days (example)

Process

Day 0: Proposal created
Days 1-6: Waiting period
Day 7: Execution available
Day 8+: Execution window

Liquidity Withdrawal Timelock

Operation

  • Withdraw LP from liquidity manager

Timelock

  • 7 days (example)

Process

Day 0: Proposal created
Days 1-6: Waiting period
Day 7: Execution available
Day 8+: Execution window

Parameter Change Timelock

Operation

  • Change critical parameters

Timelock

  • 7 days (example)

Process

Day 0: Change proposed
Days 1-6: Waiting period
Day 7: Change available
Day 8+: Execution window

Cancellation Mechanism

Why Cancellation Matters

Cancellation allows:

  • Stopping mistakes
  • Preventing abuse
  • Responding to concerns
  • Maintaining safety

How Cancellation Works

1. Proposal created
- Timelock begins
- Cancellation available

2. Community reviews
- Proposal assessed
- Concerns raised
- Feedback provided

3. Cancellation decision
- If concerns valid
- Proposal cancelled
- Operation prevented

4. Completion
- Cancellation logged
- Transparency maintained
- Community satisfied

Who Can Cancel

Cancellation can be performed by:

  • Owner (for owner-proposed operations)
  • Multisig (for multisig-proposed operations)
  • Community (if governance enabled)

Timelock Transparency

Public Information

All timelock information is public:

Proposal Details — What operation is proposed
Timelock Duration — How long to wait
Execution Time — When operation can execute
Cancellation Status — Whether proposal is cancelled
Execution Status — Whether operation executed

Verification Methods

You can verify timelock information:

  1. PolygonScan

    • View proposal events
    • Check execution times
    • Monitor cancellations
    • Track executions
  2. Contract Functions

    • Call getTimeUntilExecution()
    • Check proposal status
    • Verify cancellation status
    • View execution history
  3. Community Tools

    • Use timelock dashboards
    • Monitor proposals
    • Track execution times
    • Analyze patterns

Timelock Examples

Example 1: Treasury Withdrawal

Scenario: Withdraw 50,000 TCP for operations

Day 0 (Monday):
- Owner proposes withdrawal
- Amount: 50,000 TCP
- Recipient: Operations wallet
- Timelock: 7 days
- Event logged on PolygonScan

Days 1-6 (Tuesday-Sunday):
- Community monitors proposal
- Proposal visible on PolygonScan
- Community assesses withdrawal
- Proposal can be cancelled if needed

Day 7 (Monday):
- Timelock expires
- Withdrawal can execute
- Owner calls executeWithdrawal()
- Tokens transferred
- Event logged on PolygonScan

Completion:
- Operations funded
- Transparency maintained
- Community satisfied

Example 2: Parameter Change

Scenario: Change reward rate from 10% to 12%

Day 0 (Monday):
- Multisig proposes change
- New rate: 12% APY
- Timelock: 7 days
- Event logged on PolygonScan

Days 1-6 (Tuesday-Sunday):
- Community monitors proposal
- Proposal visible on PolygonScan
- Community assesses impact
- Proposal can be cancelled if needed

Day 7 (Monday):
- Timelock expires
- Change can execute
- Multisig calls executeChange()
- Parameter updated
- Event logged on PolygonScan

Completion:
- Reward rate updated
- Transparency maintained
- Community satisfied

Timelock Security

Benefits

Prevents instant abuse — Waiting period prevents sudden actions
Enables oversight — Community has time to monitor
Allows cancellation — Mistakes can be stopped
Builds trust — Visible safeguards build confidence
Maintains discipline — Enforces operational discipline

Limitations

⚠️ Delays operations — Waiting period delays execution
⚠️ Requires monitoring — Community must monitor proposals
⚠️ Not foolproof — Doesn't prevent all risks
⚠️ Requires discipline — Must be consistently applied

Best Practices

For Administrators

Use timelocks — Always use timelocks for critical operations
Communicate proposals — Inform community of proposals
Allow review time — Give community time to assess
Be transparent — Explain reasoning for proposals
Respect feedback — Consider community feedback

For Community

Monitor proposals — Watch for new proposals
Assess impact — Evaluate proposal impact
Provide feedback — Share concerns and suggestions
Request cancellation — Ask for cancellation if needed
Stay vigilant — Maintain security awareness

Key Takeaways

  1. Prevent instant actions — Waiting periods prevent sudden operations
  2. Enable oversight — Community has time to monitor
  3. Allow cancellation — Mistakes can be stopped
  4. Build trust — Visible safeguards build confidence
  5. Maintain discipline — Enforces operational discipline

Next: Learn about Liquidity Protection and advanced LP safeguards.

Docs by Docsio