diff --git a/docs/experiments/2026-08-05-coinbase-asset-class-feasibility.md b/docs/experiments/2026-08-05-coinbase-asset-class-feasibility.md new file mode 100644 index 00000000..4655c79d --- /dev/null +++ b/docs/experiments/2026-08-05-coinbase-asset-class-feasibility.md @@ -0,0 +1,721 @@ +# Coinbase's new asset classes — what keel can actually trade + +**Date:** 2026-08-05 +**KB basis:** §65.5 (gold futures forbidden outright), §65.11 (cash-settled futures = *maisir*; +short-selling), §65.4/§67.1/§71.5 (`qabd`, triply sourced — §66.2 logs digital custodial `qabd` +as an OPEN question, not as corroboration), §71.6 (equity-like ⇒ reject *by capability*), +§65.6 (speculation per se permissible), §29.2 (scholarly divergence), §73.3 (zero-trials +inheritance). +**Status:** feasibility only. **No code changed, no product admitted, allowlist unchanged.** +**Evidence:** live read-only probe of the production account's own CDP key +(`~/keel/.env:CDP_API_KEY`) on 2026-08-05. **No `create_order` call was made** — only +`preview_order`, which is non-binding, and it was refused before it could bind. + +**Reproducing this.** Every empirical claim below comes from one committed, re-runnable script, +`docs/experiments/2026-08-05-coinbase-asset-class-probe.py`. It is read-only: products, candles, +book, quotes, trades, accounts, key permissions, and `preview_order` (which places nothing). + +``` +cd ~/keel && ./.venv/bin/python \ + ~/Development/work/CodeGate/keel/docs/experiments/2026-08-05-coinbase-asset-class-probe.py +``` + +Its output carries `===` section headers — `PRODUCT TYPE CENSUS`, `FX / FOREX`, `ACCOUNTS`, +`FUTURES TAXONOMY`, `MARKET DATA --