Connect the Fondoo domain registrar to Fondoo

dnsLive6 min readUpdated

Fondoo can search for, buy and renew domain names for your business. It then sets up DNS and links the new domain to your Fondoo site. Your AI agent can find names and request purchases. Every purchase stays inside the spending limits you set, and every purchase an agent starts needs your approval.

Fondoo runs the registrar side itself. Its registrar adapter uses Name.com's Core API, and DNS zones are created in Fondoo's Cloudflare account. You never create a Name.com or Cloudflare account, and you never handle their API keys. Your setup is: a payment method, your real contact details as the domain owner, and your spending limits.

What Fondoo can do with it

  • Search names and prices across .com, .co, .app, .dev, .ai and .io, including suggestions based on your business (search_domains).
  • Buy a domain (buy_domain) for 1 to 10 years. .ai needs at least 2 years. WHOIS privacy and transfer lock are switched on.
  • Set it up automatically after payment. Fondoo creates a DNS zone and points the domain's nameservers at it. If you gave a siteId, it also links the domain to that site (using set_custom_domain and get_domain_status). If you gave a forwardingDestination email, it sets up email forwarding. If setup stalls, provision_purchased_domain retries it safely, with no new charge.
  • Renew domains (renew_domain). Fondoo-managed auto-renew is on by default. About 30 days before a domain expires, Fondoo requests a renewal under the same rules. Turn it off with set_auto_renew.
  • Report on your domains and spending: list_domains, get_domain, get_spending, get_purchase.

Money rules (exactly as the code applies them):

  • Prices are in USD cents. The price is the registrar's quote plus a Fondoo domain fee. The fee is shown as fee in search results; the default configuration is $2. Domains are non-refundable.
  • Monthly spending cap. The default is $50 (5000). A purchase that would go over what's left this UTC month is blocked. Your approval cannot get around the cap. Only the owner can raise it, with set_spending_cap.
  • Auto-approve limit. The default is $25 (2500). Anything above it needs your approval.
  • Agents always need approval. When an AI agent buys or renews over the API or MCP, Fondoo returns pending_approval with an approvalUrl, even below the auto-approve limit. MCP clients with no name, or whose name contains openai or chatgpt, also always need approval.
  • Automatic renewals below your auto-approve limit are charged without asking. Above it, you get a notice with an approval link.
  • Approval links expire after one hour. Purchases can only be approved on the Fondoo website. They cannot be approved over MCP or through decide_approval.

Only the human owner can run these: set_registrant_profile, complete_payment_method_setup, set_spending_cap, set_auto_approve_limit, cancel_purchase and approve_purchase.

Before you start

  • A Fondoo workspace on the hosted service. Domain purchases are turned off when you host Fondoo yourself.
  • The Fondoo operator must have the registrar turned on. You can check this: get_status shows providers.registrar: true.
  • A card for Stripe's hosted card form. If your Fondoo balance is turned on, it is used first and any remainder goes on the card. A card remainder under $0.50 is blocked (Stripe minimum); top up the balance instead.
  • Your real contact details as the domain's registrant: name, address, two-letter country code, email and phone number in + international format. ICANN rules require accurate contact data (ICANN registrant resources). The registrar may email you to confirm them.
  • Agent keys need purchases:write and domains:write. Linking to a site also needs sites:write, and forwarding needs email:write.

Step by step: set up payment, contacts and limits

This replaces "getting credentials". There is no vendor key to copy.

  1. Save a card. Call get_payment_method_setup_link (your agent can do this). Open the returned url. On Stripe's hosted page, add your card and agree to future off-session charges. No charge is made at this step.
  2. Confirm the card. When you're back, the owner calls complete_payment_method_setup. Fondoo checks the Stripe setup and saves the payment method. Agents cannot do this step.
  3. Add your registrant profile. The owner calls set_registrant_profile with profile set to firstName, lastName, optional companyName, address1, optional address2, city, state, zip, country, phone and email, plus verifiedHuman: true. Agents must never make up these details, and they cannot set them.
  4. Set your limits (optional). The owner calls set_spending_cap({amount}) and set_auto_approve_limit({amount}), both in cents. For example, amount: 10000 is $100.

