Florida’s emergency managers owe more than $600 million to contractors who helped crack down on illegal immigration and built the state’s detention facilities (Official White House Photo by Daniel Torok).
Florida’s emergency managers owe more than $600 million to contractors who helped crack down on illegal immigration and built the state’s detention facilities (Official White House Photo by Daniel Torok).
So far, Florida has received $58 million of the $608.4 million federal reimbursement grant.
Republished with permission from Florida Phoenix, by Liv Caputo
Florida still owes at least $603 million to 27 companies that helped build the state’s migrant lockups and carry out an undocumented immigration crackdown, according to dozens of contracts reviewed by the Phoenix.
This means the majority of immigration contracts remain unpaid—even after the DeSantis administration’s emergency managers spent half a billion dollars on vendors and other immigration costs. The outstanding agreements—all active at the time of publication—were signed over an 11-month period beginning last June.
Among the largest looming bills:
- $122 million to a portable toilet company.
- $79 million to a detention center operator.
- $65 million to a security contractor.
The tab offers the clearest picture yet of the cost of Florida’s immigration operations, and reveals that previously reported spending estimates represented but a fraction of the state’s commitments.
In charge of detention center operations, the Florida Division of Emergency Management’s contract obligations appear to hover somewhere between $991 million—as the Miami Herald first reported—and the Phoenix’s $1.01 billion calculation.
The remaining dollars pledged to contractors are nearly equal to the $608 million federal grant promised to Florida for operating the so-called “Alligator Alcatraz” lockup in the Everglades and the “Deportation Depot” jail in Baker County.
The figures don’t include isolated immigration costs like supplies, travel, or food—which cost FDEM roughly $25 million through February alone. They also exclude contracts paid out of the state’s emergency response fund that don’t explicitly spell out immigration activities—totaling around $20 million.
FDEM did not respond to questions about how many additional one-time costs exist, how much they would total, or when contractors would be fully paid. The agency’s internal projections from September, however, showed that officials anticipated spending $1.7 billion on the two facilities.
Despite the high costs, Florida’s leadership has maintained the expenses are warranted because they outweigh the costs of undocumented immigrants residing within the state. Gov. Ron DeSantis has claimed it’s necessary because some of the captured migrants are violent criminals.
“We’ve saved taxpayers from medical care and schooling [of undocumented immigrants] and all these different things,” he said. “I’d rather do what’s right, and I’d rather protect the people that I was elected to serve.”
As for unpaid vendors, DeSantis noted that he’s not responsible for paying them—FDEM is. The agency did not respond to the Phoenix’s questions.
This hardline, no-holds-barred crackdown on undocumented immigration is an initiative DeSantis has proudly led over the past year and a half. Since President Trump took office in January 2025, DeSantis has been in lockstep with the president at every turn in the immigration sphere—from constructing the nation’s first state-run detention center to slashing in-state tuition for undocumented college students, DeSantis has often touted that Florida “leads the nation” in immigration arrests.
But those novel policies have produced novel costs.
These mounting invoices come weeks before Florida’s new fiscal year begins, and as the state’s emergency fund—originally designed for disasters like hurricanes but later morphed to include immigration enforcement—is running low on money.
According to Florida’s government accountability website, the fund has $47 million left, down from $199 million in late April. During the legislative session, lawmakers agreed to pump another quarter of a billion dollars into the fund pending DeSantis’ signature on a bill to recreate the trust.
The fund expired in February, meaning all payments made from it so far exclusively cover immigration activities through Feb. 17.
It’s the only bill from the 2026 session not yet sent to the governor.
What Were in the Contracts?
Florida signed multiple immigration contracts with 38 vendors that either spell out “Operation Vigilant Sentry” activities or operations at “Alligator Alcatraz” or “Deportation Depot.”
The state still owes 27 of them money.
The vendors range from Canadian security firm Gardaworld to three local sheriff’s offices, all of which were asked to assist in early operations or build-out of either “Alligator Alcatraz” or “Deportation Depot.”
Lee County, Nassau County, and Hendry County were paid a combined total of nearly $332,000 for their help, which included sending patrolmen or helping with internet set-ups. Active contracts on Florida’s accountability website show that Nassau County is still waiting for nearly half a million dollars from FDEM. Officials there did not respond to a request for comment.
DBT Transportation, a California company specializing in airport weather monitoring services, was awarded a contract worth a little more than $64,000. Director Remus Zaharescu confirmed to the Phoenix that he’s still waiting for $1,500 from FDEM.
“It’s marked as 60-90 days overdue,” in their system, Zaharescu said. His company repaired the weather system at the Everglades facility, contracts show.
The largest war chest, however, belongs to Doodie Calls—a portable toilet and sanitation company contracted for at least $219 million for immigration activities. Although FDEM has paid it $96 million so far, it’s still owed an additional $122 million.
When a Phoenix reporter asked Doodie Calls’ billing department whether it had been paid in full, a spokesperson repeatedly declined comment.
The next-largest contract totals belong to disaster response company IRG Global at roughly $112 million and detention operator GEO-CDR Baker at about $100 million. Neither responded to requests for comment.
Security company Gardaworld, promised $78 million, referred questions to FDEM—which did not respond.
Overall, FDEM has paid about 40% of its immigration contracts. This comes as reports emerge that “Alligator Alcatraz,” which began as a temporary facility in June 2025, may be scaling back.
Although both state and federal authorities organizing the center have denied any official conversations about shutting down, DeSantis has maintained that the facility was always designed to be short-lived. U.S. Rep. Maxwell Frost said following a recent visit that staffing levels had been slashed and detainee numbers had fallen sharply.
So far, Florida has received $58 million of the $608.4 million federal reimbursement grant. It remains unclear where those dollars will be specifically applied, though federal rules prohibit using the money for construction or facility modifications.
The Phoenix is a nonprofit news site that’s free of advertising and free to readers. We cover state government and politics with a staff of five journalists located at the Florida Press Center in downtown Tallahassee.
Help Support Factkeepers!
{"id":null,"mode":"form","open_style":"in_place","currency_code":"USD","currency_symbol":"$","currency_type":"decimal","blank_flag_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Factkeepers.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Help Support Factkeepers","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"Factkeepers.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to donate? You can change this amount to anything you would like.","initial":{"instruction_type":"normal","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."},"invalid_curency":{"instruction_type":"error","instruction_message":"How much would you like to donate? You can change this amount to anything you would like."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to donate this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to donate this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to donate this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
{"date_format":"F j, Y","time_format":"g:i a","wordpress_permalink_only":"https:\/\/factkeepers.com\/stiffed-florida-still-owes-603-million-on-alligator-alcatraz-contracts\/","all_default_visual_states":"inherit","modal_visual_state":false,"user_is_logged_in":false,"stripe_api_key":"pk_live_40P3DgGDAHEP1QtJ0nOU4nms5JYHI8GbQ05dYiB1S8OPP5oMSIpOCCeeIawOyeW6bWDkDMWdUeggbhxOQTSA6aedu00ROAbhXBd","stripe_account_country_code":"US","setup_link":"https:\/\/factkeepers.com\/wp-admin\/admin.php?page=tip-jar-wp&mpwpadmin1=welcome&mpwpadmin_lightbox=do_wizard_health_check","close_button_url":"https:\/\/factkeepers.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/closebtn.png"}