Skip to main content
Glama

sendTransaction

Sends a blockchain transaction using specified addresses and data. Requires owner SCA account, signer address, and recipient address to execute securely.

Input Schema

NameRequiredDescriptionDefault
callDataNoThe data of the transaction.
ownerScaAccountAddressYesThe owner SCA account address.
signerAddressYesThe signer address to send the transaction from.
toAddressYesThe address to send the transaction to.
valueNoThe value of the transaction in ETH.

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "callData": { "description": "The data of the transaction.", "type": "string" }, "ownerScaAccountAddress": { "description": "The owner SCA account address.", "type": "string" }, "signerAddress": { "description": "The signer address to send the transaction from.", "type": "string" }, "toAddress": { "description": "The address to send the transaction to.", "type": "string" }, "value": { "description": "The value of the transaction in ETH.", "type": "string" } }, "required": [ "ownerScaAccountAddress", "signerAddress", "toAddress" ], "type": "object" }

Implementation Reference

  • MCP server tool handler for 'sendTransaction' that invokes alchemyApi.sendTransaction, formats the result as text content, and handles errors.
    }, async (params) => { try { const result = await alchemyApi.sendTransaction(params); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } catch (error) { if (error instanceof Error) { console.error('Error in sendTransaction:', error); return { content: [{ type: "text", text: `Error: ${error.message}` }], isError: true }; } return { content: [{ type: "text", text: 'Unknown error occurred' }], isError: true }; }
  • Helper function implementing the transaction send logic via POST request to the agent wallet server.
    async sendTransaction(params: SendTransactionParams) { const { ownerScaAccountAddress, signerAddress, toAddress, value, callData } = params; try { const response = await fetch(`${AGENT_WALLET_SERVER}/transactions/send`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ ownerScaAccountAddress, signerAddress, toAddress, value, callData }) }); 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 sending transaction:', error); throw error; } },
  • TypeScript interface defining the parameters for sendTransaction.
    export interface SendTransactionParams { ownerScaAccountAddress: string; signerAddress: string; toAddress: string; value?: string; callData?: string; }
  • index.ts:317-322 (registration)
    Registration of the 'sendTransaction' tool on the MCP server with Zod input validation schema.
    server.tool('sendTransaction', { ownerScaAccountAddress: z.string().describe('The owner SCA account address.'), signerAddress: z.string().describe('The signer address to send the transaction from.'), toAddress: z.string().describe('The address to send the transaction to.'), value: z.string().optional().describe('The value of the transaction in ETH.'), callData: z.string().optional().describe('The data of the transaction.'),

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alchemyplatform/alchemy-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server