Connect it in Fondoo

(a) Dashboard. On Connections, under Available, type "registrar" in Find a tool. You'll see a Domains group with a Connect Registrar button. Clicking it shows Continue connecting and a Connect securely button. These open the setup instructions only. Purchases, approvals and limits are not managed from this page. Once a domain bought through Fondoo is linked to the site, it appears in the Connected card. Approvals happen on Fondoo's Review approval page: sign in, then choose Approve or Decline.

(b) Ask your agent. Example prompt:

Find a .com domain for my bakery under $20 and request to buy it for one year, connected to my site.

The agent runs:

  1. search_domains({businessId}) or search_domains({name: "mybakery"}). Prices are only a guide until purchase.
  2. buy_domain({name: "mybakery.com", years: 1, siteId, maxAmount: 2000, idempotencyKey: "buy-mybakery-com-1"}). maxAmount is the most you'll pay including the fee. The idempotencyKey is required; reuse the same key with the same input for any retry.
  3. The result is pending_approval with an approvalUrl. Open it, sign in and approve. Fondoo re-checks your cap, charges, registers the domain and starts setup.
  4. get_purchase({purchaseId}) and get_domain({domainId}) to follow progress.

REST equivalent:

curl -X POST https://api.getfondoo.com/v1/ops/buy_domain \
  -H "Authorization: Bearer $FONDOO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"mybakery.com","years":1,"siteId":"YOUR-SITE-UUID","maxAmount":2000,"idempotencyKey":"buy-mybakery-com-1"}'

Add "dryRun": true to preview the call; a preview makes no charge or registration. connect_service({provider: "registrar", siteId}) returns only the instructions and a 15-minute link.

Purchase statuses you may see: pending_approval (waiting for you), blocked (see message), requires_action (your bank wants extra verification; open authenticationUrl), paid, fulfilled (registered), and uncertain or fulfillment_uncertain (see Troubleshooting).

Test that it works

  1. get_status shows providers.registrar: true.
  2. search_domains({name: "yourbrand"}) returns results with available, amount and fee.
  3. get_spending shows your monthlyCap, autoApproveLimit and remaining.
  4. After a purchase, get_domain shows setupStatus moving from pending to dns_ready to complete. It may stop at pending_verification or pending_email_verification for a while. Fondoo's background job retries setup about every 15 minutes, and provision_purchased_domain retries it on demand.

Troubleshooting

  • connection_required for registrar. The operator has not turned on the registrar adapter. Contact Fondoo support.
  • "The human owner must set and attest the registrant profile before buying." Do step 3 above.
  • blocked: "Human must complete get_payment_method_setup_link and complete_payment_method_setup before purchase." Do steps 1 and 2, then make a new request.
  • blocked: "Monthly cap exceeded." The owner raises the cap with set_spending_cap, then makes a new request with a new idempotencyKey. If you want to replace a stuck request, cancel it first with cancel_purchase.
  • "Current price is N USD cents, above maxAmount", or "Registrar price/availability changed". Search again and retry with a higher maxAmount and a new key.
  • "Approval expired; request a new purchase." Cancel it with cancel_purchase and request again with a new key.
  • uncertain or fulfillment_uncertain. Do not retry with a new key. Fondoo support must reconcile it, so you are not charged twice.

Limits, data and security

  • What Fondoo stores: your registrant details, encrypted with a key tied to your workspace. It also keeps Stripe customer and payment-method IDs (not card numbers) and a purchase record with price, fee, approval and status. Contact details and card secrets never appear in operation results or audit logs.
  • Ownership: you are the registrant on record. The domain is registered through Fondoo's registrar account, and the registrar's own auto-renew is off so it can't bill you outside your limits. Fondoo has no operation for transferring a domain out; ask Fondoo support.
  • Stop spending: set the cap to 0 with set_spending_cap. You can't lower it below what is already paid plus pending payments while payments are in flight. Turn off renewals per domain with set_auto_renew({domainId, enabled: false}). Watch your expiry dates if you do.
  • Fondoo's docs mark the hosted bank-verification page as not yet verified with real banks. This may differ for your account.