# Number pooling: why a US code's holder is often not your block's holder

In a pooled US code each block of a thousand can have its own holder. How often it differs from the code's, and what carrier and line type then describe.

Date: 2026-09-27

In a pooled US code, the holder NANPA lists for the six-digit code (NPA-NXX) is often not the holder of the number's own block of a thousand (NPA-NXX-X): in NANPA's files of 26 September 2026, 141,810 of the 197,177 assigned US codes (71.9%) were pooled, 663,918 of the 1,303,876 allocated thousands-blocks (50.9%) sat under a different [operating company number](/glossary/operating-company-number) (OCN) than their code, and at least 468,207 (35.9%) under a different network brand.

This guide explains how pooling splits a code, what each of NANPA's two reports says, how often the holders differ by OCN, by brand and by line type, and which fields of Spaw's answer describe the block. Unless a figure says otherwise it comes from the NANPA files Spaw synced on 26 September 2026 and counts the United States without its territories.

## How pooling splits a code

A central office code covers 10,000 numbers in one [rate centre](/glossary/rate-centre). Before pooling, a carrier that needed numbers in a rate centre was given a whole code of 10,000, whatever its actual need, which the FCC named as one of the major factors behind numbering exhaust in its Numbering Resource Optimization order of March 2000 (FCC 00-104, CC Docket 99-200, paragraph 4, https://docs.fcc.gov/public/attachments/FCC-00-104A1.pdf, accessed 27 September 2026). [Thousands-block number pooling](/glossary/number-pooling) separates a code's 10,000 numbers into ten blocks of 1,000 and allocates them separately within that rate centre (47 CFR § 52.20(a), https://www.law.cornell.edu/cfr/text/47/52.20, accessed 27 September 2026). The same order adopted pooling nationwide, pointing to the Illinois trial in which pooling had extended the life of area code 847 by 24 months beyond its projected exhaust date (paragraph 8).

When a code joins the pool, its holder must donate every block with ten percent or less contamination to the pool for that rate centre, and may keep at least one block per rate centre as a footprint (§ 52.20(c)(1) and (c)(2)). A block is contaminated when at least one of its numbers is not available for assignment (47 CFR § 52.7(h), https://www.law.cornell.edu/cfr/text/47/52.7, accessed 27 September 2026). NANPA assigns the pooled blocks to the carriers that apply for numbers in that rate centre (https://www.nanpa.com/numbering/co-codesthousands-blocks, accessed 27 September 2026).

All ten blocks stay in the code's rate centre, so pooling changes who holds a number, not where it is. Spaw takes `region` from the code whichever level answers.

## NANPA's code report and thousands-block report

NANPA publishes two tables that matter here. The central office code report lists every assigned code with one holder, its OCN and whether the code is pooled (https://www.nanpa.com/reports/co-code-reports, accessed 27 September 2026). The thousands-block report lists every block of a thousand in every pooled code with its status and, for an allocated block, its own holder and OCN (https://www.nanpa.com/reports/thousands-block-reports/region, accessed 27 September 2026). Spaw syncs both daily.

A reading that stops at the six digits can only return the code's holder, because that is all the first report holds. The block's holder is in the second. It uses five statuses; the counts below are from the report NANPA published on 27 September 2026, across every region including the territories.

| Status | Meaning | Blocks | What Spaw answers for a number in the block |
| --- | --- | --- | --- |
| AS | Assigned by NANPA to a service provider | 990,929 | The block's holder, with `block_assigned_at` as the date NANPA assigned the block (null for the 526 US blocks the report leaves undated) |
| RT | Retained: not assigned by NANPA (typically a block the code holder kept when the code was pooled) | 318,979 | The block's holder; `block_assigned_at` is null because the report gives no date |
| AV | Available for assignment | 108,447, of which 23,284 contaminated | Not contaminated: `valid: false` with [`unassigned_block`](/docs/reasons/unassigned_block). Contaminated: the code holder's answer |
| AP | Available, pending verification of its activation in the network | 4,006, of which 133 contaminated | As AV |
| AF | Available from a future effective date | 2,025 | The code holder's answer |

A free block answers `unassigned_block` only while Spaw's copy of the report is under 45 days old. Contaminated blocks are the reason for the exception in the table. The numbers that made a block contaminated stay with the carrier that donated it, and the report gives how many of them there are, not which. Reading such a block as free could call live numbers unassigned, so Spaw lets the code's own row answer for it, and does the same for a block available only from a future date. In pooled US codes, 25,662 of the 1,418,100 block positions (1.8%) have no row Spaw reads, because the block is contaminated, future-dated or missing from the report, and 88,562 (6.2%) answer `unassigned_block`.

## How often the holders differ

| United States, NANPA files of 26 September 2026 | Count | Share |
| --- | --- | --- |
| Assigned codes that are pooled | 141,810 of 197,177 | 71.9% |
| Pooled codes whose allocated blocks sit under two or more OCNs | 122,286 of 141,810 | 86.2% |
| Allocated blocks under a different OCN than their code | 663,918 of 1,303,876 | 50.9% |
| of which dated blocks, all assigned by NANPA (AS) | 647,684 of 985,981 | 65.7% |
| of which undated blocks, nearly all retained (RT) | 16,234 of 317,895 | 5.1% |

The split by status is the informative one. A retained block almost always stays with the code's holder. A block NANPA assigned from the pool belongs to a different OCN two times in three, and 26 pooled codes had ten blocks under ten different OCNs.

## An OCN is not a carrier brand

An OCN identifies one operating entity, and one company often holds several. Verizon's wireless and wireline companies in New Jersey, for example, hold different OCNs. A different OCN is therefore not always a different company. Spaw's brand map groups OCNs and names under today's network brand, reported as `carrier_brand` (map of 24 September 2026), and with it the 663,918 blocks under another OCN divide three ways:

| Block holder compared with the code's holder | Blocks | Share of the 663,918 |
| --- | --- | --- |
| A different brand | 468,207 | 70.5% |
| The same brand under a sibling OCN | 43,326 | 6.5% |
| One or both holders not in the brand map | 152,385 | 23.0% |

So at least 35.9% of all allocated US blocks sit under another brand than their code's holder, and the unmapped remainder can only add to that. The commonest pairs are an AT&T code with a block held by Inteliquent (23,082 blocks), T-Mobile (20,524) or Verizon (16,784), and a Verizon code with a block held by Inteliquent (17,446) or T-Mobile (16,344).

## What it does to line type

libphonenumber, the numbering metadata behind Spaw, answers `fixed_line_or_mobile` for every geographic North American number, so Spaw settles `line_type` from the holder when the holder's name marks a wireless carrier or a VoIP wholesaler ([why US numbers cannot be split into mobile and landline](/guides/why-us-numbers-cannot-be-split-into-mobile-and-landline) explains the rule). Pooling decides whose name that is. The counts below cover the same 1,303,876 allocated blocks. A holder that is not on Spaw's classification list settles nothing, so counts of blocks held by a listed wireless or VoIP holder are lower bounds, and counts of blocks whose holder is not on the list may include wireless or VoIP carriers the list does not know.

| United States, NANPA files of 26 September 2026 | Blocks | Share |
| --- | --- | --- |
| Line type settled, reading each block's own holder | 873,008 | 67.0% |
| Line type settled, reading only the code's holder | 673,803 | 51.7% |
| Block holder and code holder give different answers (mobile, VoIP or unsettled) | 434,076 | 33.3% |
| Blocks held by a holder on the wireless list | 514,532 | 39.5% |
| of which inside a code whose holder is not on that list | 177,240 | 34.4% of them |
| Blocks inside a wireless holder's code, held by a holder not on that list | 98,289 | 22.6% of 435,581 |

Of the 177,240 wireless blocks inside other holders' codes, 124,999 sit in codes whose holder settles nothing and 52,241 in codes held by a holder on the VoIP list. Read at code level, the first group would stay `fixed_line_or_mobile`, and the second would answer `voip` and raise the [`virtual`](/docs/signals/phone/virtual) signal for a number whose block a wireless carrier holds.

## One code, block by block

Code 201-544 in Jersey City is held by Verizon New Jersey, Inc. (OCN 9206) and is pooled. The table shows its ten blocks as NANPA listed them on 26 September 2026 and what Spaw answered for a number in each. VoIP here is a line type read from the holder's name, not a judgement about the carrier or the person using the number.

| Block | NANPA status | Holder as NANPA lists it (OCN) | What Spaw answers |
| --- | --- | --- | --- |
| 201-544-0, -1, -2 | Assigned 12 Nov 2025 | HD Carrier LLC (321J) | `voip`, `block_assigned_at` 2025-11-12 |
| 201-544-3, -8 | Assigned 13 Aug 2012 | Verizon New Jersey, Inc. (9206) | `fixed_line_or_mobile`, brand Verizon, `block_assigned_at` 2012-08-13 |
| 201-544-4 | Assigned 19 Mar 2026 | Boost SubscriberCo L.L.C. (490J) | `mobile`, brand Boost Mobile, `block_assigned_at` 2026-03-19 |
| 201-544-5 | Available, contaminated | none | The code holder, Verizon New Jersey; `block_assigned_at` null |
| 201-544-6, -7 | Available | none | `valid: false`, `unassigned_block` |
| 201-544-9 | Assigned 15 Jun 2026 | Bandwidth.com CLEC, LLC - NJ (118F) | `voip`, brand Bandwidth, `block_assigned_at` 2026-06-15 |

The six digits alone say Verizon New Jersey, a holder whose name settles no line type. Seven of the ten blocks answer differently: five are held by other carriers and two are free. In the report of 27 September 2026, block 201-544-5 still held five numbers that were not available for assignment. A number in block 201-544-4 answers:

```json
"line_type": "mobile",
"line_type_source": "block_allocation",
"carrier": "BOOST SUBSCRIBERCO L.L.C.",
"carrier_source": "block_allocation",
"carrier_code": "490J",
"carrier_brand": "Boost Mobile",
"block_status": "allocated",
"block_pooled": true,
"block_assigned_at": "2026-03-19"
```

## What the answer says about the level

- `block_pooled: true` means the number's code is pooled, whichever level answered. `false` means a North American code that is not pooled. `null` means no allocated block answered, or the number is outside North America.
- `carrier`, `carrier_code`, `carrier_brand`, a settled `line_type` and `is_virtual` describe whichever holder answered: the block's where NANPA's report lists an allocated block, otherwise the code's.
- A date in `block_assigned_at` on a pooled code means NANPA assigned the number's own block on that date, so the block answered.
- A null `block_assigned_at` on a pooled code does not tell you the level. A retained block has no date in the report, nor do 526 assigned US blocks, and where the code holder answers (a contaminated or future-dated block, or a pooled Canadian code) the field stays null on purpose, because the code's own date says nothing about the block. In 201-544 above, blocks 3 and 5 both answer Verizon New Jersey, and only block 3 carries a date.
- Undated does not mean new. No assigned US code carries a date before 2 January 2001, and 112,611 of the 197,177 (57.1%) carry none; block dates start on 19 June 1998, and 317,895 allocated blocks, nearly all of them retained, have no date.

No field names the level directly.

## Canada is read at code level

The CRTC ordered thousands-block pooling in Telecom Regulatory Policy CRTC 2024-26 of 5 February 2024, and the Canadian Numbering Administrator is rolling it out in phases, from a three-exchange launch trial planned to complete on 28 July 2026 to a last phase planned for 28 July 2027 (https://www.cnac.ca/co_codes/TBP/TBP_Implementation.htm, accessed 27 September 2026). CNAC's code table of 23 September 2026 (https://www.cnac.ca/co_codes/co_code_status.htm, accessed 27 September 2026) marked 2 of the 28,710 assigned Canadian codes as pooled. Spaw reads no Canadian block table, so a Canadian number answers with its code's holder, and `block_pooled` is true for those two codes only. What the Canadian table holds is on [the Canada page](/tools/phone-number-lookup/countries/ca).

## Porting: the block's holder is not today's carrier

A block's holder is the original allocation. A number [ported](/glossary/number-portability) to another carrier stays in its block, and NANPA's reports keep listing the original holders: the code report the code's, the thousands-block report the block's. Pooling moves the question from the code to the block; porting moves it again, from the block to whoever serves the number today, which no open table records. Only a query into the carrier networks can answer that, and the API keeps it apart in `ported` and `current_carrier`. The live carrier-network check (`hlr: true`) is not enabled on the service: `hlr_checked` answers false and nothing extra is charged.

## Where Spaw counts codes and where it counts blocks

The area-code pages and [`GET /api/v1/phone/block`](/docs/api/phone-block-report) count six-digit codes, so their holder shares describe code holders. The [carrier pages](/tools/phone-number-lookup/carriers) count numbers and credit each thousands-block to its own holder, not to the code's. The [United States page](/tools/phone-number-lookup/countries/us) and [the phone data sources page](/tools/phone-number-lookup/sources) say which NANPA files are installed and when they were synced.

## Using the answer

- Do not infer a number's carrier from another number with the same first six digits. In 86.2% of pooled US codes the blocks sit under two or more OCNs.
- Group by `carrier_brand` when you report by company and by `carrier_code` when you need the legal entity. One brand spans many OCNs: 43,326 blocks sit under a sibling OCN of their code holder's brand.
- Re-read numbers whose carrier or line type you stored from a code-level source. A third of allocated US blocks give a different line type from their code's holder.
- Treat `fixed_line_or_mobile` as unknown, not as a landline, at either level.

## What to do next

- Read the [phone intelligence guide](/docs/phone-intelligence) for every field and where it comes from.
- See how the six digits are named in the [NPA/NXX](/glossary/npa-nxx) glossary entry, and what the line types mean in [line type](/glossary/line-type).
- See how the tables name holders in [operating company number](/glossary/operating-company-number) and [number pooling](/glossary/number-pooling).
- See what a free block answers in [what an unassigned block means](/guides/what-an-unassigned-block-means) and the [unassigned block](/glossary/unassigned-block) entry.
- Check the request and response on the [POST /api/v1/phone reference](/docs/api/validate-phone).

Reference: https://spaw.co/guides/number-pooling-why-a-us-codes-holder-is-often-not-your-blocks-holder
