Ship a project end to end

Domains your agent can register itself

An agent that builds a site should be able to buy the domain too. AgentRefills lets it register a new name, renew one before it lapses and pay for it in the same run, all under the spend caps and approval rules you set.

Register + renewone API for both
190+countries served
Caps enforcedon every purchase
What agents can do

Own the whole build, not just the code

Domains are one of six product families behind a single API. An agent calls the same tools it uses for gift cards or compute, and gets a name it can actually point DNS at.

Register a new domain

Claim the name a project needs the moment it is decided. One call places the order and pays from your pre-funded balance, no checkout page and no card to type.

Renew before expiry

Keep the names you already run alive. An agent watching expiry dates can renew on schedule so a live site never drops offline over a missed renewal.

Buy for a spun-up project

When an agent provisions compute and scaffolds an app, it can grab a matching domain in the same workflow, so a fresh project ships with a real address from day one.

One call, under policy

A purchase that stays inside the guardrails

Buying a domain is the same purchase flow as everything else on AgentRefills. Amounts are integer minor units, a client_ref makes the call idempotent, and anything over your threshold pauses for a human before money moves.

agent.py
# Register the domain the agent just picked
import requests

resp = requests.post(
    "https://agentrefills.com/v1/purchases",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "brand": "domains",
        "sku": "register-1yr",
        "domain": "my-new-project.com",
        "amount_minor": 1200,   # $12.00, integer cents
        "client_ref": "proj-8842-domain",
    },
)

task = resp.json()

if task["status"] == "APPROVAL_REQUIRED":
    # Over your threshold: a human is pinged in Slack.
    # Re-send the same client_ref later to resume, never double-charge.
    wait_for_approval(task["task_id"])
  • Caps enforced. Per-agent daily and monthly spend limits plus a brand allowlist gate the call before any order is placed.
  • Approval above threshold. Spend past your configured line returns APPROVAL_REQUIRED and pings a human in Slack before money moves.
  • Fail closed. If the policy engine is unreachable the purchase is denied, never quietly allowed. Deny is the safe default.
  • Idempotent. Re-using a client_ref returns the existing task and never charges twice, even across retries and crashes.
  • Audited. Every purchase is reconstructable from an OpenTelemetry trace and a double-entry ledger that always sums to zero.
Why agents love it

Autonomy where it is safe, a human where it counts

The point is not to hand an agent an open wallet. It is to let it finish a task without a human stapled to every small purchase, while you keep hard limits and a clean record.

No human handoff for small buys

A routine domain registration inside your cap goes through on its own. The agent keeps moving and only stops for the amounts you flagged as worth a look.

Budget you control

Daily and monthly caps, a brand allowlist and a kill switch mean a runaway loop cannot outspend the limits you set. The ceiling is yours, not the agent's.

Full audit

Every registration and renewal lands in a double-entry ledger and a trace you can replay. When finance asks what a domain cost and why, the answer is one query away.

Give your agent a domain to ship on

Start in the free sandbox, set your caps and approval threshold, then let an agent register and renew names as part of the build. No floats, no double charges, full audit.