> For the complete documentation index, see [llms.txt](https://docs.lendspro.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lendspro.com/lends-locker/token-and-liquidity-locks.md).

# Token & Liquidity Locks

Lends Locker lets you place standard ERC-20 tokens in an onchain contract until a date and time you choose. Every lock is public, and only its beneficiary can withdraw the tokens after the lock matures.

#### Create a Token Lock

To create the lock:

1. Open [Lends Locker](https://locker.lendspro.com/) and select **Token lock**.
2. Connect the wallet that holds the tokens and make sure it is using Robinhood Chain.
3. Enter the ERC-20 token contract address. The app checks the token details and your wallet balance.
4. Enter the amount, unlock date and time, and withdrawal wallet. The withdrawal wallet is the lock beneficiary and may be different from the funding wallet.
5. Select **Review lock** and verify every detail, including the beneficiary and current service fee.
6. Select **Approve & create lock**. Confirm the token approval if one is required, then confirm the lock transaction in your wallet.
7. Wait for the transaction to confirm. The app opens the token's public profile, where the new lock appears under **Token locks**.

The beneficiary may extend a lock, but the unlock time cannot be shortened. A lock cannot be withdrawn before it matures, and the beneficiary address cannot be changed after creation.

Use standard, non-rebasing ERC-20 tokens. Transfer-tax, reflection, and other tokens that do not transfer the exact requested amount are not supported.

#### Find Locks for a Wallet

The public app lookup starts with the token contract address:

1. Open [Lends Locker](https://locker.lendspro.com/).
2. Enter the token contract address in **Search any token address**.
3. Open the token profile and find **Token locks**.
4. Match the beneficiary shown in the lock row with the wallet address you are checking.

If the connected wallet is the beneficiary, an unlockable position shows a **Withdraw** button after its unlock time. Confirming that transaction sends the full locked amount to the beneficiary wallet.

The Token Locker contract also keeps an onchain beneficiary index. Block explorers and integrations can use `getLockIdsByBeneficiary(wallet, cursor, size)` to find the wallet's lock IDs, then call `getLock(lockId)` for the token, amount, unlock time, and withdrawal status.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.lendspro.com/lends-locker/token-and-liquidity-locks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
