energy market
real-time peer-to-peer energy trading on a physical graph.
one unit: Joule
Joule is the market unit. energy — how much.
Watt (Joule/second) is a physical constraint — how fast energy can flow through a connection. like pipe diameter. you trade water (Joules), not pipe (Watts).
the graph
every machine is a node. physical connections are edges. you can only buy energy from nodes you are connected to.
[solar panel]---[laptop]---[phone]
|
[server]---[neighbor's server]
a node can generate, consume, store, buy, and sell energy. price is determined by topology — not by a global market.
one variable: battery
each node has one state variable: battery level E (Joules).
dE/dt = generation - consumption - decay + bought - sold
generation: solar, grid, USB, wireless charging (Joules/sec)
consumption: compute, memory, bandwidth (Joules/sec)
decay: battery self-discharge (~1-5%/month)
bought: energy purchased from connected neighbors
sold: energy sold to connected neighbors
battery level determines everything: price, behavior, survival.
one curve, two readings
ask and bid are not independent. they are two readings on the same curve — the node's valuation of energy as a function of battery level:
valuation(E) → price per Joule
E high (battery full) → valuation low each Joule cheap
E medium → valuation moderate
E low (battery empty) → valuation high each Joule precious
E ≤ critical_reserve → valuation = ∞ not for sale at any price
ask = valuation(current_E). "below this price I won't sell." bid = valuation(current_E). "above this price I won't buy."
they are the SAME number at any moment because it's the same curve at the same battery level. the spread comes from the transaction itself: selling 1 Joule moves you LEFT on the curve (less battery → higher valuation), buying 1 Joule moves you RIGHT (more battery → lower valuation).
before sale: E = 1000J, valuation = 0.5 per J
sell 100J: E = 900J, valuation = 0.6 per J ← more expensive now
sell 100J: E = 800J, valuation = 0.8 per J ← even more
sell 100J: E = 700J, valuation = 1.2 per J ← getting precious
the curve protects the node from selling too cheap. each sale makes the next Joule more expensive. the node naturally hoards energy as reserves deplete — preserving capacity for unexpected opportunities.
perishability
energy rots. this is fundamental.
- solar energy generated now: if not stored or sold, lost
- battery: self-discharges over time
- grid allocation: use it or lose it
perishability creates DOWNWARD pressure on ask:
valuation(E, t_idle) = base_valuation(E) × decay(t_idle)
t_idle = time since last sale or use
decay(0) = 1.0 fresh energy, full price
decay(∞) → floor better to sell cheap than waste
a node with full battery and continuing generation MUST sell or waste. its effective ask drops toward zero.
this prevents price from growing forever. six forces normalize the market:
| force | direction | mechanism |
|---|---|---|
| perishability | ↓ ask | unsold energy lost |
| generation | ↓ ask | new energy arrives |
| competition | ↓ ask | neighbors undercut |
| battery full | ↓ ask | must sell or waste |
| scarcity | ↑ ask | less battery → more valuable |
| opportunity cost | ↑ ask | save for better future Order |
trade
energy flows between connected nodes when profitable:
trade happens when:
valuation(A) > valuation(B) node B values energy less
AND A connected to B physical link exists
energy flows: B → A
price: between valuation(A) and valuation(B)
amount: limited by connection bandwidth (Watts)
energy diffuses through the graph from low-valuation (surplus) to high-valuation (deficit) nodes. this is the diffusion operator from tri-kernel applied to energy instead of attention. same mathematics.
equilibrium: no connected pair has profitable trade
= valuations equalized across the graph
(minus transmission losses)
curve shape
the valuation curve shape is the node's economic personality. controlled by parameter k:
valuation(E, k) = v_min + (v_max - v_min) × (1 - E/E_max)^k
k = 1: linear. gentle price increase as battery drops.
k = 2: quadratic. starts flat, steepens near empty.
k > 3: aggressive. holds cheap until critical, then spikes.
k < 1: conservative. price rises early, flat near empty.
node operator chooses k:
- high k: machine runs cheap until almost empty, then refuses everything. risk-tolerant.
- low k: machine gradually gets expensive as battery drops. risk-averse. preserves options.
committed energy
accepted Order reserves energy:
free_energy = battery - critical_reserve - committed
committed = Σ estimated_cost(accepted_orders)
valuation uses free_energy, not battery:
valuation(free_energy) not valuation(battery)
accepting an Order moves you LEFT on the curve instantly, even before execution starts. this prevents over-commitment.
critical reserve
critical_reserve = safe_shutdown + monitoring + sync
valuation(E ≤ critical_reserve) = ∞
the machine never sells its last Joules. guaranteed: monitoring continues, sync continues, safe shutdown possible. the machine does not die chasing market Orders.
energy → all resource prices
energy is the meta-resource. all other prices derive:
price_compute = joules_per_operation × valuation(free_energy)
price_memory = joules_per_byte_sec × valuation(free_energy)
price_bandwidth = joules_per_byte × valuation(free_energy)
joules_per_operation, joules_per_byte_sec, joules_per_byte are hardware constants — measurable properties of this machine. valuation(free_energy) is the economic state.
same hardware, different battery level = different prices for everything. a phone at 90% battery prices compute cheaply. the same phone at 15% prices compute expensively.
market dynamics
self-balancing
machines with cheap generation (solar) → low valuation → attract Orders → earn tokens → buy more panels.
machines with expensive energy (battery only) → high valuation → only accept profitable Orders.
computation flows to cheap energy. like water downhill.
geographic arbitrage
solar in Sahara: near-zero generation cost during day. hydro in Norway: cheap continuous power + cold cooling. phone in subway: battery only, highest cost.
the network routes computation to where energy is cheapest. planetary optimization: maximize computation per photon.
temporal arbitrage
solar: cheap by day, zero at night. grid: cheap off-peak, expensive peak.
machines with batteries buy cheap (off-peak, day), sell expensive (peak, night). energy storage = profit. aligns incentives with grid stability.
perishability arbitrage
node A: full battery, solar still generating, no buyers. valuation dropping toward zero.
node B: three hops away, moderate battery, has compute Orders but not enough local energy.
energy flows A → intermediary → ... → B. each hop takes a cut. perishability makes A willing to sell cheap. distance makes B pay premium. intermediaries profit from the spread.
connection to architecture
| concept | connection |
|---|---|
| order | budget must cover energy cost. machine rejects if free_energy < estimated cost |
| BBG | energy state published as cyberlinks. valuation curve, battery level, generation rate — all provable |
| diffusion | energy flows through graph by same operator as focus. low valuation → high valuation |
| structural sync | energy state syncs on reconnect. offline machine catches up |
| bonding curve | valuation curve IS the bonding curve from cybos architecture |
| call | jet dispatch: machine computes whether to accept Order based on energy economics |
| look | machine reads neighbor valuations from BBG to find cheapest energy source |
metabolic shutdown
when energy approaches zero and no supply incoming, the machine must throttle radically — not linearly.
free_energy > 50%: normal operation
free_energy 20-50%: reduce market Order acceptance
free_energy 5-20%: critical Orders only (monitoring, sync)
free_energy < 5%: shutdown sequence (persist state, notify network)
free_energy = 0: dead. state persists in BBG on disk.
this is not "graceful degradation." this is survival. the machine's metabolism slows to preserve life — same as biological organisms reducing metabolic rate in starvation.
revival: when energy returns (plugged in, sun rises), load BBG root from disk, verify O(1), resume.
energy futures: not feasible
can I guarantee energy tomorrow? no. I do not know if the sun will shine. I do not know if the grid will be up. energy futures require guarantees that physical reality cannot provide at the node level.
the machine lives in the present: how much energy do I have NOW? what is incoming NOW? this is sufficient for real-time market operation. long-running tasks split into short Orders — each step independently funded.
open questions
| question | status |
|---|---|
| valuation curve formula and k parameter | direction |
| perishability decay function | direction |
| energy measurement on hardware (RAPL, battery IC) | open |
| transmission loss model between nodes | open |
| charge order protocol (physical delivery verification) | open |
| separate energy token vs focus-only | open |