Trade page lacks readable market context for CEX-migrant traders — no last price, unclear tape labels, unexplained HYBRID tag, order book scope not communicated #149
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#149
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
changed title from
Trade page price and trade surface lacks readable context for CEX-migrant traders, no last price, unclear column labels, unexplained HYBRID tagtoTrade page lacks readable market context for CEX-migrant traders — no last price, unclear tape labels, unexplained HYBRID tag, order book scope not communicatedchanged the description
Issue Summary
Four related display gaps on the
/tradepage make it difficult for a trader migrating from a CEX to read market context before placing an order.HYBRIDtag appears on every trade row with no tooltip or definition.Reproduction Steps
/trademake swarm-localto generate active pool trading — observe order book stays empty while tape updatesExpected Behavior
C1 — Price: A prominent last price or mid price number should be displayed outside the chart — e.g. above or beside the chart panel — so the trader can read the current price at a glance without interpreting the chart axis. Full validation of price accuracy requires testnet; the missing label is flagged on local.
C2 — Order book scope: The order book panel should carry a label or tooltip clarifying that it reflects limit orders only — e.g. "Shows open limit orders — pool liquidity not included." Without this, a trader seeing an empty or thin book alongside an active tape has no way to know the two surfaces reflect different order types. Only manual limit orders carried out reflect in order book column.
C3 — Tape column labels: Column headers should use trader-familiar terminology.
OFFERandRETURNare not standard CEX terms —SIZE/VALUEorAMOUNT IN/AMOUNT OUTwould be immediately readable.DIRECTIONcould beSIDEorPAIR.C3/C4 — HYBRID tag: The
HYBRIDlabel on every trade row should have a tooltip or inline explanation e.g. "Executed via hybrid AMM + limit order routing" — so a trader knows what kind of fill they are looking at.Actual Behavior
(empty)for both BIDS and ASKS even while the swarm generates active trades visible in the tape. Manually placed limit orders do appear correctly — confirming the book is limit-orders only, but no label communicates this anywhere.TIME,DIRECTION,OFFER,RETURN,PRICE,TX.OFFERandRETURNare not standard trading terms and have no tooltip.HYBRIDlabel with no explanation. A CEX trader has no context for what this means or whether it affects their fill.Environment Details
localterra(local Docker)VITE_NETWORK=local npm run devmake indexer-dev)make deploy-localWallet / Device Details
Screenshots
Severity / Impact
P2 Polish. No functionality is broken and no funds are at risk. All four gaps are display and labeling issues that individually are minor but collectively leave a CEX-migrant trader unable to answer: "What is the price right now?", "Why is the order book empty when trades are happening?", "What do OFFER and RETURN mean?", and "What is HYBRID?" Found under W5 (C1 — price display, C2 — order book scope, C3 — recent trades tape, C4 — pool/route summary).
cc: @PlasticDigits
mentioned in issue #116
mentioned in commit
c2158f7b40mentioned in commit
9ded951a86Update (main)
Implemented #149 trade UX for CEX-style readability and merged to
main(combined with chart overlay work from #150 / #151 inPriceChart.tsx).What changed
tapeLastPriceUsdis passed from/trade//charts, otherwise the last candle close (chartHeadlinePrice.ts,data-testid="trade-chart-headline-price").OrderBookPanel.tsx).hybridbadgetitleexplains AMM + limit routing (TradesTable.tsx).docs/frontend.md(#trade-page-price-chart-invariants,#trade-page-market-context);skills/AGENTS_FRONTEND_TRADE_PAGE_LAYOUT.md,AGENTS_FRONTEND_PRICE_CHART.md,AGENTS_LOCALNET_TRADING_SWARM.md.Verification checklist
/tradewith indexer-backed pair: Last tracks newest tape price when trades exist; falls back to candle close when tape empty.HYBRIDon hybrid fills./chartspair page: headline still sensible alongside indicators / fullscreen toolbar.cd frontend-dapp && npm run test -- --run(spot-check:PriceChart.test.tsx,TradesTable.test.tsx,chartHeadlinePrice.test.ts).Leaving this issue open for QA.
@totdking — please verify when you can.
mentioned in commit
a153784cd3mentioned in issue #150
QA verification (issue #149) — passed
Verified on local stack (LocalTerra healthy, host Postgres :5432, indexer :3001, bot swarm 30/30, frontend
http://127.0.0.1:5173).Checklist
/tradeLast price — EMBER/JADE pair shows headlineLast 1.03055(data-testid="trade-chart-headline-price") sourced from newest tape trade; tooltip explains tape vs candle fallback.titletooltip.Pair,Amount in,Amount out(replacing OFFER/RETURN/DIRECTION) with header tooltips;hybridbadge hastitleexplaining AMM + limit routing./chartsheadline — OPAL/AMBER page showsLast 3.95168beside Price (USD) with indicators/fullscreen toolbar intact.PriceChart.test.tsx,TradesTable.test.tsx,chartHeadlinePrice.test.ts: 27/27 passed.No code changes required; implementation on
mainmeets acceptance criteria C1–C4. Closing.mentioned in issue #211
mentioned in issue #543