Rynek IPv4 w październiku 2026: ceny, transfery, kolejka
Miesiąc w jednym akapicie (sprawdzono 2026-11-09). Październik 2026 był miesiącem pełnym transakcji, ale spokojnym pod względem liczby adresów. Rejestr RIPE NCC pokazuje 253 transfery rynkowe, mniej więcej tyle co we wrześniu (237) i w październiku 2025 (252), ale objęły one tylko 342,528 adresów, mniej niż połowę z 779,008 we wrześniu: żadna /16 nie zmieniła właściciela. Ceny lekko się umocniły: miesięczna mediana ip4.market dla wszystkich rozmiarów wzrosła z $20.00 we wrześniu do $22.00 w październiku, a jej 30-dniowa mediana dla /24 wyniosła $25.34 za IP przy 26 sprzedażach (indeks z 2026-11-02). Lista oczekujących RIPE wydłużyła się o 27 LIR-ów, do 820. To datowane obserwacje z publicznych źródeł; wycenę konkretnego bloku znajdziesz na /ipv4/pricing. Poprzednie wydanie to raport za lipiec 2026.
Sprawdzono 2026-11-09. Dane: tabela transferów RIPE NCC i rejestr transferów ARIN (oba zmienione 2026-11-09), plik
stats.jsonlisty oczekujących RIPE NCC. Ceny: IPv4 Price Index ip4.market (stan na 2026-11-02), strona dzierżawy IPv4Center (odczyt 2026-11-09). Polityka: RIPE NCC Member Update, październik 2026, wyniki GM z października 2026, podsumowanie 1. dnia ARIN 58.
Październik w rejestrach: skrypt do ponownego uruchomienia
Rejestry publikują każdy transfer, więc miesiąc rynku można policzyć, zamiast zgadywać. Poniższy skrypt czyta tabelę transferów RIPE NCC, rejestr transferów ARIN i migawki listy oczekujących RIPE, a następnie porównuje wybrany miesiąc z poprzednim oraz z tym samym miesiącem rok wcześniej. "Transfer rynkowy" oznacza tu wpis RIPE typu POLICY (sprzedaż lub dzierżawa między członkami, nie fuzja) albo RESOURCE_TRANSFER w ARIN obejmujący IPv4. Bun lub Node 18+, bez zależności. Zapisz go jako ipv4_month.js:
// ipv4_month.js - one month of the IPv4 market from public registry logs:
// RIPE NCC transfers by block size and country, ARIN transfers and inter-RIR flows, RIPE waiting list.
// Usage: bun ipv4_month.js 2026-10 (Bun or Node 18+, no dependencies)
const M = process.argv[2] ?? '2026-10'
const shift = (m, d) => { const [y, n] = m.split('-').map(Number), t = new Date(Date.UTC(y, n - 1 + d, 1)); return t.toISOString().slice(0, 7) }
const MONTHS = [shift(M, -12), shift(M, -1), M]
const get = async u => { const r = await fetch(u); return [await r.json(), r.headers.get('last-modified')] }
const [ripe, rMod] = await get('https://www-static.ripe.net/dynamic/table-of-transfers/ipv4/transfers-allocations.json')
const [arin, aMod] = await get('https://ftp.arin.net/pub/stats/arin/transfers/transfers_latest.json')
const [wl] = await get('https://www-static.ripe.net/dynamic/ipv4-waiting-list/stats.json')
console.log(`RIPE log modified ${rMod}\nARIN log modified ${aMod}`)
// RIPE NCC: date is DD/MM/YYYY, blocks are CIDR or "a.b.c.d - e.f.g.h" ranges
const ip = s => s.trim().split('.').reduce((a, o) => a * 256 + +o, 0)
const size = b => b.includes('/') ? 2 ** (32 - +b.split('/')[1]) : ip(b.split('-')[1]) - ip(b.split('-')[0]) + 1
const ym = d => `${d.slice(6, 10)}-${d.slice(3, 5)}`
const bucket = n => n <= 256 ? '/24' : n <= 1024 ? '/23-/22' : n <= 4096 ? '/21-/20' : '/19+'
const B = ['/24', '/23-/22', '/21-/20', '/19+']
const ripeMonth = m => {
const s = { deals: 0, ips: 0, temp: 0, ma: 0, maIps: 0, cross: 0, by: {}, to: {} }
for (const t of ripe.transfers.filter(t => ym(t.date) === m)) {
if (t.transferType !== 'POLICY') { s.ma++; for (const b of t.transferred_blocks.split(',')) s.maIps += size(b); continue }
s.deals++
if (t.transferStatus === 'TEMPORARY') s.temp++
if (t.from_country_code && t.to_country_code && t.from_country_code !== t.to_country_code) s.cross++
for (const b of t.transferred_blocks.split(',')) {
const n = size(b)
s.ips += n
s.by[bucket(n)] = (s.by[bucket(n)] ?? 0) + 1
if (t.to_country_code) s.to[t.to_country_code] = (s.to[t.to_country_code] ?? 0) + n
}
}
return s
}
const R = MONTHS.map(ripeMonth)
const row = (k, f) => console.log(k.padEnd(26) + R.map(s => String(f(s)).padStart(10)).join(''))
console.log(`\nRIPE NCC market transfers ${MONTHS.map(m => m.padStart(10)).join('')}`)
row('transfers', s => s.deals)
for (const b of B) row(` blocks ${b}`, s => s.by[b] ?? 0)
row('addresses', s => s.ips.toLocaleString('en-US'))
row('temporary (leases)', s => s.temp)
row('cross-border', s => `${Math.round(100 * s.cross / s.deals)}%`)
row('mergers / acquisitions', s => s.ma)
row(' their addresses', s => s.maIps.toLocaleString('en-US'))
const top = Object.entries(R[2].to).sort((a, b) => b[1] - a[1]).slice(0, 5)
console.log(`top recipient countries ${M}: ${top.map(([c, n]) => `${c} ${n.toLocaleString('en-US')}`).join(', ')}`)
// ARIN: zero-padded octets, IPv6-only entries skipped; market transfers only (no mergers)
const aIps = t => (t.ip4nets?.transfer_set ?? []).reduce((s, n) => s + ip(n.end_address) - ip(n.start_address) + 1, 0)
console.log(`\nARIN market transfers ${MONTHS.map(m => m.padStart(10)).join('')}`)
const A = MONTHS.map(m => arin.transfers.filter(t => t.type === 'RESOURCE_TRANSFER' && t.transfer_date.startsWith(m) && aIps(t)))
const arow = (k, f) => console.log(k.padEnd(26) + A.map(l => String(f(l)).padStart(10)).join(''))
arow('inside ARIN', l => l.filter(t => t.source_rir === 'ARIN' && t.recipient_rir === 'ARIN').length)
arow('ARIN -> RIPE NCC', l => l.filter(t => t.source_rir === 'ARIN' && t.recipient_rir === 'RIPE NCC').length)
arow('ARIN -> APNIC', l => l.filter(t => t.source_rir === 'ARIN' && t.recipient_rir === 'APNIC').length)
arow('into ARIN from others', l => l.filter(t => t.source_rir !== 'ARIN' && t.recipient_rir === 'ARIN').length)
arow('addresses', l => l.reduce((s, t) => s + aIps(t), 0).toLocaleString('en-US'))
// RIPE NCC IPv4 waiting list: one snapshot per day
const day = d => wl[d] ? `${wl[d].length} LIRs, front ${wl[d].first_position_days} days` : 'no snapshot'
const first = `${M}-01`, next = `${shift(M, 1)}-01`
console.log(`\nRIPE waiting list ${first}: ${day(first)}\nRIPE waiting list ${next}: ${day(next)}`)
bun ipv4_month.js 2026-10
Wynik uruchomienia na serwerze DCXV Cloud z Bun 1.4.4 w dniu 2026-11-09:
RIPE log modified Mon, 09 Nov 2026 05:00:03 GMT
ARIN log modified Mon, 09 Nov 2026 04:59:14 GMT
RIPE NCC market transfers 2025-10 2026-09 2026-10
transfers 252 237 253
blocks /24 89 83 78
blocks /23-/22 119 108 123
blocks /21-/20 40 29 41
blocks /19+ 14 24 12
addresses 805,120 779,008 342,528
temporary (leases) 1 0 7
cross-border 46% 56% 58%
mergers / acquisitions 92 70 367
their addresses 1,344,000 129,792 1,065,728
top recipient countries 2026-10: GB 82,176, NO 45,056, DE 34,304, RU 32,512, ES 20,992
ARIN market transfers 2025-10 2026-09 2026-10
inside ARIN 62 70 76
ARIN -> RIPE NCC 45 105 52
ARIN -> APNIC 6 18 9
into ARIN from others 17 7 4
addresses 1,594,880 1,355,776 875,264
RIPE waiting list 2026-10-01: 793 LIRs, front 485 days
RIPE waiting list 2026-11-01: 820 LIRs, front 497 days
Jak to czytać. Liczba transakcji się utrzymała, rozmiar bloków spadł. 253 transfery rynkowe w RIPE to normalny miesiąc, ale zabrakło dużych bloków: 12 bloków /19 lub większych wobec 24 we wrześniu, kiedy przeszło kilka /16 (90.98.0.0/16 firmy Orange do Fastly, 62.83.0.0/16 Vodafone ONO do netcup, dwie /16 wśród siedmiu bloków od FREENET JSC do FARLEP-INVEST). Najwięcej ruchu było w przedziale od /23 do /22: 123 bloki. Skok fuzji: 367 wpisów o fuzjach lub przejęciach, z czego 325 pochodzi z trzech konsolidacji w rejestrze: przestrzeń dwóch węgierskich operatorów przeszła do 2Connect, a przestrzeń JSC Avantel do ER-Telecom Holding. To ruchy korporacyjne, nie sprzedaże, więc nic nie mówią o cenie. Pojawiły się transfery tymczasowe: 7, wszystkie 5 października, od jednego chińskiego posiadacza do jednej niemieckiej firmy; transfer tymczasowy ma datę końcową i właśnie tak w rejestrze wygląda dzierżawa. 58% transferów rynkowych przekroczyło granicę, wobec 46% rok wcześniej; najwięcej adresów otrzymały Wielka Brytania, Norwegia i Niemcy. Po stronie ARIN transfery do RIPE NCC spadły z powrotem do 52 po wrześniu ze 105 transferami; przepływ i jego zasady opisuje nasz przewodnik po transferach z ARIN do RIPE.
Październikowy Member Update samego RIPE NCC podał 2,173,440 adresów przeniesionych we wrześniu. Ta liczba obejmuje więcej rodzajów transferów niż nasz filtr ograniczony do POLICY (908,800 razem z fuzjami); nie uzgadnialiśmy obu wartości, więc porównuj tylko porównywalne dane.
Ceny: indeks ip4.market za październik
| Blok | Mediana 30 dni za IP | Sprzedaże | Mediana 90 dni za IP | Sprzedaże |
|---|---|---|---|---|
| /24 (256 adresów) | $25.34 | 26 | $25.25 | 79 |
| /23 (512 adresów) | $21.48 | 11 | $21.00 | 44 |
| /22 (1,024 adresy) | $20.00 | 13 | $19.00 | 49 |
| /21 (2,048 adresów) | $16.98 | 4 | $17.00 | 26 |
| /20 (4,096 adresów) | $15.38 | 2 | $15.97 | 18 |
Źródło: IPv4 Price Index ip4.market, stan na 2026-11-02, odczyt 2026-11-09 (666 zgłoszonych sprzedaży od 2026-03-11). 30-dniowa mediana dla wszystkich rozmiarów wyniosła $21.75 przy 70 sprzedażach; miesięczna mediana dla wszystkich rozmiarów wynosiła $20.00 w czerwcu, $19.00 w lipcu i sierpniu, $20.00 we wrześniu i $22.00 w październiku. Wiersze z małą próbą czytaj ostrożnie: dwie sprzedaże /20 to jeszcze nie cena. Rozrzut według rozmiaru jest znajomy, około $25 za IP dla /24 i od $15 do $16 dla /20 w 90 dniach do 2026-11-02, dlatego kupujący /22 lub większy blok powinni liczyć cenę za IP, a nie za blok. Skąd rynek przyszedł w tym roku, opisuje tekst o odbiciu w I połowie 2026; wycenę zawsze sprawdzaj na /ipv4/pricing.
Dzierżawa. Strona dzierżawy IPv4Center podawała /24 za $0.43 do $0.59 za IP miesięcznie i /22 za $0.39 do $0.98 (odczyt 2026-11-09, strona bez daty), a ip4.market podaje EUR 0.50 za IP miesięcznie jako punkt odniesienia dla dzierżawy. Przy $25.34 za zakup i około $0.50 miesięcznie za dzierżawę zakup /24 zwraca się po mniej więcej czterech latach czynszu, nie licząc opłat; pełne wyliczenie, z opłatami rejestru, znajdziesz w tekstach IPv4: dzierżawa czy zakup i IPv4 jako inwestycja.
Polityka i wiadomości z rejestrów w październiku
- Walne Zgromadzenie RIPE NCC, od 28 do 30 października. 1,102 głosy; obie uchwały przyjęto: ewentualna nadwyżka za 2026 trafi do rezerw (deficyt pokryliby członkowie w 2027), a poprawki Zarządu (Executive Board) do statutu (Articles of Association) weszły w życie. Bez zmian w schemacie opłat na 2027: EUR 1,894 za konto LIR od stycznia, wpisowe EUR 1,000, brak opłaty za transfer (schemat opłat RIPE 2027).
- Brak nowych kont LIR dla istniejących członków. Ograniczenie obowiązujące od 2026-09-29 jest wciąż opisywane jako tymczasowe, do czasu dyskusji o polityce; nowy członek nadal może dołączyć (własny LIR w RIPE w 2026).
- Zamknięcie do 31 grudnia. RIPE NCC prosi członków o składanie wniosków o zamknięcie LIR przed 31 grudnia 2026, aby uniknąć faktury za 2027. Posiadacz, który sprzedaje cały przydział i nie ma innego zastosowania dla konta, powinien zaplanować transfer i zamknięcie razem.
- Address Policy. Propozycja 2026-01 (pierwszy numer AS bez oceny potrzeb) jest w fazie Review Phase, uwagi do 10 listopada; 2026-03 ujednolica tekst o audytach IPv6 z politykami IPv4.
- ARIN 58, Miami, od 22 do 23 października. Raport z wdrażania polityk poruszył regułę 12 miesięcy: odbiorca według NRPM 8.3 lub 8.4 nie może przez 12 miesięcy przekazać przestrzeni dalej, ale sekcje dotyczące odbiorców tego nie mówią i część odbiorców o tym nie wiedziała. Niektórzy uczestnicy pytali, czy ten okres karencji nie powinien zniknąć całkowicie. Projekt ARIN-2025-3 obniżyłby próg dla transferów poza region z /22 do /24. Na razie bez rozstrzygnięcia. Zarząd ARIN zatwierdził 5% podwyżkę opłat za usługi rejestru na 2027.
Na co patrzeć w listopadzie
- Czy październikowy wzrost cen się utrzyma. 30-dniowa mediana dla wszystkich rozmiarów, $21.75, leży między $20.00 z września a $22.00 z października; drugi miesiąc na poziomie $22 by to potwierdził.
- Duże bloki. W październiku zabrakło sprzedaży /16. Jeśli wrócą w listopadzie, wolumen adresów skoczy, a liczba transakcji pozostanie płaska, jak we wrześniu.
- Lista oczekujących. 830 LIR-ów w dniu 2026-11-09, a najstarszy wniosek czeka 501 dni. Kolejka jest krótsza niż rok temu (872 w dniu 2025-10-31), ale pierwsi w kolejce czekają mniej więcej tyle samo; koszt czekania w porównaniu z zakupem opisuje tekst lista oczekujących RIPE czy zakup /24.
- Transfery na koniec roku. Grudzień 2025 przyniósł 673 transfery rynkowe w RIPE, najwięcej w ciągu ostatnich dwóch lat. Rejestr nie mówi dlaczego; prawdopodobnym powodem jest koniec roku (budżety, kolejna opłata roczna). Jeśli twoja transakcja ma się zamknąć w grudniu, rozpocznij transfer w listopadzie.
Kupujesz, sprzedajesz lub dzierżawisz przed końcem roku? DCXV jest członkiem RIPE NCC (AS204057) i pośredniczy w transferach we wszystkich regionach; uwagi o rejestrze znajdziesz na /ipv4/ripe, porozmawiaj z działem IPv4 lub napisz na ipv4@dcxv.com.
