Vincent Abilities are modular, executable functions that define what operations your App can perform on behalf of users. This guide explains their structure, lifecycle, and implementation details.Documentation Index
Fetch the complete documentation index at: https://litprotocol-vincent.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Ability Lifecycle
Vincent Abilities execute in two phases to ensure reliability and security:Precheck
Runs locally to validate that execution will likely succeed. This also runs
precheck on the Vincent Policies to ensure they are valid as wellOnly if all policies return
allow results will your Ability’s function execute. After successful execution, the Ability can optionally call Policy commit functions to update state.Defining Your Ability
The npm package name of your Ability (e.g.,
@your-org/ability-name)A clear description of what your Ability does
Zod schema defining the input parameters your Ability requires
Array of supported Vincent Policies, created with
supportedPoliciesForAbility()Zod schema for successful precheck return values
Zod schema for failed precheck return values
Async function that validates execution will likely succeed
Zod schema for successful execution return values
Zod schema for failed execution return values
Async function that performs the actual Ability operation
Creating Vincent Abilities
Vincent Abilities are created usingcreateVincentAbility from the Vincent Ability SDK:
Example Implementation
Full Token Transfer Ability
Full Token Transfer Ability
Deep Dive Guides
Parameter Schemas
Define and validate your Ability’s input parameters
Supporting Policies
Integrate Vincent Policies with your Ability
Precheck Function
Implement validation logic before execution
Execute Function
Write your main execution logic

