---
title: "Instant register domain with records"
method: POST
path: "/orders/register-domain/records"
tags: ["orders"]
---

# Instant register domain with records

`POST /orders/register-domain/records`

## Request

- Base URL: `https://api.namefi.io/v-next`
- URL: `https://api.namefi.io/v-next/orders/register-domain/records`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Purchase a single domain instantly and apply DNS records after processing. Payment is taken from the NFSC balance first; any remainder is charged to the credit card saved on the Namefi profile (card legs are at least $1.00).

## Headers

- `x-namefi-eip7702-account` string
- `x-namefi-eip1271-account` string
- `x-namefi-erc1271-account` string

## Request body

- object: Example payload: ``` { "normalizedDomainName": "example.com", "durationInYears": 1, "records": [{ "name": "@", "type": "A", "rdata": "203.0.113.10", "ttl": 30 }, { "name": "www", "type": "CNAME", "rdata": "app.example.net." }] }], "nftReceivingWallet": { "walletAddress": "0x1111111111111111111111111111111111111111", "chainId": 8453 } } ```
  - `normalizedDomainName` string, required
  - `durationInYears` integer
  - `domainSetupOptions` object: Per-item domain setup overrides (autoPark, autoEns, autoRenew, dnssec, nameservers, keepExistingNameservers). Explicit nonempty nameserver hostnames override keepExistingNameservers; external nameservers cannot enable Namefi DNSSEC. Defaults applied when omitted.
    - `autoPark` boolean
    - `autoEns` boolean
    - `autoRenew` boolean
    - `dnssec` boolean
    - `nameservers` string[]: At least one unique nameserver hostname, normalized to lowercase ASCII with a trailing dot. Overrides keepExistingNameservers; external nameservers cannot enable Namefi DNSSEC.
    - `keepExistingNameservers` boolean
  - `nftReceivingWallet` object: Wallet address and chain ID of the wallet that will receive the NFT, defaults to the buyer's wallet and "Base Chain"
    - `walletAddress` string, required
    - `chainId` number, required
  - `records` object[]
    - `name` string, required
    - `type` 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT' | 'NS' | 'SOA' | 'PTR' | 'SRV' | 'CAA' | 'DS' | 'TLSA' | 'SSHFP' | 'HTTPS' | 'SVCB' | 'NAPTR' | 'SPF' | 'ANAME', required
    - `rdata` string, required
    - `ttl` integer

## Response `200`

OK

- object
  - `id` string, required
  - `userId` string, required
  - `amountInUSDCents` number, required
  - `nftWalletAddress` string, nullable, required
  - `nftChainId` number, nullable, required
  - `items` object[], required
    - `id` string, uuid, required
    - `orderId` string, uuid, required
    - `normalizedDomainName` string, required
    - `amountInUSDCents` integer, required
    - `durationInYears` integer, required
    - `type` 'REGISTER' | 'IMPORT' | 'RENEW', required
    - `registrar` string, required
    - `encryptionKeyId` string, nullable, required
    - `encryptedEppAuthorizationCode` string, nullable, required
    - `status` 'CREATED' | 'PROCESSING' | 'SUCCEEDED' | 'FAILED' | 'CANCELLED' | 'PARTIALLY_COMPLETED', nullable, required
    - `metadata` object
      - `freeClaim` boolean
      - `groupOrCampaignKey` string
      - `claimId` string
      - `emailAcquisitionReceipt` object
        - `version` unknown, required
        - `orderId` string, uuid, required
        - `orderItemId` string, uuid, required
        - `normalizedDomainName` string, required
        - `holderIdentifier` string, required
        - `recordedAt` string, date-time, required
      - `domainSetupOptions` object
        - `autoPark` boolean
        - `autoEns` boolean
        - `autoRenew` boolean
        - `dnssec` boolean
        - `nameservers` unknown[]: At least one unique nameserver hostname, normalized to lowercase ASCII with a trailing dot. Overrides keepExistingNameservers; external nameservers cannot enable Namefi DNSSEC.
          - unknown
        - `keepExistingNameservers` boolean
      - `tldRegistrationRequirementAcknowledged` boolean
      - `mintTransaction` object
        - `txHash` string, required
        - `recordedAt` string, required
      - `extendTransaction` object
        - `txHash` string, required
        - `recordedAt` string, required
      - `postProcessOrderItem` object
        - `actions` object[], required
          - `scope` 'dns-records', required
          - `action` 'add' | 'set', required
          - `records` object[], required
            - `name` string, required
            - `type` 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT' | 'NS' | 'SOA' | 'PTR' | 'SRV' | 'CAA' | 'DS' | 'TLSA' | 'SSHFP' | 'HTTPS' | 'SVCB' | 'NAPTR' | 'SPF' | 'ANAME', required
            - `rdata` string, required
            - `ttl` integer
      - `requiredAction` 'EPP_UNLOCK_REQUIRED' | 'EPP_AUTH_CODE_UPDATE_REQUIRED' | 'UNDETERMINED'
      - `failureDetails` object
        - `requiredAction` 'EPP_UNLOCK_REQUIRED' | 'EPP_AUTH_CODE_UPDATE_REQUIRED' | 'UNDETERMINED', required
        - `resolution` 'USER_SIGNAL' | 'TIMEOUT', required
        - `actor` 'USER' | 'ADMIN'
        - `actorId` string
        - `timeoutMs` integer
        - `recordedAt` string, required
      - `importRenewalShortfall` object
        - `requestedYears` integer, required
        - `deliveredYears` integer, required
        - `undeliveredYears` integer, required
        - `renewalErrorMessage` string, required
        - `refundQueuedAmountInUsdCents` integer, required
        - `recordedAt` string, required
      - `backfilled_started_finished_at` boolean
      - `legacyOrderItemMetadata` object
        - `source` 'legacy', required
        - `type` 'legacy-migration', required
        - `legacyItemId` string, required
        - `chainId` number, required
        - `receivingWalletAddress` string, nullable, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `startedAt` string, date-time, nullable, required
    - `finishedAt` string, date-time, nullable, required
  - `payments` object[], required: Planned split of the order total across payment rails: NFSC balance legs first, then the saved credit card for any remainder. Legs are charged asynchronously after order creation.
    - `paymentProvider` 'NFSC_BASE' | 'NFSC_ETHEREUM' | 'NFSC_ETHEREUM_SEPOLIA' | 'MPP' | 'STRIPE' | 'X402', required
    - `amountInUSDCents` integer, required
    - `chainId` integer
    - `walletAddress` string
    - `brand` string
    - `last4` string

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `403`: 403
- `404`: 404
- `406`: 406
- `408`: 408
- `409`: 409
- `412`: 412
- `429`: 429
- `500`: 500

---

[API](https://skmtc.dev/namefi/apis/namefi-api.md) · [All operations](https://skmtc.dev/namefi/apis/namefi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/namefi/apis/namefi-api/revisions/3c7c3ade95c9?raw)
