---
name: "xpay-instadomain-buy-domain-crypto"
description: "Start the purchase flow for a domain using USDC crypto payment (x402 protocol).

This is a 2-step process for autonomous agent payments:

Step 1: Call this tool to get an order_id and pay_url.
Step 2: Make an HTTP GET request to the pay_url. Your x402-enabled HTTP
client will receive an HTTP 402 response with payment requirements, then
automatically pay with USDC on Base. The payment and settlement happen
via the x402 protocol (no browser or human needed).

After payment, call get_domain_status(order_id) to poll until complete.

Requires: An x402-compatible HTTP client with a funded USDC wallet on Base.

The registrant contact details are required because the domain will be
registered in the buyer's name (they become the legal owner). WHOIS
privacy is enabled by default, so these details are not publicly visible.

IMPORTANT: Before calling this tool, you MUST first call check_domain
to get the price and confirm it with the user.

Args:
    domain: The domain to purchase (e.g. \"coolstartup.com\").
    first_name: Registrant's first name.
    last_name: Registrant's last name.
    email: Registrant's email address.
    address1: Registrant's street address.
    city: Registrant's city.
    state: Registrant's state or province.
    postal_code: Registrant's postal/zip code.
    country: 2-letter ISO country code (e.g. \"US\", \"GB\", \"DE\").
    phone: Phone number in format +1.5551234567.
    org_name: Organization name (optional, leave empty for individuals).

Returns:
    Dict with order_id, pay_url (full URL to GET with x402 client),
    price_usdc, price_cents, network, and asset contract address."
version: "1.0.0"
price: "$0.02/call"
provider: "InstaDomain"
---

# Buy Domain Crypto

Start the purchase flow for a domain using USDC crypto payment (x402 protocol).

This is a 2-step process for autonomous agent payments:

Step 1: Call this tool to get an order_id and pay_url.
Step 2: Make an HTTP GET request to the pay_url. Your x402-enabled HTTP
client will receive an HTTP 402 response with payment requirements, then
automatically pay with USDC on Base. The payment and settlement happen
via the x402 protocol (no browser or human needed).

After payment, call get_domain_status(order_id) to poll until complete.

Requires: An x402-compatible HTTP client with a funded USDC wallet on Base.

The registrant contact details are required because the domain will be
registered in the buyer's name (they become the legal owner). WHOIS
privacy is enabled by default, so these details are not publicly visible.

IMPORTANT: Before calling this tool, you MUST first call check_domain
to get the price and confirm it with the user.

Args:
    domain: The domain to purchase (e.g. "coolstartup.com").
    first_name: Registrant's first name.
    last_name: Registrant's last name.
    email: Registrant's email address.
    address1: Registrant's street address.
    city: Registrant's city.
    state: Registrant's state or province.
    postal_code: Registrant's postal/zip code.
    country: 2-letter ISO country code (e.g. "US", "GB", "DE").
    phone: Phone number in format +1.5551234567.
    org_name: Organization name (optional, leave empty for individuals).

Returns:
    Dict with order_id, pay_url (full URL to GET with x402 client),
    price_usdc, price_cents, network, and asset contract address.

**Provider:** InstaDomain
**Price:** $0.02/call
**Pricing model:** Flat rate per call

## When to Use

Use this tool when you need to start the purchase flow for a domain using usdc crypto payment (x402 protocol).

this is a 2-step process for autonomous agent payments:

step 1: call this tool to get an order_id and pay_url.
step 2: make an http get request to the pay_url. your x402-enabled http
client will receive an http 402 response with payment requirements, then
automatically pay with usdc on base. the payment and settlement happen
via the x402 protocol (no browser or human needed).

after payment, call get_domain_status(order_id) to poll until complete.

requires: an x402-compatible http client with a funded usdc wallet on base.

the registrant contact details are required because the domain will be
registered in the buyer's name (they become the legal owner). whois
privacy is enabled by default, so these details are not publicly visible.

important: before calling this tool, you must first call check_domain
to get the price and confirm it with the user.

args:
    domain: the domain to purchase (e.g. "coolstartup.com").
    first_name: registrant's first name.
    last_name: registrant's last name.
    email: registrant's email address.
    address1: registrant's street address.
    city: registrant's city.
    state: registrant's state or province.
    postal_code: registrant's postal/zip code.
    country: 2-letter iso country code (e.g. "us", "gb", "de").
    phone: phone number in format +1.5551234567.
    org_name: organization name (optional, leave empty for individuals).

returns:
    dict with order_id, pay_url (full url to get with x402 client),
    price_usdc, price_cents, network, and asset contract address.. This is part of the InstaDomain provider on xpay✦.

## MCP Connection

Connect to xpay✦ to access this tool (and 8+ others):

```json
{
  "mcpServers": {
    "xpay": {
      "url": "https://mcp.xpay.sh/mcp?key=YOUR_API_KEY"
    }
  }
}
```

For Claude Code:
```bash
claude mcp add --transport http xpay "https://mcp.xpay.sh/mcp?key=YOUR_API_KEY"
```

## How to Execute

Use the xpay✦ meta-tools to run this tool:

1. **`xpay_details`** — Get full input schema: `xpay_details("instadomain/buy_domain_crypto")`
2. **`xpay_run`** — Execute: `xpay_run("instadomain/buy_domain_crypto", { ...inputs })`

## Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `country` | string | Yes |  |
| `city` | string | Yes |  |
| `phone` | string | Yes |  |
| `address1` | string | Yes |  |
| `domain` | string | Yes |  |
| `last_name` | string | Yes |  |
| `state` | string | Yes |  |
| `postal_code` | string | Yes |  |
| `org_name` | string | No |  |
| `first_name` | string | Yes |  |
| `email` | string | Yes |  |

## Pricing

- **Cost:** $0.02/call
- **Balance check:** Use `xpay_balance` to check remaining credits
- Get your API key at [xpay.tools](https://xpay.tools/account/settings/api-keys/) — $5 free credits included

## Related Skills

- [InstaDomain (all tools)](https://xpay.tools/skills/instadomain/SKILL.md) — 9 tools
- [Check Domain](https://xpay.tools/skills/instadomain/check-domain/SKILL.md) — $0.02/call
- [Buy Domain](https://xpay.tools/skills/instadomain/buy-domain/SKILL.md) — $0.02/call
- [Get Domain Status](https://xpay.tools/skills/instadomain/get-domain-status/SKILL.md) — $0.02/call
- [Get Transfer Code](https://xpay.tools/skills/instadomain/get-transfer-code/SKILL.md) — $0.02/call
- [Unlock Domain](https://xpay.tools/skills/instadomain/unlock-domain/SKILL.md) — $0.02/call

## Links

- Tool page: https://xpay.tools/instadomain/buy-domain-crypto/
- Provider: https://xpay.tools/instadomain/
- All tools: https://xpay.tools/explore
