Skip to main content
Glama

provider_get_code

Retrieve the smart contract code stored at a specific Ethereum or EVM-compatible blockchain address. Specify the address and optional block tag for accurate code retrieval.

Instructions

Get the code at an address

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addressYesThe address to get code from
blockTagNoOptional block tag (latest, pending, etc.)

Implementation Reference

  • The main handler function for 'provider_get_code' that retrieves the contract bytecode at the specified address using the configured provider.
    export const getCodeHandler = async (input: any): Promise<ToolResultSchema> => { try { if (!input.address) { return createErrorResponse("Address is required"); } const provider = getProvider(); const code = await provider.getCode(input.address, input.blockTag); return createSuccessResponse( `Code retrieved successfully Address: ${input.address} Code: ${code} `); } catch (error) { return createErrorResponse(`Failed to get code: ${(error as Error).message}`); } };
  • The input schema definition for the 'provider_get_code' tool, specifying required 'address' and optional 'blockTag'.
    { name: "provider_get_code", description: "Get the code at an address", inputSchema: { type: "object", properties: { address: { type: "string", description: "The address to get code from" }, blockTag: { type: "string", description: "Optional block tag (latest, pending, etc.)" } }, required: ["address"] } },
  • src/tools.ts:556-608 (registration)
    Registration of the 'provider_get_code' handler function in the central handlers dictionary.
    export const handlers: HandlerDictionary = { // Provider Methods "wallet_provider_set": setProviderHandler, // Wallet Creation and Management "wallet_create_random": createWalletHandler, "wallet_from_private_key": fromPrivateKeyHandler, "wallet_from_mnemonic": fromMnemonicHandler, "wallet_from_encrypted_json": fromEncryptedJsonHandler, "wallet_encrypt": encryptWalletHandler, // Wallet Properties "wallet_get_address": getAddressHandler, "wallet_get_public_key": getPublicKeyHandler, "wallet_get_private_key": getPrivateKeyHandler, // Blockchain Methods "wallet_get_balance": getBalanceHandler, "wallet_get_chain_id": getChainIdHandler, "wallet_get_gas_price": getGasPriceHandler, "wallet_get_transaction_count": getTransactionCountHandler, "wallet_call": callHandler, // Transaction Methods "wallet_send_transaction": sendTransactionHandler, "wallet_sign_transaction": signTransactionHandler, "wallet_populate_transaction": populateTransactionHandler, // Signing Methods "wallet_sign_message": signMessageHandler, "wallet_sign_typed_data": signTypedDataHandler, "wallet_verify_message": verifyMessageHandler, "wallet_verify_typed_data": verifyTypedDataHandler, // Provider Methods "provider_get_block": getBlockHandler, "provider_get_transaction": getTransactionHandler, "provider_get_transaction_receipt": getTransactionReceiptHandler, "provider_get_code": getCodeHandler, "provider_get_storage_at": getStorageAtHandler, "provider_estimate_gas": estimateGasHandler, "provider_get_logs": getLogsHandler, "provider_get_ens_resolver": getEnsResolverHandler, "provider_lookup_address": lookupAddressHandler, "provider_resolve_name": resolveNameHandler, // Network Methods "network_get_network": getNetworkHandler, "network_get_block_number": getBlockNumberHandler, "network_get_fee_data": getFeeDataHandler, // Mnemonic Methods "wallet_create_mnemonic_phrase": createMnemonicPhraseHandler };
  • src/tools.ts:425-436 (registration)
    Registration of the 'provider_get_code' tool name and schema in the tools array.
    { name: "provider_get_code", description: "Get the code at an address", inputSchema: { type: "object", properties: { address: { type: "string", description: "The address to get code from" }, blockTag: { type: "string", description: "Optional block tag (latest, pending, etc.)" } }, required: ["address"] } },

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/dcSpark/mcp-cryptowallet-evm'

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