swap
Facilitates secure transactions by enabling swaps between owner SCA account and signer addresses on the Alchemy MCP Server. Simplifies asset exchange processes.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ownerScaAccountAddress | Yes | The owner SCA account address. | |
| signerAddress | Yes | The signer address to send the transaction from. |
Implementation Reference
- api/alchemyApi.ts:183-210 (handler)The core handler function that executes the token swap by making a POST request to the agent wallet server endpoint /transactions/swap with the required parameters.async swap(params: SwapParams) { const { ownerScaAccountAddress, signerAddress } = params; console.error('SWAPPING TOKENS'); try { const response = await fetch(`${AGENT_WALLET_SERVER}/transactions/swap`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ ownerScaAccountAddress, signerAddress }) }); console.error('SWAPPING TOKENS RESPONSE', response); if (!response.ok) { const errorData = await response.json(); throw new Error(errorData.error || `HTTP ${response.status}: ${response.statusText}`); } const result = await response.json(); return result.data; } catch (error) { console.error('Error in swap:', error); throw error; }
- index.ts:345-367 (registration)Registers the 'swap' tool with the MCP server, defining the input schema using Zod and providing a handler that delegates to alchemyApi.swap and formats the response.server.tool('swap', { ownerScaAccountAddress: z.string().describe('The owner SCA account address.'), signerAddress: z.string().describe('The signer address to send the transaction from.') }, async (params) => { try { const result = await alchemyApi.swap(params); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } catch (error) { if (error instanceof Error) { console.error('Error in swap:', error); return { content: [{ type: "text", text: `Error: ${error.message}` }], isError: true }; } return { content: [{ type: "text", text: 'Unknown error occurred' }], isError: true }; } });
- types/types.d.ts:81-84 (schema)TypeScript interface defining the input parameters for the swap tool, imported and used by the alchemyApi.swap function.export interface SwapParams { ownerScaAccountAddress: string; signerAddress: string; }