REST API, smart contract ABIs, on-chain events, and everything you need to integrate token locking into your DeFi project.
Quick Start
curl https://api.locklabs.org/locks \
?chain=ethereum \
&owner=0xYourAddressconst res = await fetch(
'https://api.locklabs.org/locks' +
'?chain=ethereum&owner=0x...'
)
const { locks } = await res.json()https://api.locklabs.orgNo auth required for read endpointsREST API
All endpoints return JSON. No API key required for public data.
/statsGlobal stats: lock counts and TVL by chain
/locks/:chain/:idSingle lock details by chain and vault address
/locks?chain=&owner=List locks by chain and/or owner address
/lp-locks?chain=&owner=List LP locks by chain and/or owner
/vesting?chain=&owner=List vesting schedules by chain and/or owner
/fee-quote?chain=&type=Get current fee quote in native token for given lock type
/healthAPI health and chain connectivity status
Full request/response schemas, pagination, filtering options, and error codes are available in the full API documentation (coming soon).
SDK
Type-safe clients for popular languages. Drop-in integration.
Full-featured TypeScript SDK with lock creation, querying, and event listening.
npm install @locklabs/sdkPython SDK for data science and bot integrations. Async-compatible.
pip install locklabs-sdkOpenAPI 3.0 spec for generating clients in any language.
openapi.locklabs.org/spec.jsonOn-Chain
All contracts are open source, audited by Hashlock, and verified on each chain explorer.
0x…0x…0x…0x…0x…0x…0x…0x…0x…0x…0x…0x…0x…0x…0x…0x…Events
Index and react to lock lifecycle events emitted by LockLabs contracts.
LockCreatedEmitted when a new token or LP lock is created
LockExtendedEmitted when a lock duration is extended
LockOwnerTransferredEmitted when lock ownership is transferred to a new address
LockWithdrawnEmitted when tokens are withdrawn after unlock date
VestingCreatedEmitted when a vesting schedule is created
VestingClaimedEmitted when a vesting beneficiary claims tokens
FeeUpdatedEmitted when fee manager updates fee amounts
AI Agents
Skills are markdown instruction files that give AI coding assistants full protocol awareness — fee model, chain IDs, API field names, contract interfaces, and invariants. Drop a skill into your agent config and it understands LockLabs without explanation.
locklabs-protocolCore protocol rules: flat fee model ($9/$19/$29), TVL caps, admin timelock delays (7d/14d/48h), supported chains, and hard invariants.
locklabs-apiREST API endpoints, exact field names (feeWei, feeUsd, byChain), authentication, pagination patterns, and canonical constants.
locklabs-contractsABI fragments, event signatures (LockCreated, Withdrawn, AdminEarlyUnlockQueued), role constants, and deployed addresses on all 4 chains.
cp .agents/skills/locklabs-*.md ~/.claude/skills/cp .agents/skills/locklabs-*.md .cursorrules/cp .agents/skills/locklabs-*.md .windsurfrules/# Paste the skill file content into your system prompt or agent instructionsAI Agents
The LockLabs MCP (Model Context Protocol) server exposes lock data, fee quotes, and TVL as native tools. Any MCP-compatible agent — Claude, Cursor, Windsurf, or your own — can query LockLabs without writing API integration code.
Available Tools
get_fee_quote(chain, lockType)Current fee in native token for a given chain and lock type.
get_lock(lockId, chain)Full lock details: amount, owner, unlock date, status.
get_tvl(chain?)Total value locked by chain or aggregate across all chains.
list_locks(owner?, chain?, page?)Paginated list of locks with optional filters.
get_vesting_schedule(scheduleId, chain)Vesting schedule details, claimed amount, and next unlock.
Setup
{
"mcpServers": {
"locklabs": {
"url": "https://api.locklabs.org/mcp"
}
}
}{
"mcpServers": {
"locklabs": {
"url": "https://api.locklabs.org/mcp"
}
}
}{
"mcpServers": {
"locklabs": {
"url": "https://api.locklabs.org/mcp"
}
}
}MCP Server — Beta
The MCP server is available in beta. Tools for write operations (create lock, extend lock) require wallet authentication and are in development. Read tools (fee quotes, lock data, TVL) are fully available.
Questions? Issues? Feature requests? Reach us directly.