Everything you need to manage domains on Dbrij: search and buying including .ng, renewals, transfers, Dbrij nameservers, DNS records, connecting a domain, Hosting, email and the public endpoints.
Dbrij Domains is where you buy domain names, including the Nigerian .ng family, priced in naira, and where you run their DNS, secure them with HTTPS and point them at your apps on Dbrij Hosting. Dbrij resells registrations through accredited registrars; it is not a registrar itself.
A domain arrives in one of two ways:
| purchased | source | Bought or transferred through Dbrij. Dbrij renews it, and can write its DNS and change its nameservers for you. |
| connected | source | Registered somewhere else and brought in for DNS checks, HTTPS and Hosting. Its registration stays where it is. |
Every domain lives in a space: your personal space or a company. The space decides who can change it and which Hosting services it can point at. Open your domains at /domains.
For a guided walkthrough, see the Domains guide.
Type a name or a full domain. Search is open to anyone, with no account. It covers one of two catalogues:
| global | default | A bare name is checked across .com, .net, .org, .io, .co, .dev, .app, .ai, .xyz, .tech, .online, .site, .store, .cloud, .space, .biz, .info, .me. Type a full domain to check another ending. |
| ng | Nigerian | The .ng family: .ng, .com.ng, .org.ng, .net.ng, .i.ng, .name.ng, .sch.ng, .mobi.ng. |
Each result says whether the name is available, whether it is a premium name (priced by the registry, and shown at that price), and its price for one year. What can actually be bought is decided live: an ending that cannot be bought here is listed with one sentence saying why, rather than left out. A name that can be bought also says how long the registry usually takes to publish a new name of that ending, measured on purchases made here.
Buying from a Hosting service's page buys the domain for that service: once it is registered, its DNS is pointed at the service and HTTPS is issued, in one step. The check that the service can take a domain runs before you pay, never after.
The domain shows a timeline from payment to a live site, built from the domain, its DNS and its certificate, so it is always current:
| payment | step | The charge cleared. |
| registration | step | The registry holds the name. New .ng names can take hours to publish; most others take minutes. |
| dns | step | The records point where they should. |
| connect, verify | step | Attached to a service and seen pointing at it. |
| https | step | The certificate is issued. |
| live | step | Serving your site over HTTPS. |
Steps are checked about every five minutes, and every minute for a name bought in the last few days. A failed step offers its fix: issue the certificate again, rewrite the DNS records, or contact support. A domain that is not attached to a service stops at registration.
If the registrar refuses a name after you paid, nothing was registered, the domain says so, and your payment is refunded. You can clear it from your list.
| Auto renew | switch | Renews the domain once it is within 5 days of expiry, charging your saved card. It needs a saved card that can be charged automatically. |
| Reminders | notice | Sent 30 days, 7 days, 1 day before expiry. |
| Failed charges | rule | After 3 failed automatic charges in a row, automatic renewal stops trying. Renew by hand instead. |
| Renew by hand | action | Add 1 to 5 years at any time. The price, VAT and total are shown before you pay. |
A renewal is priced from what the registrar that holds your domain charges to renew it, not from the price of a new registration, which is often a promotion. That is why a renewal can cost more than the first year did.
A domain that is not renewed in time shows as expired.
Enter the domain to get a quote first. The quote says whether it can move here, the price, what its nameservers are today, and the steps:
Your DNS stays where it is during the move. If your current registrar runs your DNS, switch the domain to Dbrij nameservers first: some registrars stop answering the moment a name leaves them.
A quote refuses, with the reason, a name inside a domain (transfer the whole domain), a name nobody has registered, a name already registered through Dbrij, a name another Dbrij account uses, and an ending that cannot move here yet.
| awaiting_payment | state | Checkout started; nothing has been sent to the registry yet. |
| requested | state | Sent. The registry is waiting on your current registrar. |
| needs_code | state | The authorization code was refused. Send the right one from the domain; nothing is paid again. |
| locked | state | The domain is locked at your current registrar. Unlock it there and the move continues; nothing is paid again. |
| completed | state | The name is registered through Dbrij now. |
| failed | state | It did not go through. A refund is raised. |
| cancelled | state | Stopped before it finished. A refund is raised when money was taken. |
A transfer that has not been paid for is simply cancelled. One that is waiting, needs a code or is locked can be stopped while the registrar still allows it. Once the registry is actually moving the name it can no longer be stopped; it usually finishes within a week.
Nothing pays a transfer refund automatically, and no clock ever stops a transfer on its own. The moment money is owed back, the refund is raised so it cannot be forgotten, and then a Dbrij super admin approves it. A refused refund carries the reason, word for word. A transfer that goes nowhere for a long time is reviewed by a person, never timed out.
WHERE A REFUND GOES
| card | default | Back to the card that paid, reversing the charge. |
| wallet | your choice | Into the space's balance, where it lands at once and can be spent. You can change the choice while the refund is pending. |
Leaving is free and has no conditions. Ask for the authorization code on the domain and paste it at the new registrar; domains are never locked. Where a registrar will not hand the code back over its API, the domain says the code comes by email to the registrant and when to expect it.
Dbrij runs its own authoritative DNS. Point a domain at these nameservers once and every record is managed on Dbrij:
ns1.dbrij.comns2.dbrij.comA domain bought here starts on the registrar's DNS, which Dbrij writes for you. Where the registrar allows it, moving it to Dbrij nameservers needs no registrar visit: Dbrij copies every record first, then changes the nameservers itself. You can also point a domain bought here at another provider's nameservers: give at least two and at most 13, exactly as the provider lists them. Mixing Dbrij nameservers with another provider's is refused, because half your visitors would get different answers.
Taking a domain off Dbrij nameservers is refused while the world still asks them for its records. Change the nameservers at the registrar first.
Who answers DNS for a domain decides whether Dbrij can write its records:
| registrar | DNS host | Bought here, on the registrar's DNS. Dbrij writes the records for you. |
| dbrij | DNS host | On Dbrij nameservers. Dbrij hosts and writes the zone. |
| external | DNS host | Another provider's nameservers. You add records there yourself; Dbrij tells you which. |
| Registrar DNS | types | A, AAAA, CNAME, MX, TXT, URL, URL301, FRAME. URL, URL301 and FRAME are the registrar's redirect records. |
| Dbrij nameservers | types | A, AAAA, CNAME, MX, TXT, CAA, SRV. CAA (certificate policy) and SRV (calling and chat services) need Dbrij nameservers. |
A RECORD
| name* | string | "@" for the domain itself, or a host such as "www", "*" or "_dmarc". |
| type* | string | One of the types the domain's DNS host takes. |
| value* | string | The address, target or text. |
| ttl | number | Seconds. New records default to 1800. |
| priority | number | MX only. |
Records Dbrij created to point the domain at a Hosting service are marked as managed. Changing or deleting one breaks that attachment, so the editor keeps them locked until you unlock them on purpose. Saving the editor replaces the domain's whole record set with what you see.
Connect a domain you registered somewhere else to use it with Hosting and get HTTPS for it, without moving the registration. Connect an exact name: the domain itself (example.com) or a subdomain (app.example.com). Dbrij returns the one record to add at your DNS provider:
| Root domain | A record | Host @, pointing at the addresses Dbrij shows. Also add a CNAME for www to the target shown, so www works too. |
| Subdomain | CNAME record | Host: the subdomain label, pointing at the service's address on dbrij.app. |
Verification and HTTPS follow on their own once the record is published. A root domain cannot hold a CNAME, which is why it takes an A record.
Connect a domain with no service and it verifies against the Dbrij edge and holds a real certificate on a reserved page until you attach it. When you do, it is already green. Each Hosting plan caps how many domains can wait like this at once; attaching one frees its place.
If the name is already connected in another Dbrij space or account, you prove you control its DNS instead: publish the TXT record Dbrij gives you at _dbrij-claim. followed by the name, then check. On a match the name moves to your space and connects.
_dbrij-claim.example.com TXT <the value Dbrij shows>Any active domain can be secured with HTTPS before it is attached to anything: it points at the Dbrij edge, where a reserved page answers over real HTTPS. A domain registered elsewhere needs one record added first. Pointing the domain's site somewhere else in its DNS switches the reserved page off.
| off | state | Not asked for. |
| pending_dns | state | Asked for, but the domain does not reach Dbrij yet. |
| issuing | state | The certificate is being issued. |
| active | state | HTTPS works. |
| failed | state | Needs a person, with the reason. |
Attach an active domain to a Hosting web service and Dbrij points the domain itself and www at the service by default (you can choose just one), then issues HTTPS. Existing records such as MX and TXT are kept. Moving a domain to another service releases it from the old one first, since a domain serves one service at a time.
A domain points only at services in its own space. A service takes up to 3 domains; the www companion of a root domain is free. These limits are checked before any DNS is touched.
Point app.example.com, api.example.com or a deeper name such as api.staging.example.com at any service, on a domain bought here or connected. Give the label (app, api.staging, or @ for the domain itself) and the service. When Dbrij runs the DNS it writes the CNAME; otherwise it returns the record to add. HTTPS follows automatically.
app.example.com CNAME <service>.dbrij.appA domain can also be added from a service's Domains tab in Hosting, which shows the same records, the verification state and HTTPS. See Custom domains in the Hosting docs.
A company can run its email on its domain. Set it up from the domain: you choose the company the mailboxes belong to, and you must be able to manage that company's email. A company's domain carries that company's email, never another space's.
| Bought here | one step | Dbrij writes the MX, SPF and DKIM records into the domain's DNS and starts verification at once. |
| Connected | by hand | The email domain lists the records; you add them at your DNS provider and it verifies once they are published. |
When the records Dbrij issues for email change later, a domain bought here gets the new set written again automatically. How many email domains a company can carry follows its Hosting plan.
A domain's owner can change it, and so can a member who manages Hosting in its company. Every other member of the company sees it read only: status, DNS and setup, but no buying, attaching, deleting or record changes.
Buying from a Hosting service's page puts the domain in that service's space.
Two endpoints need no account. Every response is wrapped in an envelope: read your payload from data.
https://api.dbrij.com/api/v1curl -X POST https://api.dbrij.com/api/v1/domains/search \
-H "Content-Type: application/json" \
-d '{ "query": "acme", "scope": "global" }'BODY
| query* | string | A name or a full domain, up to 253 characters. |
| scope | "global" | "ng" | Which catalogue. Defaults to global. |
{
"success": true,
"data": [
{
"domain": "acme.com.ng",
"available": true,
"premium": false,
"priceNgnMinor": …,
"registrable": true,
"unsellableReason": null,
"publish": { "phrase": "…", "note": "…", "measured": true }
}
]
}RESULT FIELDS
| available | boolean | Nobody holds the name. |
| premium | boolean | Priced by the registry above the usual price. |
| priceNgnMinor | number | The price to you for one year, in kobo. |
| registrable | boolean | False when the ending cannot be registered here. |
| unsellableReason | string | null | Why it cannot be bought here, when it cannot. |
| publish | object | null | How long the registry usually takes to publish a new name of this ending. |
curl https://api.dbrij.com/api/v1/domains/catalogue
{ "success": true, "data": { "global": true, "ng": true, "ngTlds": ["ng", "com.ng", "org.ng", "net.ng", "i.ng", "name.ng", "sch.ng", "mobi.ng"], "transferIn": true, "dbrijDns": true } }Each flag says whether that part of the product is available right now: the worldwide catalogue, the .ng catalogue, transfers in, and Dbrij nameservers.
An AI assistant connected over MCP (at mcp.dbrij.com, or locally with npx -y dbrij mcp) can read your domains and their DNS and add records, acting as you. It can never buy or remove a domain by itself: it files a request, you approve it on Dbrij, never in chat, and a request you do not decide expires after 15 minutes.
| check_domain | read | Whether a name is available to buy on Dbrij, and its yearly price. |
| list_my_domains | read | Domains in a space, with status, DNS host, attached service, HTTPS and expiry. |
| list_dns_records | read | The records of a domain whose DNS Dbrij manages. Records marked as managed by Dbrij are left alone. |
| add_dns_record | change | Add one record (A, AAAA, CNAME, MX, TXT, CAA, SRV; ttl 60 to 86,400 seconds). Existing records are kept; duplicates and CNAME clashes are refused. Changing or removing a record stays with you. |
| add_domain | change | Attach a domain you own to a Hosting web service and return the DNS record to create. |
| verify_domain | change | Check a domain's DNS now. |
| list_domains | read | A Hosting service's domains, whether DNS and HTTPS work, and the record still needed. |
| request_domain_purchase | request | Ask to register an available name, optionally pointed at a web service. You approve the price on Dbrij. |
| request_domain_removal | request | Ask to detach a custom domain from a service. You approve by typing the domain. |
Dbrij is Nigeria’s company operating system: the first Nigerian built platform to put team chat, video meetings, email, HR, tax compliant payroll, customer support, marketing, analytics and cloud hosting in one product on one subscription.