Asset Recovery Rules
Protocol (TCP) includes asset recovery mechanisms to handle accidentally sent tokens and funds.
Recovery Purpose
Recovery serves to:
- Prevent loss — Recover accidentally sent assets
- Maintain safety — Recover funds sent by mistake
- Protect assets — Prevent permanent loss
- Enable operations — Handle edge cases
What Can Be Recovered
Tokens Sent by Mistake
Scenario
- User accidentally sends tokens to treasury
- Tokens are not TCP (different token)
- Tokens would be permanently lost
- Recovery prevents loss
Recovery Process
- Identify accidentally sent tokens
- Call recovery function
- Tokens transferred to safe address
- Loss prevented
Native Funds Sent by Mistake
Scenario
- User accidentally sends MATIC to treasury
- MATIC would be permanently lost
- Recovery prevents loss
- Funds returned to user
Recovery Process
- Identify accidentally sent MATIC
- Call recovery function
- MATIC transferred to safe address
- Loss prevented
What Cannot Be Recovered
TCP Token
Protection
- TCP token cannot be recovered via recovery function
- Prevents abuse of recovery mechanism
- Protects treasury
- Enforces discipline
Reason
- TCP is the primary asset
- Recovery would compromise security
- Must use formal withdrawal process
- Maintains operational discipline
Recovery Process
Token Recovery
Function
function recoverToken(address token, uint256 amount)
Process
- Verify token is not TCP
- Transfer tokens to safe address
- Log recovery event
- Maintain transparency
Native Fund Recovery
Function
function recoverNativeFunds(uint256 amount)
Process
- Verify amount available
- Transfer MATIC to safe address
- Log recovery event
- Maintain transparency
Recovery Examples
Example 1: Accidental Token Transfer
Scenario: User accidentally sends USDC to treasury
1. User sends 1000 USDC
- Intended recipient: Different address
- Actual recipient: Treasury
- USDC now locked in treasury
2. Recovery initiated
- Owner identifies accidental transfer
- Calls recoverToken(USDC, 1000)
- Recovery function executes
3. Recovery execution
- Contract verifies USDC is not TCP
- Transfers 1000 USDC to safe address
- Event logged on PolygonScan
4. Completion
- USDC recovered
- Loss prevented
- User can retrieve from safe address
- Transparency maintained
Example 2: Accidental MATIC Transfer
Scenario: User accidentally sends MATIC to treasury
1. User sends 10 MATIC
- Intended recipient: Different address
- Actual recipient: Treasury
- MATIC now locked in treasury
2. Recovery initiated
- Owner identifies accidental transfer
- Calls recoverNativeFunds(10)
- Recovery function executes
3. Recovery execution
- Contract verifies MATIC available
- Transfers 10 MATIC to safe address
- Event logged on PolygonScan
4. Completion
- MATIC recovered
- Loss prevented
- User can retrieve from safe address
- Transparency maintained
Recovery Transparency
Public Information
All recovery information is public:
✅ Recovery Events — All recoveries logged
✅ Token Addresses — Which tokens recovered
✅ Amounts — How much recovered
✅ Recipients — Where funds sent
✅ Timestamps — When recovery occurred
Verification Methods
You can verify recovery information:
-
PolygonScan
- View recovery events
- Check recovered amounts
- Monitor recipients
- Track history
-
Contract Functions
- Call recovery functions
- Check recovery logs
- Verify amounts
- View history
-
Community Tools
- Use recovery dashboards
- Monitor recoveries
- Analyze patterns
- Track history
Recovery Best Practices
For Administrators
✅ Monitor transfers — Watch for accidental transfers
✅ Respond quickly — Recover accidentally sent funds promptly
✅ Communicate — Inform users of recovery
✅ Document — Keep records of recoveries
✅ Maintain transparency — Log all recoveries
For Users
✅ Verify addresses — Always check recipient address
✅ Use official sources — Only use official contract addresses
✅ Test transfers — Test with small amount first
✅ Double-check — Verify before confirming transaction
✅ Contact support — If accident occurs, contact support
Key Takeaways
- Accident recovery — Recover accidentally sent tokens
- Loss prevention — Prevent permanent loss of funds
- Limited scope — Cannot recover TCP or core assets
- Transparent — All recoveries logged and verifiable
- Safety mechanism — Handles edge cases safely
Next: Explore FAQ for common questions and answers.