Offer Curve Lab
TWO AGENTS. TWO GOODS.Original project

PURE EXCHANGE ECONOMY

Explore the offer curve.

Change preferences and endowments. Watch the economy take shape.

Edgeworth box

Two perspectives on one allocation

1 × 2 units
Agent 1Agent 2Endowment ω
Offer curves in an Edgeworth boxAgent 1 is blue, measured from the bottom left. Agent 2 is orange, measured from the top right. Total goods are 1 and 2. The endowment is (0.5, 1.2). Relative price is 1. Curves update as parameters change.01020.20.80.41.60.40.60.81.20.60.41.20.80.80.21.60.41020← Agent 2 · good 1Agent 1 · good 1 →Agent 1 · good 2 →Agent 2 · good 2 →Every bundle on this segment is optimal at p = 0.5.Agent 2: (0, 1.3) at p = 1ωO₁O₂

Contract curve & core

Efficiency and voluntary exchange

Same economy
Contract curveCoreEquilibrium Eu1(ω1)u^1(\boldsymbol{\omega}^{\,1})u2(ω2)u^2(\boldsymbol{\omega}^{\,2})
Contract curve and individually rational corePurple shows Pareto efficient allocations, green their individually rational subset. Pink E markers show computed equilibria. Point P is the efficient allocation selected for the second welfare theorem. Dashed blue and orange curves show each agent’s indifference curve through the endowment. There is no price line in this graph.01020.20.80.41.60.40.60.81.20.60.41.20.80.80.21.60.41020← Agent 2 · good 1Agent 1 · good 1 →Agent 1 · good 2 →Agent 2 · good 2 →Agent 1: utility equal to the endowmentAgent 2: utility equal to the endowmentE1: p=1.2, agent 1=(1, 0.6)E1ωSelected efficient allocation P: (1, 0.682052)PO₁O₂

EXPLORE A PRICE

Relative price p₁/p₂

00.010.1110100

Move one step past 100 for ∞, or type ∞ in the price box.

Agent 1 demand (x₁, x₂)(1.133, 0.567)Outside the box at this price
Agent 2 demand (x₁, x₂)(0, 1.3)Marker shown in the box

Endowments

Set the size of the economy and split the goods between agents.

Total resources

Good 1 W
Good 2 W

Changing totals preserves each agent’s share.

Good 1 allocation

Agent 1Agent 2
+
= 1

Good 2 allocation

Agent 1Agent 2
+
= 2

MARKET CLEARING

Equilibrium, worked through

1 solution found

Superscripts identify agents; subscripts identify goods. Write xi=(x1i,x2i),ωi=(ω1i,ω2i)\mathbf{x}^{\,i}=(x_1^i,x_2^i),\quad \boldsymbol{\omega}^{\,i}=(\omega_1^i,\omega_2^i) for consumption and endowment. The formulas below use 0<p=p1p2<0<p=\frac{p_1}{p_2}<\infty and normalize the price of good 2 to one.

1. Value each endowment

Income is the market value of the initial bundle.

mi(p)=pω1i+ω2im^i(p)=p\omega_1^i+\omega_2^i
m1(p)=0.5p+1.2m^{1}(p)=0.5\,p+1.2
m2(p)=0.5p+0.8m^{2}(p)=0.5\,p+0.8

2. Solve each demand problem

