# Transfers ## Transfer a domain in (standard) Prerequisites at the current registrar: unlock the domain and obtain its **EPP/auth code**. ```bash curl -s https://domains.ingram.tech/api/v1/domains/example.com/transfer \ -H "authorization: Bearer $INGRAM_TOKEN" \ -H 'content-type: application/json' \ -H 'idempotency-key: 1b9d6e30-transfer-1' \ -d '{"auth_code": "ABC-123-XYZ", "confirm_price": 15}' ``` - Priced per the TLD's transfer fee (`GET /api/v1/tlds`); requires [`confirm_price`](/docs/payments) and debits the wallet. - Most registries include a **+1 year renewal** in a transfer. - Registry processing typically takes **5–7 days** (the losing registrar can release early). The response's registry status will be `Pending` — the domain appears in your portfolio immediately and activates when the registry completes. In the dashboard: **Domains → Transfer in**. It quotes first, then asks you to confirm at that exact price. ## Internal transfers (already at our backend) Our registrar backend is Netim. A domain **already registered through Netim** (any Netim account) cannot go through a registry transfer — instead it moves with an **internal transfer**, which is: - **Free** — no registry operation happens, nothing is charged. - **Fast** — with a valid auth code the account move executes automatically, typically in minutes. - **Non-renewing** — the expiry date does not change. Renew separately if the domain is close to expiry. - **Delegation-preserving** — nameservers are left untouched, so DNS and email keep working through the move. The dashboard **detects this automatically**: type the domain into Transfer in and the current registrar is looked up (RDAP); if it's at Netim, the free internal path is pre-selected. Without an auth code, confirmation emails go to both accounts instead of executing immediately. The registrant/holder is not changed by an internal transfer. The admin, technical and billing roles are set to your workspace's default contact; you can point them at another contact from the domain's Contacts tab. ## Transfer a domain out Request the auth code and hand it to the gaining registrar: ```bash curl -s -X POST https://domains.ingram.tech/api/v1/domains/example.com/auth-code \ -H "authorization: Bearer $INGRAM_TOKEN" ``` The code is emailed to the registrant contact. Registrar lock must be off for the gaining registrar's transfer to succeed — toggle it via `PATCH /api/v1/domains/{name}/settings`, the domain's Security tab, or the Transfer out card on the Advanced tab, which stays closed until you unlock and offers a one-click re-lock. Unlocked domains are flagged in the portfolio list because an unlocked domain plus a leaked auth code is a hijack.