{% extends "base.html" %}{% from "_macros.html" import paper_banner, kpi, pnl, page_head, source_note %} {% block title %}{{ 'Books' if user.role == 'admin' else 'My book' }}{% endblock %} {% block content %} {% set orders_txt %}{% for k, n in orders.items() %}{{ n }} {{ k }}{{ ", " if not loop.last }}{% else %}none yet{% endfor %}{% endset %} {% call page_head("Books" if user.role == 'admin' else "My book", "Positions across venues. Private book: markets I quote and the bets takers placed against them. Polymarket: orders placed through the app (" ~ orders_txt ~ "). Kalshi: " ~ ("prices and the maker's paper replay (Positions, Strategy), no orders." if kalshi else "coming soon.")) %} {% if user.role == 'admin' %}Order log →
{% endif %} {% endcall %} {{ paper_banner(signals_nav) }} {{ source_note(none, ["polymarket"] + (["kalshi"] if kalshi else []), model=true) }}No markets yet. Open a race from the Markets and use Quote privately, or mirror a Polymarket event.
{% else %}| Event | Sport | Date | Status | Markets (open) | Bets | Staked | EV at fair (open) | Worst case (open) | Settled P&L | Most staked | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ g.title }} | {{ g.sport }} | {{ g.date|fmt if g.date }} | {{ (g.status or "")|replace('_', ' ') }} | {{ g.markets }} ({{ g.open }}) | {{ g.bets }} | {{ g.staked|money(false, false) }} | {% if g.open %}{{ pnl(g.ev) }}{% endif %} | {{ g.worst|money if g.open else "" }} | {% if g.settled %}{{ pnl(g.settled) }}{% endif %} | {% for t in g.top[:3] %}{% if t.staked %}{{ t.athlete or t.title[:24] }} {{ t.staked|money(false, false) }}{{ " · " if not loop.last }}{% endif %}{% endfor %} | manage → |