jupiter_lend_deposit
Create a deposit transaction for Jupiter Lend Earn to earn yield on token assets. Returns a base64-encoded unsigned transaction for signing.
Instructions
Create a deposit transaction for Jupiter Lend Earn. Returns a base64-encoded unsigned transaction to sign and submit.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | Token mint address to deposit (e.g. USDC: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v) | |
| signer | Yes | Wallet address making the deposit | |
| amount | Yes | Amount to deposit in base units |
Implementation Reference
- src/tools/lend.ts:14-17 (handler)The async handler that calls client.lendDeposit(args) and returns the result as JSON. This is the actual execution logic for the jupiter_lend_deposit tool.
async (args) => { const result = await client.lendDeposit(args); return JSON.stringify(result, null, 2); }, - src/tools/lend.ts:5-18 (registration)The registerLendTools function registers 'jupiter_lend_deposit' with its description, schema (asset, signer, amount), and handler via the tool registration callback.
export function registerLendTools(register: ToolRegistrar, client: JupiterClient) { register( "jupiter_lend_deposit", "Create a deposit transaction for Jupiter Lend Earn. Returns a base64-encoded unsigned transaction to sign and submit.", { asset: z.string().describe("Token mint address to deposit (e.g. USDC: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v)"), signer: z.string().describe("Wallet address making the deposit"), amount: z.string().describe("Amount to deposit in base units"), }, async (args) => { const result = await client.lendDeposit(args); return JSON.stringify(result, null, 2); }, ); - src/tools/lend.ts:9-13 (schema)Zod schema defining the input parameters for jupiter_lend_deposit: asset (string), signer (string), amount (string).
{ asset: z.string().describe("Token mint address to deposit (e.g. USDC: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v)"), signer: z.string().describe("Wallet address making the deposit"), amount: z.string().describe("Amount to deposit in base units"), }, - src/client.ts:124-129 (helper)The lendDeposit method on JupiterClient that sends a POST request to /lend/v1/earn/deposit with the asset, signer, and amount parameters. This is the underlying API call.
async lendDeposit(params: { asset: string; signer: string; amount: string }) { return this.request("/lend/v1/earn/deposit", { method: "POST", body: params, }); } - src/index.ts:64-69 (registration)Top-level registration: registerLendTools(register, client) is called from the main entry point, connecting the lend tools (including jupiter_lend_deposit) to the MCP server.
registerLendTools(register, client); registerTriggerTools(register, client); registerRecurringTools(register, client); registerPredictionTools(register, client); registerPerpsTools(register, client); registerPortfolioTools(register, client);