transfer_domain
Transfer a domain to your Dynadot account using the domain name and authorization code from your current registrar.
Instructions
Initiate a domain transfer into your Dynadot account. Requires the domain name and the authorization/EPP code from the current registrar.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to transfer (e.g., 'example.com') | |
| auth_code | Yes | Authorization/EPP code from the current registrar | |
| registrant_contact | No | Contact ID to use as registrant | |
| coupon | No | Coupon code for discount |
Implementation Reference
- src/tools/transfer.ts:22-56 (handler)The "transfer_domain" tool registration and handler implementation. It uses a DynadotClient to perform the transfer and returns the result or an error message.
server.tool( "transfer_domain", "Initiate a domain transfer into your Dynadot account. Requires the " + "domain name and the authorization/EPP code from the current registrar.", { domain: z.string().describe("Domain name to transfer (e.g., 'example.com')"), auth_code: z.string().describe("Authorization/EPP code from the current registrar"), registrant_contact: z .string() .optional() .describe("Contact ID to use as registrant"), coupon: z.string().optional().describe("Coupon code for discount"), }, async ({ domain, auth_code, registrant_contact, coupon }) => { try { const result = await client.transfer(domain, auth_code, { registrantContact: registrant_contact, coupon, }); return { content: [ { type: "text" as const, text: JSON.stringify(result, null, 2) }, ], }; } catch (error) { const msg = error instanceof Error ? error.message : String(error); return { content: [ { type: "text" as const, text: `Domain transfer failed: ${msg}` }, ], isError: true, }; } } );