{% extends "warden/warden_layout.html" %} {% block content %}
₿ {{(portfolio_data['BTC']['trade_quantity'] | jformat(4))}} {{(portfolio_data['BTC']['trade_quantity'] * 100000000) | jformat(0)}} sats
portfolio value portfolio value portfolio value 24hr change 24hr change
₿ Price ₿ Block Height last update

Portfolio Snapshot
{% for position in portfolio_data %} {% endfor %}
Ticker Quantity Latest Price ({{current_app.fx['symbol']}}) 24hr Chg Position ({{current_app.fx['symbol']}}) % of total
{{position}} {{(portfolio_data[position]['trade_quantity'] | jformat(4))}}
{%if alerts%} {%set changes_detected = true%}
Address Activity Alerts
{%if (not warden_metadata['old_new_df_old'].empty)%}
Some Addresses have zero balance or are missing since the previous checkpoint
{%for element in warden_metadata['old_new_df_old'].iterrows()%} {%endfor%}
Wallet TxID Previous Balance
{{element[1]['trade_account']}} {{element[1]['trade_blockchain_id'][0:3]}}..{{element[1]['trade_blockchain_id'][-4:-1]}} {{element[1]['amount'] | jformat(4)}}
{%endif%} {%if (not warden_metadata['old_new_df_new'].empty)%}
New Addresses were found since the previous checkpoint
{%for element in warden_metadata['old_new_df_new'].iterrows()%} {%endfor%}
Wallet TxID Confirmations New Balance
{{element[1]['trade_account']}} {{element[1]['trade_blockchain_id'][0:3]}}..{{element[1]['trade_blockchain_id'][-4:-1]}} {{element[1]['confirmations'] | jformat(0)}} {{element[1]['amount'] | jformat(4)}}
{%endif%}
{%endif%}
₿ Wallets
{%for wallet in warden_metadata['wallet_list']%} {%set wallet_alias = specter['name_alias'][wallet]%} {%if warden_metadata['txs'][wallet_alias].empty%} {%if warden_metadata['scan'][wallet_alias]%} {%else%} {%endif%} {%else%} {%if not warden_metadata['txs'][wallet_alias].empty%} {%if current_app.wallets[wallet_alias]['scan']%} {%else%} {%endif%} {%else%} {%if specter['wallets']['wallets'][wallet]['info']['scanning']%} {%else%} {%endif%} {%endif%} {%endif%} {%endfor%}
Name Device(s) Position # Sigs Required Address Type Pending PBSTs Last Activity
{{wallet}} {%if current_app.wallets[wallet_alias][wallet_alias]['devices']%} {%for element in current_app.wallets[wallet_alias][wallet_alias]['devices']%} {{element}}
{%endfor%} {%endif%}
{{warden_metadata['txs'][wallet_alias]['amount'].sum() | jformat(4)}} {{warden_metadata['txs'][wallet_alias]['amount'].count() | jformat(0)}} {{current_app.wallets[wallet_alias][wallet_alias]['sigs_required']}} {{current_app.wallets[wallet_alias][wallet_alias]['address_type']}} {% if current_app.wallets[wallet_alias][wallet_alias]['pending_psbts'] == {}%} None {%else%} {{current_app.wallets[wallet_alias][wallet_alias]['pending_psbts']}} {%endif%} {{(warden_metadata['txs'][wallet_alias].time.max() | epoch) | time_ago}} Scanning... ( {{(current_app.wallets[wallet_alias]['scan'] * 100) | jformat(2)}}%)
{%for tx in warden_metadata['full_df'][warden_metadata['full_df']['wallet_alias'] == wallet_alias].iterrows()%} {%set color=''%} {%set message=''%} {%if tx[1]['txid'] in warden_metadata['old_new_df_old']['TXID']%} {%set color='lightred'%} {%set message='Balance Changed'%} {%elif tx[1]['txid'] in warden_metadata['old_new_df_new']['TXID']%} {%set color='lightgreen'%} {%set message='New Address'%} {%endif%} {%endfor%}
Date Address TX id Confirmations Amount (₿) ₿ ({{current_app.fx['symbol']}}) Cash ({{current_app.fx['symbol']}})
{%if tx[1]['category'] == 'receive'%} {%elif tx[1]['category'] == 'send'%} {%endif%} {% if message == ''%} {{tx[1]['trade_date']}} {%else%} {{message}} {%endif%} {{tx[1]['address'][0:3]}}...{{tx[1]['address'][-4:-1]}} {{tx[1]['txid'][0:3]}}...{{tx[1]['txid'][-4:-1]}} {{tx[1]['confirmations'] | jformat(0)}} {{tx[1]['amount'] | jformat(4)}} {{tx[1]['trade_price'] | jformat(2)}} {{tx[1]['cash_value'] | jformat(2)}}
{{warden_metadata['wallet_info'][wallet]['name']}} {%for device in warden_metadata['wallet_info'][wallet]['devices']%} {{device}}   {%endfor%} N/A {{warden_metadata['txs_count'][wallet]['info']['txcount']}} {{warden_metadata['wallet_info'][wallet]['sigs_required']}} {{warden_metadata['wallet_info'][wallet]['address_type']}} {% if warden_metadata['wallet_info'][wallet]['pending_psbts'] == {}%} None {%else%} {{warden_metadata['wallet_info'][wallet]['pending_psbts']}} {%endif%} N/A Scanning... ( {{(specter['wallets']['wallets'][wallet]['info']['scanning']['progress'] * 100) | jformat(2)}}%)
Cost Analysis
{% for position in portfolio_data %} {% if position != "TOTAL" %} {% endif %} {% endfor %}
Ticker Position Fees Total PnL Breakeven
{{position}}
TOTAL
Market Data
{% for position in portfolio_data %} {% if position != "TOTAL" %} {%endif%} {% endfor %}
Ticker Price ({{current_app.fx['symbol']}}) 24hr Chg 24hr Price Range 24hr Volume Mkt Cap Last Update Source
{{position}}
Bitcoin Node Status {% if current_app.services['mynode']['running']%} {%endif%}
Node Status
Latest Block
Verification Progress
Size on Disk
Difficulty
Bitcoin Core Version
Connection Count
Mempool Size
Node Uptime
Specter Server Status {% if current_app.services['specter']['running']%} {%endif%}
Status
Data Folder {{specter['data_folder']}}
Wallets Folder {{specter.data_folder}}
Configured? {{specter.is_configured}}
Last Data Refresh
1 All returns in this page are in {{current_app.fx['name_plural'].title()}}.
{%if current_app.fx['symbol'] != 'USD'%} This means that the returns include the asset returns plus the currency return in the period.
For example, if Bitcoin in USD is up 5% and the {{current_app.fx['name']}} is up 1%, the return will be 6.05% in {{FX}}. {%endif%}
Portfolio Performance
Current NAV
Highest NAV
Lowest NAV
Portfolio Value {{current_app.fx['symbol']}}
Highest Value {{current_app.fx['symbol']}}
NAV Returns
Since last 'close'
1 week
30 days
90 days
Since ATH
Since inception
 Loading Stack Chart

{% endblock content %} {%block modals%} {% endblock modals %}