Skip to content
Fresh IPv4 news just dropped — 🎉 see what you’re missing

IPv4 Block Verification Checklist

Reviewed by Lukas Brandt, Head of IPv4 brokerage

Run every check below before the contract is signed. Most take minutes with public tools; together they establish that the seller can sell, the registry will approve, and the block will work once it is yours. For why each category matters to a buyer, see the due diligence guide on the blog.

The checklist

#CheckWhere to lookPassRed flag
1Holder of recordRIR WHOIS / RDAPOrganisation matches the selling legal entity exactlyDifferent name, a reseller, or “will be transferred to us first”
2Registration statusstatus: / NetTypeALLOCATED PA, ASSIGNED PI, LEGACY, or ARIN direct allocationASSIGNED PA or a reassignment — the seller is a customer, not the holder
3Signatory authorityCompany registry extract, less than 3 months oldSigner listed as director or holds a power of attorney from oneSigner cannot be found in the extract
4Corporate standingNational company registryActive companyDissolved, struck off, or in liquidation
5Transfer restrictionsRIR policy; last transfer date in the RIR transfer logOutside the 24-month (RIPE), 12-month (ARIN, AFRINIC), or 5-year 103/8 (APNIC) windowReceived recently, or on the RIPE Voluntary Transfer Lock list
6Chain of titleRIR transfer statistics, created: / last-modified:, historic WHOISEach change of holder explained by a transfer or merger recordHolder changed with no registry record, or a recent reactivation of a long-dormant organisation
7Disputes and encumbrancesSeller declaration; court records in the holder’s jurisdiction; RIR notes on the objectNone declared, none foundLitigation, insolvency, a pledge over the block, or remarks referencing a dispute
8Current routingRIPEstat routing status, a looking glassUnannounced, or announced by the holder’s ASNAnnounced by an ASN the seller cannot name
9Routing historyRIPEstat BGP history, route collectorsStable origins the seller can explainShort bursts of announcements from unrelated ASNs
10RPKIRIR RPKI dashboard, RIPEstat RPKI validationNo ROAs, or ROAs for the holder’s or a disclosed lessee’s ASNROAs authorising unknown ASNs, or maxLength wider than any real announcement
11IRR objectsRADB, RIR IRR databasesRoute objects only for known originsStale route objects for unrelated ASNs in third-party IRRs
12BlocklistsSpamhaus, other DNSBLsNot listed, or listed only on policy listsSpamhaus SBL or DROP, or listings tied to current abuse
13GeolocationMajor geolocation databases, existing geofeedCountry matches intended use, or a geofeed can correct itCountry the block cannot be moved out of in reasonable time for your use case
14Current useSeller declaration, reverse DNS, active hostsEmpty, or a lessee with a documented end dateLive customers with no exit plan before completion
15SanctionsEU, US OFAC, and UK lists for both partiesNo matchAny match — the registry will refuse

Most RIRs’ records and all the routing sources are public. Checks 3, 4, 7, and 15 need the seller’s documents or a counterparty screening service.

How to run the registry checks

Query the authoritative registry and confirm the fields used in checks 1, 2, and 6:

whois -h whois.ripe.net 203.0.113.0/24 | grep -E '^(inetnum|netname|org|status|mnt-by|created|last-modified):'
whois -h whois.ripe.net ORG-EXAMPLE1-RIPE | grep -E '^(org-name|org-type|country|address):'

For ARIN space, the equivalent fields are NetRange, NetType, OrgName, RegDate, and Updated:

whois -h whois.arin.net "n + 203.0.113.0"

WHOIS and RDAP explains how to read the status values for each registry and how to resolve conflicting answers between them.

How to run the routing and RPKI checks

RIPEstat covers prefixes from every registry, not only RIPE space:

# Who announces the prefix now, and since when
curl -s "https://stat.ripe.net/data/routing-status/data.json?resource=203.0.113.0/24" \
  | jq '.data.origins, .data.first_seen'

# Validity of a specific origin against published ROAs
curl -s "https://stat.ripe.net/data/rpki-validation/data.json?resource=AS64500&prefix=203.0.113.0/24" \
  | jq '.data.status, .data.validating_roas'

Ask the seller to explain every origin ASN in the history. Legitimate answers include their own network, a former upstream, and a disclosed lessee. Silence or “we don’t know” is the answer to investigate.

How to run the reputation checks

DNSBL queries take the address in reverse octet order:

dig +short 1.113.0.203.zen.spamhaus.org

An empty answer means not listed. Spamhaus refuses queries arriving through large public resolvers, so run this from your own resolver or use the Spamhaus web lookup. Sample several addresses across the block, not only the first one: listings are usually per address or per /24.

Before announcing, also check the block against the bogon lists your upstreams filter on — see reserved and bogon ranges. A block that was unannounced for years may still appear in stale filters.

What to do with a failed check

A failed check does not end the deal automatically. Sort failures into three groups:

  • Blocking. Checks 1, 3, 4, 5, 7 when a dispute is active, and 15. The registry will refuse the transfer or the seller cannot give title. Stop until fixed.
  • Fix before completion. Checks 10, 11, 12, and 14. Make the seller responsible for revoking ROAs, deleting stale route objects, finishing delistings, and ending leases, and state it in the contract as a condition of escrow release.
  • Price or plan around. Check 13 and minor history in check 9. Geolocation can be corrected after the transfer with a geofeed; historic but explained announcements are normal for a used block.

Transfer risks describes the patterns behind the blocking failures. If you want these checks run for you as part of a purchase, see buying IPv4 with verification included.

Last updated on