Federal oil & gas leasing returns about $330-590 in royalties per leased/producing acre — but with a 60,000x range across states and a 6x swing over the price cycle
ONRR royalty revenue ÷ BLM leased/producing acreage, all 32 leasing states, FY2004-2024
Summary
In FY2024, federal onshore oil & gas leases returned about $330 in royalty revenue per leased acre and about $591 per producing acre nationally (22.2M leased acres, 12.4M of them actually producing, $7.34B in royalties). But that average hides enormous variation. Across states the per-producing-acre figure ranges from $1,462 in New Mexico down to about 2 cents in Idaho — a difference of more than 60,000-fold — and New Mexico alone (Permian Basin) accounts for 75.7% of all federal onshore oil & gas royalty revenue despite holding well under a fifth of the leased acreage. Over time, the national per-producing-acre average has swung about 6x across the last decade: from a $117 trough in FY2016 (oil price collapse) to a $677 peak in FY2023 (post-2022 price spike), easing to $591 in FY2024. So the honest answer is not one number: it is roughly $300-$600/acre nationally in a typical recent year, built almost entirely from a handful of prolific basins, and itself highly sensitive to the commodity price cycle.
Disclosed exclusion: the filter r.royalty_revenue IS NOT NULL, what it removed, and the headline stat with vs. without it
The predicate r.royalty_revenue IS NOT NULL (combined with AND r.royalty_revenue > 0) was applied when joining BLM's 32-state acreage list to ONRR revenue for the per-state ranking table. This predicate removed exactly five states: Oregon (172,760 leased acres, 0 producing acres, royalty revenue = NULL), Arizona (4,201 leased acres, 0 producing acres, royalty revenue = NULL), Maryland (2,637 leased acres, 0 producing acres, royalty revenue = NULL), Tennessee (736 leased/736 producing acres, royalty revenue = NULL), and Indiana (68 leased/68 producing acres, royalty revenue = NULL). Reason: ONRR recorded no federal onshore oil & gas royalty payment for these states in FY2024, so a per-acre ratio for them is undefined (NULL), not a computable small number.
Headline statistic with vs. without this exclusion: WITH r.royalty_revenue IS NOT NULL applied (27-state ranking, the table shown below): national average = $330.27/leased acre, $590.55/producing acre. WITHOUT it — re-running the identical SELECT as a LEFT JOIN across all 32 states with no NULL filter — the five states above simply appear with NULL/near-zero values and the national average is IDENTICAL: $330.27/leased acre, $590.55/producing acre, because the national totals in this report are pulled from ONRR's and BLM's own full 32-state SUM(), never from re-summing the 27-row filtered list. The exclusion's only visible effect is that the state-ranking table has 27 rows instead of 32; those five states, if shown, would sit at the very bottom with revenue near/at zero, consistent with negligible federal oil & gas activity there rather than a data gap.
Data and method
Two AskAmerica warehouse tables were joined on (state, fiscal year): lands.onrr_revenues filtered to land_class='Federal', land_category='Onshore', revenue_type='Royalties', mineral_lease_type='Oil & Gas'; and lands.blm_oil_gas_acreage (leased_acres, producing_acres by state/fiscal year). FY2024 is the most recent year both tables cover. Both denominators matter: revenue per leased acre reflects return on all acreage under lease; revenue per producing acre isolates return on acreage actually flowing — nationally only 56% of leased acreage was producing in FY2024.
Cross-state variation
| New Mexico | $5.56B | 4.15M | 3.80M | $1,340 | $1,462 |
| California | $78.5M | 107K | 78.5K | $736 | $1,000 |
| North Dakota | $452M | 648K | 590K | $698 | $767 |
| Alaska | $71.8M | 2.53M | 115K | $28 | $627 |
| Wyoming | $781M | 7.07M | 3.83M | $111 | $204 |
| Colorado | $183M | 2.06M | 1.47M | $89 | $124 |
| Texas | $11.6M | 278K | 184K | $42 | $63 |
| Montana | $19.0M | 1.38M | 632K | $14 | $30 |
| West Virginia | $11.8K | 64.7K | 46.6K | $0.18 | $0.25 |
| Idaho | $57 | 15.9K | 2.3K | $0.004 | $0.02 |
| Alaska | $71.8M | 2.53M | 115K | $28 | $627 |
| California | $78.5M | 107K | 78.5K | $736 | $1,000 |
| Colorado | $183M | 2.06M | 1.47M | $89 | $124 |
| Idaho | $57 | 15.9K | 2.3K | $0.004 | $0.02 |
| Montana | $19.0M | 1.38M | 632K | $14 | $30 |
| New Mexico | $5.56B | 4.15M | 3.80M | $1,340 | $1,462 |
| North Dakota | $452M | 648K | 590K | $698 | $767 |
| Texas | $11.6M | 278K | 184K | $42 | $63 |
| West Virginia | $11.8K | 64.7K | 46.6K | $0.18 | $0.25 |
| Wyoming | $781M | 7.07M | 3.83M | $111 | $204 |
| Wyoming | $781M | 7.07M | 3.83M | $111 | $204 |
| North Dakota | $452M | 648K | 590K | $698 | $767 |
| Colorado | $183M | 2.06M | 1.47M | $89 | $124 |
| California | $78.5M | 107K | 78.5K | $736 | $1,000 |
| Alaska | $71.8M | 2.53M | 115K | $28 | $627 |
| Idaho | $57 | 15.9K | 2.3K | $0.004 | $0.02 |
| Montana | $19.0M | 1.38M | 632K | $14 | $30 |
| West Virginia | $11.8K | 64.7K | 46.6K | $0.18 | $0.25 |
| Texas | $11.6M | 278K | 184K | $42 | $63 |
| New Mexico | $5.56B | 4.15M | 3.80M | $1,340 | $1,462 |
| North Dakota | $452M | 648K | 590K | $698 | $767 |
| Texas | $11.6M | 278K | 184K | $42 | $63 |
| California | $78.5M | 107K | 78.5K | $736 | $1,000 |
| West Virginia | $11.8K | 64.7K | 46.6K | $0.18 | $0.25 |
| Idaho | $57 | 15.9K | 2.3K | $0.004 | $0.02 |
| Wyoming | $781M | 7.07M | 3.83M | $111 | $204 |
| New Mexico | $5.56B | 4.15M | 3.80M | $1,340 | $1,462 |
| Alaska | $71.8M | 2.53M | 115K | $28 | $627 |
| Colorado | $183M | 2.06M | 1.47M | $89 | $124 |
| Montana | $19.0M | 1.38M | 632K | $14 | $30 |
| Montana | $19.0M | 1.38M | 632K | $14 | $30 |
| North Dakota | $452M | 648K | 590K | $698 | $767 |
| Texas | $11.6M | 278K | 184K | $42 | $63 |
| Alaska | $71.8M | 2.53M | 115K | $28 | $627 |
| California | $78.5M | 107K | 78.5K | $736 | $1,000 |
| West Virginia | $11.8K | 64.7K | 46.6K | $0.18 | $0.25 |
| Wyoming | $781M | 7.07M | 3.83M | $111 | $204 |
| New Mexico | $5.56B | 4.15M | 3.80M | $1,340 | $1,462 |
| Idaho | $57 | 15.9K | 2.3K | $0.004 | $0.02 |
| Colorado | $183M | 2.06M | 1.47M | $89 | $124 |
| New Mexico | $5.56B | 4.15M | 3.80M | $1,340 | $1,462 |
| California | $78.5M | 107K | 78.5K | $736 | $1,000 |
| North Dakota | $452M | 648K | 590K | $698 | $767 |
| Wyoming | $781M | 7.07M | 3.83M | $111 | $204 |
| Colorado | $183M | 2.06M | 1.47M | $89 | $124 |
| Texas | $11.6M | 278K | 184K | $42 | $63 |
| Alaska | $71.8M | 2.53M | 115K | $28 | $627 |
| Montana | $19.0M | 1.38M | 632K | $14 | $30 |
| West Virginia | $11.8K | 64.7K | 46.6K | $0.18 | $0.25 |
| Idaho | $57 | 15.9K | 2.3K | $0.004 | $0.02 |
| New Mexico | $5.56B | 4.15M | 3.80M | $1,340 | $1,462 |
| California | $78.5M | 107K | 78.5K | $736 | $1,000 |
| North Dakota | $452M | 648K | 590K | $698 | $767 |
| Alaska | $71.8M | 2.53M | 115K | $28 | $627 |
| Wyoming | $781M | 7.07M | 3.83M | $111 | $204 |
| Colorado | $183M | 2.06M | 1.47M | $89 | $124 |
| Texas | $11.6M | 278K | 184K | $42 | $63 |
| Montana | $19.0M | 1.38M | 632K | $14 | $30 |
| West Virginia | $11.8K | 64.7K | 46.6K | $0.18 | $0.25 |
| Idaho | $57 | 15.9K | 2.3K | $0.004 | $0.02 |
New Mexico's dominance (75.7% of national royalty revenue from an acreage base under a fifth of the national leased total) reflects the Permian Basin's exceptional well productivity — the aggregate national figure is not representative of a "typical" leasing state; it is effectively a Permian Basin number with a long tail of much lower-yielding basins attached. Wyoming, despite the single largest leased-acreage base (7.1M acres), earns roughly 1/7th New Mexico's per-producing-acre return because much of its acreage is older, lower-productivity conventional gas.
Variation over time (price cycle)
National FY2015-FY2024 per-producing-acre royalty revenue: FY2015 $188, FY2016 $117 (trough, oil price collapse), FY2017 $146, FY2018 $189, FY2019 $231, FY2020 $182 (COVID demand shock), FY2021 $299, FY2022 $659, FY2023 $677 (peak, post-2022 energy price spike, also reflecting a statutory federal royalty-rate increase under the Inflation Reduction Act), FY2024 $591. The trough-to-peak ratio is about 5.8x within one decade — producing acreage barely changed over this period (12.4-12.9M acres throughout), so essentially all of that swing is price/production-mix driven, not a change in the underlying lease footprint.
Caveats
- Figures are royalty revenue only (excludes bonus bids, rents, and penalties ONRR also collects), per the question's wording.
- BLM's acreage table is Federal-only, excluding Indian (tribal) and offshore (BOEM-managed) leases, matching the onshore-Federal ONRR filter — a like-for-like scope, not a mismatch.
- BLM's own source data has a small known quirk (producing acres slightly exceeding leased acres in a handful of minor-producer states/years); none of the major states here are affected.
Every query behind this report
10 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.
query — 1 rows — 2546 ms
SELECT max(fiscal_year) FROM lands.blm_oil_gas_acreagequery — 1 rows — 3342 ms
SELECT max(fiscal_year) FROM lands.onrr_revenues WHERE land_class='Federal' AND land_category='Onshore'query — 2633 ms
WITH rev AS (
SELECT state_name AS state, SUM(revenue) AS royalty_revenue
FROM lands.onrr_revenues
WHERE land_class = 'Federal' AND land_category = 'Onshore'
AND revenue_type = 'Royalties'
AND mineral_lease_type = 'Oil and Gas'
AND fiscal_year = 2024
GROUP BY state_name
)
SELECT a.state, r.royalty_revenue, a.leased_acres, a.producing_acres,
r.royalty_revenue / NULLIF(a.leased_acres,0) AS rev_per_leased_acre,
r.royalty_revenue / NULLIF(a.producing_acres,0) AS rev_per_producing_acre
FROM lands.blm_oil_gas_acreage a
JOIN rev r ON a.state = r.state
WHERE a.fiscal_year = 2024 AND r.royalty_revenue IS NOT NULL AND r.royalty_revenue > 0
ORDER BY rev_per_producing_acre DESC NULLS LASTquery — 2 rows — 1099 ms
SELECT DISTINCT mineral_lease_type FROM lands.onrr_revenues WHERE mineral_lease_type ILIKE '%oil%' OR mineral_lease_type ILIKE '%gas%'query — 6 rows — 1214 ms
SELECT DISTINCT revenue_type FROM lands.onrr_revenuesquery — 27 rows — 2236 ms
WITH rev AS (
SELECT state_name AS state, SUM(revenue) AS royalty_revenue
FROM lands.onrr_revenues
WHERE land_class = 'Federal' AND land_category = 'Onshore'
AND revenue_type = 'Royalties'
AND mineral_lease_type = 'Oil & Gas'
AND fiscal_year = 2024
GROUP BY state_name
)
SELECT a.state, r.royalty_revenue, a.leased_acres, a.producing_acres,
r.royalty_revenue / NULLIF(a.leased_acres,0) AS rev_per_leased_acre,
r.royalty_revenue / NULLIF(a.producing_acres,0) AS rev_per_producing_acre
FROM lands.blm_oil_gas_acreage a
JOIN rev r ON a.state = r.state
WHERE a.fiscal_year = 2024 AND r.royalty_revenue > 0
ORDER BY rev_per_producing_acre DESC NULLS LASTquery — 1 rows — 1238 ms
SELECT count(DISTINCT state) FROM lands.blm_oil_gas_acreage WHERE fiscal_year=2024 AND leased_acres>0query — 5 rows — 2320 ms
WITH rev AS (
SELECT state_name AS state, SUM(revenue) AS royalty_revenue
FROM lands.onrr_revenues
WHERE land_class = 'Federal' AND land_category = 'Onshore'
AND revenue_type = 'Royalties' AND mineral_lease_type = 'Oil & Gas'
AND fiscal_year = 2024
GROUP BY state_name
)
SELECT a.state, r.royalty_revenue, a.leased_acres, a.producing_acres
FROM lands.blm_oil_gas_acreage a
LEFT JOIN rev r ON a.state = r.state
WHERE a.fiscal_year = 2024 AND a.leased_acres > 0 AND (r.royalty_revenue IS NULL OR r.royalty_revenue=0)
ORDER BY a.leased_acres DESCquery — 1 rows — 2112 ms
WITH rev AS (
SELECT SUM(revenue) AS total_rev
FROM lands.onrr_revenues
WHERE land_class = 'Federal' AND land_category = 'Onshore'
AND revenue_type = 'Royalties' AND mineral_lease_type = 'Oil & Gas'
AND fiscal_year = 2024
),
acr AS (
SELECT SUM(leased_acres) AS total_leased, SUM(producing_acres) AS total_producing
FROM lands.blm_oil_gas_acreage WHERE fiscal_year=2024
)
SELECT * FROM rev, acrquery — 10 rows — 2636 ms
WITH rev AS (
SELECT fiscal_year, SUM(revenue) AS total_rev
FROM lands.onrr_revenues
WHERE land_class = 'Federal' AND land_category = 'Onshore'
AND revenue_type = 'Royalties' AND mineral_lease_type = 'Oil & Gas'
AND fiscal_year BETWEEN 2015 AND 2024
GROUP BY fiscal_year
),
acr AS (
SELECT fiscal_year, SUM(leased_acres) AS total_leased, SUM(producing_acres) AS total_producing
FROM lands.blm_oil_gas_acreage
WHERE fiscal_year BETWEEN 2015 AND 2024
GROUP BY fiscal_year
)
SELECT r.fiscal_year, r.total_rev, a.total_leased, a.total_producing,
r.total_rev/a.total_leased AS rev_per_leased,
r.total_rev/a.total_producing AS rev_per_producing
FROM rev r JOIN acr a ON r.fiscal_year=a.fiscal_year
ORDER BY r.fiscal_yearSources
- ONRR royalty revenue by state/fiscal year, onshore Federal, Oil & Gas, Royalties only — r.royalty_revenue IS NOT NULL excluded 5 of 32 states (Oregon, Arizona, Maryland, Tennessee, Indiana) -- disclosed in-text with before/after national totals, which are unchanged.
Show SQL
WITH rev AS (SELECT state_name AS state, SUM(revenue) AS royalty_revenue FROM lands.onrr_revenues WHERE land_class = 'Federal' AND land_category = 'Onshore' AND revenue_type = 'Royalties' AND mineral_lease_type = 'Oil & Gas' AND fiscal_year = 2024 GROUP BY state_name) SELECT a.state, r.royalty_revenue, a.leased_acres, a.producing_acres FROM lands.blm_oil_gas_acreage a JOIN rev r ON a.state = r.state WHERE a.fiscal_year = 2024 - BLM Public Land Statistics Tables 2 & 6 (leased/producing acreage by state, FY2001-2024)
- National royalty revenue per acre trend, FY2015-2024
Show SQL
WITH rev AS (SELECT fiscal_year, SUM(revenue) AS total_rev FROM lands.onrr_revenues WHERE land_class = 'Federal' AND land_category = 'Onshore' AND revenue_type = 'Royalties' AND mineral_lease_type = 'Oil & Gas' AND fiscal_year BETWEEN 2015 AND 2024 GROUP BY fiscal_year), acr AS (SELECT fiscal_year, SUM(leased_acres) AS total_leased, SUM(producing_acres) AS total_producing FROM lands.blm_oil_gas_acreage WHERE fiscal_year BETWEEN 2015 AND 2024 GROUP BY fiscal_year) SELECT r.fiscal_year, r.total_rev, a.total_leased, a.total_producing, r.total_rev/a.total_leased AS rev_per_leased, r.total_rev/a.total_producing AS rev_per_producing FROM rev r JOIN acr a ON r.fiscal_year=a.fiscal_year ORDER BY r.fiscal_year