Chia Blog

Chia Product Hour: The Clawback Feature 

by Chia Team

We’re committed to real-world blockchain utility, meaning we must recognize the industry’s pain points and build the tools to address those challenges – with security front-of-mind.

So, we built our custody solution, which we used to secure the prefarm. That bespoke tool merged several existing Web3 custody features into a single solution. While the custody solution is a technological feat, it’s unlikely to be used by most folks, and it became clear that specific features offered practical wallet implementations as standalone components.

What are clawbacks?

The short answer, users can revert sent XCH and TXCH transactions with clawback without impacting the immutability of the blockchain. 

Perhaps you’ve mistakenly added a zero or two as the transacting amount or accidentally input the wrong wallet address – commonly known as “fat finger” accidents – these mistakes can now be remedied with clawback. Your bank can protect you from incidents of fraud and disputes by reversing transactions; the Chia clawback tool provides the same general functionality and security.

How does this custody feature actually work?

The clawback tool functions as an intermediate coin that cannot be sent to a destination address until a designated time lock has expired. The timelock offers a buffer window for users to “claw back” and return the intermediate coin to their wallet as standard XCH. Simply, clawbacks strengthen a user’s controls when managing assets through a non-custodial wallet, enabling them to initiate a retrieval procedure and layering added protection across asset transactions.

Current Functionality and Usability

The clawback primitive today exists in its own GitHub repository as a standalone command line tool to support developer’s understanding of the technology to implement into their own wallets. The standalone tool can be run with a wallet to use the clawback functionality and interact with the new clawback coins. The Chia reference wallet will be integrating this new feature to demonstrate a user experience with clawbacks, initially supporting XCH with support for CATs and NFTs in future releases.

Next Steps: Clawback for Senders

Users may set up a wallet with a default option to enable clawback when sending XCH transactions within a set time period defined by the user (e.g., 1 hour). Moving forward, these settings can function as the wallet’s default whenever sending any XCH, however, users may override these conditions by adjusting the clawback’s time lock or disabling the clawback altogether. All pending transactions accompanied by the clawback’s remaining time until expiration are viewable to users. Any transaction waiting for the time lock period to pass or unclaimed transaction on the list is eligible to be clawed back into the sender’s wallet.

Next Steps: Clawback for Receivers

Receiving users will be notified of pending transactions sent with the clawback tool, along with the remaining time until the transaction can be officially claimed and finalized in their wallet. Transactions with pending clawback time locks are not included in the receiver’s spendable balance until assets are formally claimed and finalized. To expedite claiming efficiency following time lock expiration, users can enable an auto-claim setting on one or all transactions for a specified default fee. 

In the meantime, feel free to dive deeper into the clawback primitive with the following references: