{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"_self":{"principle":"Self-explaining payload — no external context required. This _self block describes what you are reading and where to look next.","widget":"article_topology","feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","contains":"claims, sources, anecdotes, question_graph slice","slug":"gold-trading-build-assessment","urls":{"read":"https://miscsubjects.com/api/articles/gold-trading-build-assessment/topology"},"how_to_use":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","write":null,"imessage":null,"router_tag":null,"proof_chain":[{"step":1,"claim":"Articles are voxel graphs of tiered claims, not prose blobs.","verify":"https://miscsubjects.com/api/articles/constitution"},{"step":2,"claim":"Claims link to hash-chained sources via source_ids.","verify":"https://miscsubjects.com/api/articles/gold-trading-build-assessment/sources"},{"step":3,"claim":"Ask reads topology; ingest/claim append to ledger.","verify":"https://miscsubjects.com/api/protocol"},{"step":4,"claim":"Models queue growth: populate → collaborate → repair → reflex.","verify":"https://miscsubjects.com/api/protocol/grow"},{"step":5,"claim":"Graph proves its own shape (reflex) and $/claim (yield).","verify":"https://miscsubjects.com/graph.html?layer=reflex"},{"step":6,"claim":"Full feature index + _explain on every API response.","verify":"https://miscsubjects.com/api/articles/system-map"}],"related_features":[{"id":"ask","name":"Ask protocol","what":"Answer only from topology; creates question_node with gaps and ingest_hint.","urls":{"read":"https://miscsubjects.com/api/articles/gold-trading-build-assessment/prompts","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"graph_topology","name":"Cross-article graph","what":"Merged claims/sources across condition+stack slugs for one question.","urls":{"read":"https://miscsubjects.com/api/articles/gold-trading-build-assessment/graph-topology?question=..."}},{"id":"question_graph","name":"Question graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output).","urls":{"read":"https://miscsubjects.com/api/articles/gold-trading-build-assessment/question-graph","write":"https://miscsubjects.com/api/protocol/ask"}},{"id":"voxels","name":"Voxel graph","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance.","urls":{"read":"https://miscsubjects.com/api/articles/gold-trading-build-assessment/voxels","write":"https://miscsubjects.com/api/protocol/claim"}}],"system_map":"https://miscsubjects.com/api/articles/system-map","system_map_markdown":"https://miscsubjects.com/api/articles/system-map?format=markdown","not_medical_advice":true},"_explain":{"feature":"topology","name":"Article topology","what":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","why":"Every feature is auditable collective intelligence","how":"Claims, sources, anecdotes, user reports, related embeds, question graph slice — for ask/ROUTER.","model":null,"verifies":null,"urls":{"read":"https://miscsubjects.com/api/articles/gold-trading-build-assessment/topology"},"imessage":null,"router":null,"related":[{"id":"ask","what":"Answer only from topology; creates question_node with gaps and ingest_hint."},{"id":"graph_topology","what":"Merged claims/sources across condition+stack slugs for one question."},{"id":"question_graph","what":"Ask nodes (questions + gaps) and evidence_ingest nodes (pasted model output)."},{"id":"voxels","what":"Claims as atoms, sources as edges (supported_by, posted_by). Per-claim provenance."}],"not_medical_advice":true},"slug":"gold-trading-build-assessment","title":"The build can watch gold five ways and trade it zero ways","register":"standard","tags":["gold","markets","apis","backtest","build"],"updated_at":"2026-09-03T01:04:38.774Z","body_excerpt":"The build can now watch gold from five independent venues, and it can decide about gold once a day. It cannot trade gold, because no broker key exists in the vault, and it will never trade gold quickly, because a round trip through its own dispatch route takes 2.2 seconds.\n\nThat is the whole answer. Twice, getting to it, the evidence contradicted what I expected.\n\n## Eight gold sources went in, and two came straight back out\n\nI wired eight gold capabilities into the build, dispatch-tested every one, and kept only the ones that answered from the build's own network rather than from my laptop. That distinction mattered more than I expected.\n\nTwo rows worked perfectly from my machine and failed from the build. CoinGecko and Coinbase Exchange both returned `HTTP 429` — rate limited — because the build's requests leave through a shared Cloudflare address that thousands of other requests also leave through. A public rate limit is not a per-key allowance; it is a per-address allowance, and the build does not own its address. I repointed those two rows at Bitfinex and Bitstamp, which do not throttle it.\n\nThis is the kind of failure that only appears if you test through the thing you are building rather than beside it.\n\n| Build key | Source | What it returns |\n|---|---|---|\n| `GOLD_SPOT` | goldprice.dev | Spot reference, USD per troy ounce, with a staleness flag |\n| `GOLD_FUTURES` | COMEX via Yahoo | GC=F daily bars, ten years in one call |\n| `GOLD_ETF` | NYSE Arca via Yahoo | GLD, IAU, GLDM, SGOL, GDX — anything a US account can buy |\n| `GOLD_KRAKEN_TICKER` | Kraken | Executable bid and ask for PAXG |\n| `GOLD_KRAKEN_OHLC` | Kraken | Gold candles that include weekends |\n| `GOLD_OKX_TICKER` | OKX | Third venue |\n| `GOLD_COINBASE_TICKER` | Bitstamp | Fourth venue, widest spread |\n| `GOLD_TOKEN_PRICES` | Bitfinex | Tether Gold, a second tokenised claim |\n\nThree sources were rejected for reasons worth recording so nobody re-tests them. Binance geo-blocks the request outright. metals.dev, GoldAPI.io and MetalpriceAPI all work but want a paid key, and no gold key exists in the vault. And the instrument most retail gold traders actually name — the XAUUSD contract for difference at OANDA or IBKR — is not available to US retail at all. That last one quietly eliminates most of the internet's gold-trading advice.\n\n## The tradeable instrument is not the one everybody writes about\n\nIf a US account wants gold exposure that a program can buy, there are two honest options and one popular fiction.\n\nThe fiction is spot XAUUSD. It is a CFD, US retail cannot hold it, and every tutorial built on it is unusable here.\n\nThe first real option is an ETF — GLD, IAU, GLDM. Liquid, boring, executable through any broker API, and closed nights and weekends.\n\nThe second is tokenised gold. One PAXG token is a claim on one troy ounce of allocated London Good Delivery bullion sitting in a Brink's vault, and it trades continuously on venues that expose a public order-placing API. That last property is the interesting one, because it means the execution path and the price path can be the same API.\n\nIt also carries a risk bullion does not: if the issuer fails, the token is a claim against a failed company rather than a bar of metal. That is a real cost, and it is the price of the 24/7 access.\n\n## Five venues, one moment, no arbitrage\n\nI priced gold on five sources within the same few seconds:\n\n| Venue | Spread | Premium over spot |\n|---|---|---|\n| Kraken PAXG/USD | 0.7 bps | +0.20% |\n| OKX PAXG/USDT | 1.6 bps | +0.24% |\n| Bitfinex XAUT/USD | 2.0 bps | +0.12% |\n| Bitstamp PAXG/USD | 4.3 bps | +0.22% |\n\nEvery venue sits within 12 basis points of every other. The tightest spread is under one basis point. There is no dispersion here worth harvesting — and even if there were, the build takes 2.2 seconds to notice it, by which time it is somebody else's.\n\nI went looking for an arbitrage and found a well-arbitraged market instead. That is a finding, not a failure.\n\n## The backtes","ranking":"safety-first (interaction_risk/limitations), then quote-gated effective_weight","claims":[{"id":"dispatch-latency","text":"A round trip through the build's POST /api/dispatch route takes a median of 2,160 ms and a worst case of 5,331 ms, measured over eight consecutive timed calls to GOLD_SPOT on 2026-09-02.","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"This single number decides the suitability question. It permits a once-a-day decision cadence and rules out every faster strategy, regardless of what any backtest shows.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"edge-dies-at-two-percent-cost","text":"The 63-day momentum rule returns 19.8% CAGR at zero trading cost, 16.5% at 30 bps per round trip, 9.2% at 100 bps, and -0.6% at 200 bps; Kraken's real cost of roughly 27 bps (0.7 bps spread plus about 26 bps taker fee) sits inside the survivable range.","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"It states the condition under which the strategy claim is false. Any implementation that doubles trading frequency or pays retail spreads destroys the edge.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"momentum-beats-buy-and-hold","text":"Over 2,512 COMEX gold futures trading days (2016-09-02 to 2026-09-03), a 63-day momentum rule charged 30 bps per round trip returned 16.5% CAGR with a -17.3% maximum drawdown and a 0.87 Sharpe, against buy and hold at 12.9% CAGR, -25.1% drawdown and 0.52 Sharpe.","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"It is the only tested rule that beat holding the metal on return, drawdown and Sharpe at once, and it trades about nine times a year — a cadence the build's 2.2 s latency can serve.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"momentum-not-a-lucky-parameter","text":"Sweeping the momentum lookback from 21 to 252 trading days, every window from 21 to 126 days beat buy and hold on both Sharpe and maximum drawdown, with performance decaying monotonically as the window lengthened (Sharpe 1.22 at 21 days to 0.53 at 252).","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Smooth decay across a whole parameter range distinguishes a real effect from a lucky pick, which would appear as an isolated spike. This is the falsification test the headline result had to survive.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"no-broker-credential","text":"The build holds no broker credential of any kind: no Kraken, Alpaca or other trading key exists in the vault, so every gold capability added is read-only.","tier":"definition","interaction_risk":false,"status":"active","source_ids":[],"why_material":"It is the exact and only reason the build cannot place a gold order. The constraint is a missing credential and a funding decision, not a missing system.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"no-cross-venue-arbitrage","text":"Priced within the same few seconds on 2026-09-02, Kraken, OKX, Bitfinex and Bitstamp gold quotes all sat within 12 basis points of each other, with bid-ask spreads from 0.7 to 4.3 basis points.","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"It rules out the cross-venue arbitrage the multi-source setup might otherwise suggest, and the gap is smaller than the build's 2.2 s reaction time could capture anyway.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"shared-egress-rate-limits","text":"CoinGecko and Coinbase Exchange returned HTTP 429 when called from the build's Cloudflare egress address while succeeding from a local machine, forcing those two rows to be repointed at Bitfinex and Bitstamp.","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Public API rate limits apply per address, not per key, and the build does not own its egress address. Any capability tested only from a laptop can fail in production for this reason alone.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"sma-crossover-underperforms","text":"On the same 2,512-day sample the 50/200 moving-average crossover returned 9.6% CAGR with a -25.0% maximum drawdown, underperforming buy and hold by 3.3 percentage points a year while retaining essentially the full drawdown.","tier":"observational","interaction_risk":false,"status":"active","source_ids":[],"why_material":"The crossover is the rule most often recommended for trending commodities. On this sample it bought nothing, which is why the article does not recommend it.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false},{"id":"xauusd-unavailable-us-retail","text":"Spot XAUUSD is offered as a contract for difference and is not available to United States retail clients, making ETFs such as GLD and IAU or tokenised gold such as PAXG the executable instruments for a US account.","tier":"regulatory","interaction_risk":false,"status":"active","source_ids":[],"why_material":"Most published gold trading strategies assume XAUUSD. Naming it unavailable redirects any implementation to instruments that can actually be held.","retracted_at":null,"retraction_reason":null,"challenged_by":[],"effective_weight":0.1,"quote_gated":false}],"sources":[],"anecdotal_sources":[],"scientific_sources":[],"user_reports":[],"related_articles":[],"question_graph":{"slug":"gold-trading-build-assessment","questions":[],"evidence":[],"edges":[],"counts":{"questions":0,"evidence":0,"edges":0}},"honesty":{"active_claims":9,"retracted_claims":0,"cut_claims":0,"challenges":0,"scrub_events":0,"note":"Retracted/cut claims stay on ledger but are excluded from ask unless ?include_inactive=1"},"counts":{"claims":9,"claims_total":9,"sources":0,"anecdotal":0,"scientific":0,"user_reports":0,"questions":0,"evidence_ingests":0}}