A Treaty is governed by the Vienna Convention that represents the conventional wisdom in international law, while contracts are dealt in domestic law.
A CONTRACT is an agreement made in suspicion. The parties do not trust each other, and they set “limits” to their own responsibility. A treaty is a formal contract between two or more states; normally treaty is an agreement between States that is built in trust and co-operation.
For the sake of comparison, France and Djibouti have colonial bond, as tiny country, Djibouti has been dependent on French military protection from foreign aggression as part of traité de Coopération franco-djiboutienne which however comply the international norm.
USG considers its military base in Djibouti as if it is the fifty State (US jurisdiction), it sees a simple contract (short-term land-lease) can satisfy either parties.
According to Wiki Leak US cable originated from Djibouti, It seems that the US military is dealing the owner of Djibouti State Piggy just like Gulf State royal families, in this case a it’s perfectly alright to have a binding contract between the owner of Djibouti State( not Dj. government) and the US Defence Department(not the US government).
There is no difference between BAE US defence contractor, Djiboutian government, x-military subcontractors that popping up everywhere , and Djiboutian sub-sub contractors in the eyes of the US defence department.
In order not to have a legal complication the US government has stripped out the Djiboutian people the right to prosecute the US military personals and US civilian support staff in Djibouti through a serious secretive bilateral agreements.
There is neither transparent justice system in Djibouti as far as the US military affair is concerned, nor a monetary compensation to Djiboutian victims for any wrong doing of the US military personals even if the secretive military Court-Marshall finds their military service men and women are guilty as charged of any crime.