Skip to content
Coritan Docs

Transfer a domain to Coritan

Move a domain from another registrar to Coritan with its EPP code. The transfer adds a year, paid from your credit or with a card.

View as Markdown

Transfer a domain to Coritan when you want Coritan to hold its registration instead of your current registrar. The transfer needs the domain's EPP code, and the current registrar has to release the domain. A transfer adds a year to the registration, and Coritan takes its price from your account credit when the transfer starts. When your credit is short, the button adds what is missing with your card first. To host only the domain's DNS here and keep the registration where it is, add it as an existing domain instead.

  • At your current registrar, turn off the domain's transfer lock and ask for its EPP code (also called an auth code).
  • Your current registrar can tell you whether the registry allows the transfer yet.
  • Check the transfer price. The order page shows it for your domain once you enter the name, and View domain prices, in the Domain Management list's More website actions menu, lists it for each extension. You do not need to add credit first: when your balance is low, the button adds what is missing with your payment method and starts the transfer in the same click.
  • To keep the domain resolving during the transfer, leave its nameservers as they are, or move its DNS to Coritan first with Add a website, choosing Use a domain I already have. Starting the transfer does not change the nameservers.
  1. In the dashboard, go to Domain Management, open the More website actions menu and select Transfer domain. This opens the Domain order page in transfer mode. You can also open it from Order a service, under Websites, and select Transfer in.
  2. Enter the Domain name, such as example.com.
  3. Enter the EPP code exactly as the current registrar gave it to you. The page does not keep the EPP code: if you reload the page, enter it again.
  4. Read the price. The page shows what the transfer costs, with a year added to the registration. If your account's currency is not US dollars, the price shows in it as an estimate. The summary shows what is due as Due today, with the credit your balance covers, which is in US dollars.
  5. Under Pay with, choose how to pay when your balance does not cover the price. The button then says "Pay $X and transfer", or Pay about €13.50 and transfer in another currency until Coritan has priced the charge. A saved method is charged when you press the button, a new card opens a card form in the summary, and PayPal and other hosted checkouts open their own page and bring you back to this one with the domain name filled in. When your credit covers the price, the summary says We take it from your account credit. and the button says Transfer domain.
  6. Select the button. Coritan adds the missing credit with your method, takes the price from your credit balance, then asks the registry to start the transfer.

If the payment is declined, the page keeps the domain name and the EPP code and shows the reason under the button. Choose another method and select the button again.

The dashboard confirms that the transfer started and says how much it took from your credit. The domain appears in the Domain Management list with the badge "Pending transfer", and its card reads "Pending transfer" under Registration. The list does not count it as expiring while it moves in. Your current registrar may email you to approve the transfer. Approve it to speed it up.

While the transfer is pending, the domain's Settings tab cannot renew it or change its switches or nameservers. Coritan checks each pending transfer with its registry regularly. When the domain has arrived, the registration becomes active. It takes the end date and nameservers the registry holds, and Coritan locks the domain. A domain that uses Coritan's nameservers gets its DNS zone then.

Important

Coritan gives the charge back at once when the registry refuses to start the transfer. When your old registrar rejects the transfer after it started, or the registry has no record of it 14 days after you started it, Coritan also puts the charge back on your credit balance and removes the pending registration. You can then start the transfer again. A transfer that the registry still calls pending is not refunded, however long it takes.

Your card was declined. or another reason under the button
Your payment method refused the credit that the transfer needs. Coritan started nothing. Choose another method and select the button again.
Domain already exists in our system
The domain is already registered, or being transferred, through Coritan.
Transfer failed: …
The registry refused the transfer or did not answer. Coritan put the charge back on your credit balance, and the message says how much. The usual causes are a wrong EPP code or a transfer lock that is still on at the current registrar. Check both and try again.
We could not get a price for this domain or Registrar error: …
Coritan could not get the transfer price from the registry, so it charged nothing and started nothing. Try again later.
Domain registration is not available right now.
Coritan cannot reach a registrar at the moment, so it cannot price or start the transfer. It charged nothing, or put the charge back on your credit balance. Try again later, and contact support if it lasts.
Invalid domain name format
Enter the bare domain, such as example.com, without https:// or a path.

Ask what the transfer costs first. transfer_price is the price of the transfer, which adds a year, as a string with two decimals:

Shell
curl -X POST https://api.coritan.com/api/v1/domains/transfer/quote \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com"}'
JSON
{"domain": "example.com", "transfer_price": "14.99", "currency": "USD"}

Then start the transfer. The body takes the domain and its auth_code, and Coritan takes transfer_price from your credit before it asks the registry:

Shell
curl -X POST https://api.coritan.com/api/v1/domains/transfer \
  -H "Authorization: Bearer $CORITAN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com", "auth_code": "Xk7#pQ2m9L"}'

The answer is 202 with the new registration's id and the amount Coritan took, as a string with two decimals:

JSON
{"message": "Transfer initiated", "domain": "example.com", "registration_id": 8, "status": "pending_transfer", "charged": "14.99", "currency": "USD"}

Follow it with GET /api/v1/domains/registrations/8. The other answers:

  • 402 when your credit does not cover the price. Coritan charges nothing, and detail has the shape Register a domain shows, with a message that begins This transfer costs.
  • 409 with Domain already exists in our system when Coritan already holds the domain.
  • 502 when the registry refuses the transfer or does not answer. detail begins Transfer failed: and says how much Coritan put back on your credit.
  • 503 with detail set to Domain registration is not available right now. and no Retry-After header when Coritan cannot reach a registrar at all. Coritan puts back any charge it took.

The quote answers 502 when Coritan cannot get a price, and the same 503 when it cannot reach a registrar to ask.

The registration stays pending_transfer in GET /api/v1/domains/registrations until the registry reports the domain as ours. A transfer that is rejected, or that the registry has no record of after 14 days, leaves the list, and your credit balance shows a ledger row that begins Refund: domain transfer failed for.

API operations on this page

MethodPathWhat it does
POST/api/v1/domains/transfer/quoteTransfer quote
POST/api/v1/domains/transferStart moving a domain from another registrar to us, paid from credit