{"id":16,"date":"2025-10-07T01:39:02","date_gmt":"2025-10-07T01:39:02","guid":{"rendered":"https:\/\/qabastore.net\/?page_id=16"},"modified":"2026-01-04T16:28:16","modified_gmt":"2026-01-04T20:28:16","slug":"home","status":"publish","type":"page","link":"https:\/\/qabastore.net\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"16\" class=\"elementor elementor-16\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7e37d70 e-flex e-con-boxed e-con e-parent\" data-id=\"7e37d70\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b46d605 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"b46d605\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"mk_app\" style=\"max-width:1100px;margin:20px auto;font-family:system-ui\">\r\n  <h2 style=\"margin:0 0 12px 0;\">Markets<\/h2>\r\n\r\n  <div style=\"display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;align-items:center;\">\r\n    <button type=\"button\" data-cat=\"crypto\">Crypto<\/button>\r\n    <button type=\"button\" data-cat=\"forex\">Forex<\/button>\r\n    <button type=\"button\" data-cat=\"metals\">Metals<\/button>\r\n    <div style=\"margin-left:auto;color:#6b7280\" id=\"mk_status\"><\/div>\r\n  <\/div>\r\n\r\n  <div style=\"border:1px solid #e5e7eb;border-radius:10px;overflow:hidden\">\r\n    <table style=\"width:100%;border-collapse:collapse\">\r\n      <thead>\r\n        <tr style=\"background:#f9fafb\">\r\n          <th style=\"text-align:left;padding:10px;border-bottom:1px solid #e5e7eb;\">Asset<\/th>\r\n          <th style=\"text-align:right;padding:10px;border-bottom:1px solid #e5e7eb;\">Price<\/th>\r\n          <th style=\"text-align:right;padding:10px;border-bottom:1px solid #e5e7eb;\">Source<\/th>\r\n          <th style=\"text-align:right;padding:10px;border-bottom:1px solid #e5e7eb;\">Updated<\/th>\r\n        <\/tr>\r\n      <\/thead>\r\n      <tbody id=\"mk_rows\"><\/tbody>\r\n    <\/table>\r\n  <\/div>\r\n\r\n  <div style=\"margin-top:10px;color:#6b7280;font-size:12px\">\r\n    Educational simulation only. No real money.\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(() => {\r\n  const PROXY = \"\/wp-json\/tdp\/v1\";\r\n  const TRADE_URL = \"\/trading\/?asset=\";\r\n\r\n  \/\/ Default USD -> fallback USDT -> fallback USDC\r\n  const MARKETS = {\r\n    crypto: [\r\n      {id:\"BTC\", label:\"Bitcoin\", candidates:[\"BTC\/USD\",\"BTC\/USDT\",\"BTC\/USDC\"]},\r\n      {id:\"ETH\", label:\"Ethereum\", candidates:[\"ETH\/USD\",\"ETH\/USDT\",\"ETH\/USDC\"]},\r\n      {id:\"SOL\", label:\"Solana\", candidates:[\"SOL\/USD\",\"SOL\/USDT\",\"SOL\/USDC\"]},\r\n      {id:\"XRP\", label:\"XRP\", candidates:[\"XRP\/USD\",\"XRP\/USDT\",\"XRP\/USDC\"]},\r\n      {id:\"BNB\", label:\"BNB\", candidates:[\"BNB\/USD\",\"BNB\/USDT\",\"BNB\/USDC\"]},\r\n      {id:\"ADA\", label:\"Cardano\", candidates:[\"ADA\/USD\",\"ADA\/USDT\",\"ADA\/USDC\"]},\r\n      {id:\"DOGE\", label:\"Dogecoin\", candidates:[\"DOGE\/USD\",\"DOGE\/USDT\",\"DOGE\/USDC\"]},\r\n      {id:\"TRX\", label:\"TRON\", candidates:[\"TRX\/USD\",\"TRX\/USDT\",\"TRX\/USDC\"]},\r\n      {id:\"MATIC\", label:\"Polygon\", candidates:[\"MATIC\/USD\",\"MATIC\/USDT\",\"MATIC\/USDC\"]},\r\n      {id:\"DOT\", label:\"Polkadot\", candidates:[\"DOT\/USD\",\"DOT\/USDT\",\"DOT\/USDC\"]},\r\n      {id:\"LTC\", label:\"Litecoin\", candidates:[\"LTC\/USD\",\"LTC\/USDT\",\"LTC\/USDC\"]},\r\n      {id:\"AVNT\", label:\"Avantis (AVNT)\", candidates:[\"AVNT\/USD\",\"AVNT\/USDT\",\"AVNT\/USDC\"]}\r\n    ],\r\n    forex: [\r\n      {id:\"EURUSD\", label:\"EUR \/ USD\", candidates:[\"EUR\/USD\"]},\r\n      {id:\"GBPUSD\", label:\"GBP \/ USD\", candidates:[\"GBP\/USD\"]},\r\n      {id:\"USDJPY\", label:\"USD \/ JPY\", candidates:[\"USD\/JPY\"]},\r\n      {id:\"USDCAD\", label:\"USD \/ CAD\", candidates:[\"USD\/CAD\"]}\r\n    ],\r\n    metals: [\r\n      {id:\"XAUUSD\", label:\"Gold (XAU) \/ USD\", candidates:[\"XAU\/USD\"]},\r\n      {id:\"XAGUSD\", label:\"Silver (XAG) \/ USD\", candidates:[\"XAG\/USD\"]}\r\n    ]\r\n  };\r\n\r\n  let active = \"crypto\";\r\n  const rows = document.getElementById(\"mk_rows\");\r\n  const status = document.getElementById(\"mk_status\");\r\n\r\n  function setStatus(s){ status.textContent = s || \"\"; }\r\n\r\n  async function proxyPrice(symbol){\r\n    const url = `${PROXY}\/price?symbol=${encodeURIComponent(symbol)}`;\r\n    const r = await fetch(url, { credentials:\"same-origin\" });\r\n    const t = await r.text();\r\n    let j=null; try { j = t ? JSON.parse(t) : null; } catch(e) {}\r\n    if(!r.ok){\r\n      const msg = (j && (j.message || j.error)) ? (j.message || j.error) : (\"HTTP \" + r.status);\r\n      throw new Error(msg);\r\n    }\r\n    if (!j || typeof j.price !== \"number\") throw new Error(\"Bad proxy response\");\r\n    return j.price;\r\n  }\r\n\r\n  async function bestPrice(candidates){\r\n    for (const sym of candidates){\r\n      try {\r\n        const p = await proxyPrice(sym);\r\n        return {symbol:sym, price:p, source:\"TD Proxy\"};\r\n      } catch(e) {}\r\n    }\r\n    return null;\r\n  }\r\n\r\n  async function render(){\r\n    const list = MARKETS[active] || [];\r\n    rows.innerHTML = \"\";\r\n    setStatus(\"Loading...\");\r\n\r\n    for (const m of list){\r\n      const tr = document.createElement(\"tr\");\r\n      tr.innerHTML = `\r\n        <td style=\"padding:10px;border-bottom:1px solid #f3f4f6;\">\r\n          <a href=\"${TRADE_URL + encodeURIComponent(m.id)}\" style=\"text-decoration:none\">\r\n            ${m.label} <span style=\"color:#6b7280\">(${m.id})<\/span>\r\n          <\/a>\r\n          <div style=\"color:#6b7280;font-size:12px\" id=\"mk_sym_${m.id}\"><\/div>\r\n        <\/td>\r\n        <td style=\"padding:10px;text-align:right;border-bottom:1px solid #f3f4f6;\" id=\"mk_px_${m.id}\">\u2014<\/td>\r\n        <td style=\"padding:10px;text-align:right;border-bottom:1px solid #f3f4f6;\" id=\"mk_src_${m.id}\">\u2014<\/td>\r\n        <td style=\"padding:10px;text-align:right;border-bottom:1px solid #f3f4f6;\" id=\"mk_ts_${m.id}\">\u2014<\/td>\r\n      `;\r\n      rows.appendChild(tr);\r\n\r\n      const pxEl = document.getElementById(`mk_px_${m.id}`);\r\n      const symEl = document.getElementById(`mk_sym_${m.id}`);\r\n      const srcEl = document.getElementById(`mk_src_${m.id}`);\r\n      const tsEl = document.getElementById(`mk_ts_${m.id}`);\r\n\r\n      const res = await bestPrice(m.candidates);\r\n      const now = new Date().toLocaleTimeString();\r\n\r\n      if (!res){\r\n        pxEl.textContent = \"N\/A\";\r\n        symEl.textContent = \"Data unavailable\";\r\n        srcEl.textContent = \"\u2014\";\r\n        tsEl.textContent = now;\r\n      } else {\r\n        pxEl.textContent = res.price.toFixed(4);\r\n        symEl.textContent = res.symbol; \/\/ shows which quote was selected (USD\/USDT\/USDC)\r\n        srcEl.textContent = res.source;\r\n        tsEl.textContent = now;\r\n      }\r\n    }\r\n\r\n    setStatus(\"\");\r\n  }\r\n\r\n  document.querySelectorAll('#mk_app button[data-cat]').forEach(btn=>{\r\n    btn.addEventListener(\"click\", async ()=>{\r\n      active = btn.getAttribute(\"data-cat\");\r\n      await render();\r\n    });\r\n  });\r\n\r\n  render();\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Markets Crypto Forex Metals Asset Price Source Updated Educational simulation only. No real money.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-16","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/qabastore.net\/index.php\/wp-json\/wp\/v2\/pages\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qabastore.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/qabastore.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/qabastore.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qabastore.net\/index.php\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":24,"href":"https:\/\/qabastore.net\/index.php\/wp-json\/wp\/v2\/pages\/16\/revisions"}],"predecessor-version":[{"id":474,"href":"https:\/\/qabastore.net\/index.php\/wp-json\/wp\/v2\/pages\/16\/revisions\/474"}],"wp:attachment":[{"href":"https:\/\/qabastore.net\/index.php\/wp-json\/wp\/v2\/media?parent=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}