maxxi0ui(xi)subject topx1i+x2imi(p).\begin{aligned}\max_{\mathbf{x}^{\,i}\ge\mathbf{0}}\quad &u^i(\mathbf{x}^{\,i})\\\text{subject to}\quad &px_1^i+x_2^i\le m^i(p).\end{aligned}
Agent 1 · good 1 demand
x11(p)=22+1m1(p)px_1^{1}(p)=\frac{2}{2+1}\,\frac{m^{1}(p)}{p}
Agent 2 · good 1 demand
x12(p)D12(p)={{m2(p)p},p<12,[0,m2(p)p],p=12,{0},p>12.x_1^{2}(p)\in D_1^{2}(p)=\begin{cases} \left\{\dfrac{m^{2}(p)}{p}\right\}, & p<\frac{1}{2},\\[6pt] \left[0,\dfrac{m^{2}(p)}{p}\right], & p=\frac{1}{2},\\[6pt] \{0\}, & p>\frac{1}{2}. \end{cases}

3. Clear both markets

x11(p)+x12(p)=1,x21(p)+x22(p)=2.\begin{aligned}x_1^1(p)+x_1^2(p)&=1,\\[4pt]x_2^1(p)+x_2^2(p)&=2.\end{aligned}
x2i(p)=mi(p)px1i(p)x_2^i(p)=m^i(p)-px_1^i(p)
pz1(p)+z2(p)=0p\,z_1(p)+z_2(p)=0

Here zgz_g is excess demand for good gg; the last identity is Walras’ law. At an indifference price, choose clearing bundles from the entire demand segments.

With the original defaults

x11(p)=13+45p,x12(p)=0(p>12)x_1^1(p)=\frac13+\frac{4}{5p},\qquad x_1^2(p)=0\quad\left(p>\frac12\right)
13+45p=1p=65>12\frac13+\frac{4}{5p}=1\quad\Longrightarrow\quad\boxed{p^*=\frac65>\frac12}
x1=(1,35),x2=(0,75)\mathbf{x}^{1*}=\left(1,\frac35\right),\qquad\mathbf{x}^{2*}=\left(0,\frac75\right)
From equilibrium to the contract curve and core

In agent 1’s coordinates (x,y)=(x11,x21)(x,y)=(x_1^1,x_2^1), the contract curve is

C={(x,x4):0x1}{(1,y):14y2},\begin{aligned}\mathcal{C}={}&\left\{\left(x,\frac{x}{4}\right):0\le x\le1\right\}\\&\cup\left\{(1,y):\frac14\le y\le2\right\},\end{aligned}

Using the equivalent Cobb–Douglas utility representation x2yx^2y, the two agents’ individual-rationality conditions become

x2y310,x+2y2910x^2y\ge\frac3{10},\qquad x+2y\le\frac{29}{10}

The individually rational part of the contract curve is therefore

K={(1,y):310y1920}\boxed{\mathcal{K}=\left\{(1,y):\frac3{10}\le y\le\frac{19}{20}\right\}}

E1 · p1.2p^* \approx 1.2

x1=(1,0.6)\mathbf{x}^{1*}=\left(1,\,0.6\right)   x2=(0,1.4)\mathbf{x}^{2*}=\left(0,\,1.4\right)

Demand optimality ✓ · Market residual 2.2e-16 · Efficient ✓ · Individually rational ✓

Finite prices are searched from 10⁻¹² to 10¹², with exact checks at 0, ∞, linear indifference prices, and analytically supported no-trade prices. Both goods and demand membership are checked. Smooth roots are numerical solutions; the search does not certify that every root has been found. At p = ∞, use normalized prices (1, 0), rather than multiplying by infinity.

Why these demand formulas?

CES and Cobb–Douglas

Equate the marginal rate of substitution to the relative price, then substitute into the budget.

a1ia2i(x2ix1i)1/σi=px2i=(pa2ia1i)σix1ix1i=mi(p)p+(pa2ia1i)σi.\begin{aligned}\frac{a_1^i}{a_2^i}\left(\frac{x_2^i}{x_1^i}\right)^{1/\sigma_i}&=p\\[4pt]x_2^i&=\left(p\frac{a_2^i}{a_1^i}\right)^{\sigma_i}x_1^i\\[4pt]x_1^i&=\frac{m^i(p)}{p+\left(p\frac{a_2^i}{a_1^i}\right)^{\sigma_i}}.\end{aligned}
σi=1:x1i=a1ia1i+a2imi(p)p\sigma_i=1:\qquad x_1^i=\frac{a_1^i}{a_1^i+a_2^i}\frac{m^i(p)}p

Perfect complements

At positive finite prices, the optimal bundle is the kink on the budget line.

a1ix1i=a2ix2ix1i=mi(p)p+a1i/a2ia_1^i x_1^i=a_2^i x_2^i\quad\Longrightarrow\quad x_1^i=\frac{m^i(p)}{p+a_1^i/a_2^i}

Quasilinear preferences

The interior first-order condition is clipped by nonnegativity and the budget.

αi1+x1i=p(interior),x1i=max ⁣{0,min ⁣{mi(p)p,αip1}}.\begin{aligned}\frac{\alpha_i}{1+x_1^i}&=p\quad\text{(interior)},\\[4pt]x_1^i&=\max\!\left\{0,\min\!\left\{\frac{m^i(p)}p,\frac{\alpha_i}p-1\right\}\right\}.\end{aligned}

Perfect substitutes

Compare utility per unit of spending. Equality makes the entire budget segment optimal.

a1ip  a2ip  a1ia2i\frac{a_1^i}{p}\ \gtreqless\ a_2^i\quad\Longleftrightarrow\quad p\ \lesseqgtr\ \frac{a_1^i}{a_2^i}

WELFARE THEOREMS

Efficiency, prices, and redistribution

First welfare theorem

Every competitive equilibrium in this model is Pareto efficient.

All included preferences, with the positive coefficients enforced here, are locally nonsatiated: arbitrarily nearby bundles can improve utility. This also holds for perfect complements. Convexity is not needed for this theorem.

Proof for this exchange economy

Suppose an alternative feasible allocation made everyone weakly better off and one agent strictly better off. Optimality and local nonsatiation imply that each weakly preferred bundle costs at least that agent’s equilibrium wealth; a strictly preferred bundle costs strictly more. Summing gives total spending strictly above the value of the total endowment, contradicting feasibility.

i=12πyialternative spending>πi=12ωitotal wealth\underbrace{\sum_{i=1}^2\boldsymbol{\pi}\cdot\mathbf{y}^{\,i}}_{\text{alternative spending}}>\underbrace{\boldsymbol{\pi}\cdot\sum_{i=1}^2\boldsymbol{\omega}^{\,i}}_{\text{total wealth}}

Feasibility requires equality, so this strict inequality is impossible.

The equilibrium checks above test demand optimality, both markets, efficiency, and individual rationality. They corroborate the theorem for the computed solutions, rather than replacing its proof. MIT: first welfare theorem ↗

Second welfare theorem

Convex preferences support efficient allocations after wealth redistribution—with a boundary qualification.

All included preferences have convex upper contour sets. Separation gives a nonzero supporting price and a quasi-equilibrium: strictly preferred bundles cannot cost less than target wealth. To obtain a full equilibrium, the target must also maximize utility in its budget set. Interior target bundles are sufficient; boundary cases need checking.

Construct the transfers

Use a normalized price vector, including the infinite-price endpoint.

π(p)={(p1+p,11+p),0p<,(1,0),p=.\boldsymbol{\pi}(p)=\begin{cases}\left(\dfrac{p}{1+p},\dfrac{1}{1+p}\right),&0\le p<\infty,\\[6pt](1,0),&p=\infty.\end{cases}
Ti=π(xiωi),πωi+Ti=πxi,T1+T2=0.\begin{aligned}T^i&=\boldsymbol{\pi}\cdot\left(\mathbf{x}^{i*}-\boldsymbol{\omega}^{\,i}\right),\\[5pt]\boldsymbol{\pi}\cdot\boldsymbol{\omega}^{\,i}+T^i&=\boldsymbol{\pi}\cdot\mathbf{x}^{i*},\\[5pt]T^1+T^2&=0.\end{aligned}

These transfers give each agent exactly the wealth needed to buy the target and sum to zero by feasibility. The check below then tests both agents’ actual demand correspondences.

Caltech: Theorem 5.1 and boundary conditions ↗

Test a different efficient allocation

Point P moves on the second graph. Transfers are hypothetical and leave the original endowments unchanged.

Full equilibrium with transfers verified
Target allocationx1=(1,0.682052)\mathbf{x}^{1*}=\left(1,\,0.682052\right)x2=(0,1.31795)\mathbf{x}^{2*}=\left(0,\,1.31795\right)
Supporting pricesp=1.3641p=1.3641π=(0.577007,0.422993)\boldsymbol{\pi}=\left(0.577007,\,0.422993\right)
Balanced transfersT1=0.0694152T^1=0.0694152T2=0.0694152T^2=-0.0694152In units of normalized price value

Efficient · Agent 1 optimizes · Agent 2 optimizes · Transfers sum to zero ✓ · Target is in the original core

Definitions and an important boundary example

The contract curve is the full set of strongly Pareto efficient allocations; it can have area. The displayed core is its individually rational subset. We use coalition blocking that allows every member to be weakly better off with one strictly better off. With flat preferences, a core based on strict improvement for every member can be larger.

K={xC:ui(xi)ui(ωi), i=1,2}\mathcal{K}=\left\{\mathbf{x}\in\mathcal{C}:u^i(\mathbf{x}^{\,i})\ge u^i(\boldsymbol{\omega}^{\,i}),\ i=1,2\right\}

For W = (1, 2), let agent 1 have equal-weight CES utility with σ = 2 and agent 2 have min(x₁, x₂). The allocation (0, 1) to agent 1 and (1, 1) to agent 2 is efficient. Its supporting price is p = ∞, but agent 1 strictly wants more of the free good 2, so no finite maximizing bundle exists. The quasi-equilibrium version of the second theorem holds; unqualified full decentralization fails at this boundary.

How to read this model

Follow the origins

Blue quantities are measured from the bottom left. Orange quantities are measured from the top right: agent 2’s bundle is plotted at (W1x12,W2x22)(W_1-x_1^2,\,W_2-x_2^2). The black point marks the initial endowment.

Each offer curve traces an agent’s optimal bundle as the relative price varies. At the selected price, both agents face the dashed line through the endowment.

Preferences and limiting cases

For CES, ρ=(σ1)/σ\rho=(\sigma-1)/\sigma, with Cobb–Douglas at σ=1\sigma=1. As in the original project, exactly σ=0\sigma=0 switches to u=min{a1x1,a2x2}u=\min\{a_1x_1,a_2x_2\}; this weighted convention can differ from the limit as σ approaches zero.

For perfect substitutes, the dashed colored segment contains all optimal bundles at p=a1/a2p=a_1/a_2. Quasilinear utility is αln(1+x1)+x2\alpha\ln(1+x_1)+x_2, including corner solutions.

Prices and equilibrium

The price slider runs continuously from 0 to 0.01, then logarithmically to 100, with one final step to ∞. Markers show demand at that price; demand outside the economy’s box remains visible in the numerical readouts.

A geometric crossing alone need not be an equilibrium: the agents must demand feasible allocations at the same price. At p = 0 good 1 is free; at p = ∞ good 2 is free (normalized prices (1, 0)). Perfect complements have whole optimal rays. With other preferences there may be no finite maximizing bundle; the readout states this explicitly.