> 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-vesting.md).

# Token Vesting

Lends Locker lets a funding wallet create non-cancellable vesting schedules for one or more recipients. A single batch can contain up to 25 recipients, and every schedule in the batch uses the same ERC-20 token.

#### Create Token Vesting

Before you begin, prepare:

* the vesting token's contract address;
* the wallet address and allocation for each recipient;
* the start and end of each schedule;
* the vesting cadence and any optional cliff terms;
* enough tokens for the complete batch;
* enough ETH on Robinhood Chain for the service fee and network fees.

To create vesting:

1. Open [Lends Locker](https://locker.lendspro.com/) and select **Token vesting**.
2. Connect the wallet that will fund every schedule in the batch.
3. Enter the ERC-20 token contract address. All recipients in this batch will receive the same token.
4. Select **Add recipient** and enter a plan name, recipient wallet, token amount, cadence, start date, and end date. You may also add a label for each wallet.
5. If the schedule needs a cliff, enable **Cliff period**, choose the cliff end, and set the percentage released when the cliff ends. Nothing vests before the cliff.
6. Save the recipient and repeat for any additional recipients and review the batch total.
7. Select **Review vesting** and check every detail before you proceed.
8. Select **Approve & create vesting**. Confirm the token approval, then confirm the batch transaction in your wallet.
9. Wait for confirmation. The schedules appear under **Vesting schedules** on the token's public profile.

Available cadences are per second, daily, weekly, every 30 days, and quarterly. Releases follow the selected cadence and are rounded down to the latest completed cadence interval.

Vesting schedules cannot be cancelled or edited after creation. Check every recipient address and schedule carefully before confirming the transaction.

#### Find Vesting for a Wallet

The public app lookup starts with the token contract address:

1. Open [Lends Locker](https://locker.lendspro.com/).
2. Search for the vesting token's contract address.
3. Open the token profile and find **Vesting schedules**.
4. Match the beneficiary shown on a schedule with the wallet address you are checking.

Each schedule shows its total allocation, released amount, amount available now, cadence, start, end, and any cliff. If the connected wallet is the beneficiary and tokens are currently available, the schedule shows **Release available tokens**. A recipient can release the unlocked part of vested tokens over time without waiting for the full schedule to end.

The Token Vesting contract also keeps an onchain beneficiary index. Block explorers and integrations can use `getVestingIdsByBeneficiary(wallet, cursor, size)` to find the wallet's schedule IDs, then call `getVesting(vestingId)` for the complete schedule.


---

# 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-vesting.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.
