Skip to main content
Glama

zora_create_coin

Deploy a new coin on the Zora Coins ecosystem on Base mainnet. Specify name, symbol, metadata URI, and payout recipient to create a custom token.

Instructions

Deploy a new Zora coin. Requires PRIVATE_KEY; only Base mainnet is supported currently.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
symbolYes
uriYes
payoutRecipientYes
platformReferrerNo
chainIdNo
currencyNo
gasMultiplierNo

Implementation Reference

  • Handler function that ensures a wallet is configured, destructures input arguments, determines the deploy currency, calls CoinsSDK.createCoin with the provided parameters and clients, and returns the result as formatted JSON.
    async (args) => { ensureWallet(); const { name, symbol, uri, payoutRecipient, platformReferrer, chainId, currency, gasMultiplier, } = args; const deployCurrency = currency === "ETH" ? CoinsSDK.DeployCurrency.ETH : CoinsSDK.DeployCurrency.ZORA; const result = await CoinsSDK.createCoin( { name, symbol, uri: uri as any, // ValidMetadataURI, validated on chain by SDK payoutRecipient: payoutRecipient as any, platformReferrer: platformReferrer as any, chainId: chainId ?? DEFAULT_CHAIN.id, currency: deployCurrency, }, walletClient!, publicClient, { gasMultiplier: gasMultiplier ?? 120, } ); return { content: [{ type: "text", text: json(result) }] }; } );
  • Zod input schema defining parameters for creating a coin: name, symbol, uri, payoutRecipient (required), and optional chainId, currency (ZORA/ETH), platformReferrer, gasMultiplier.
    inputSchema: { name: z.string().min(1), symbol: z.string().min(1), uri: z.string().min(1), payoutRecipient: z.string().min(1), platformReferrer: z.string().optional(), chainId: z.number().optional(), currency: z.enum(["ZORA", "ETH"]).optional(), gasMultiplier: z.number().int().min(50).max(500).optional(), },
  • src/index.ts:334-387 (registration)
    MCP server tool registration for 'zora_create_coin', including schema and inline handler implementation.
    server.registerTool( "zora_create_coin", { title: "Create a new coin", description: "Deploy a new Zora coin. Requires PRIVATE_KEY; only Base mainnet is supported currently.", inputSchema: { name: z.string().min(1), symbol: z.string().min(1), uri: z.string().min(1), payoutRecipient: z.string().min(1), platformReferrer: z.string().optional(), chainId: z.number().optional(), currency: z.enum(["ZORA", "ETH"]).optional(), gasMultiplier: z.number().int().min(50).max(500).optional(), }, }, async (args) => { ensureWallet(); const { name, symbol, uri, payoutRecipient, platformReferrer, chainId, currency, gasMultiplier, } = args; const deployCurrency = currency === "ETH" ? CoinsSDK.DeployCurrency.ETH : CoinsSDK.DeployCurrency.ZORA; const result = await CoinsSDK.createCoin( { name, symbol, uri: uri as any, // ValidMetadataURI, validated on chain by SDK payoutRecipient: payoutRecipient as any, platformReferrer: platformReferrer as any, chainId: chainId ?? DEFAULT_CHAIN.id, currency: deployCurrency, }, walletClient!, publicClient, { gasMultiplier: gasMultiplier ?? 120, } ); return { content: [{ type: "text", text: json(result) }] }; } );

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/r4topunk/zora-coins-mcp-server'

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