Operations Dashboard
All Funds · operational view
ALL FUNDS 01 Mar 2026 · 14:48 GST
0
Operations Exceptions
All clear
0
Risk Breaches
Within limits
0
System Health
All checks pass
0
Pending Approvals
None pending
Open Positions
Calculating
DAA Fund — SummaryDIGITAL ASSETS
StrategyDigital Assets Multi-Strat
StructureOEIC IC · FSRA QIF
AdministratorAscent Fund Services
CustodianZodia / Tungsten
BanksADCB · CUB · Cantor ✅
ISINAE000A41V2U5
Status🟢 Launched
1st Dealing Date2 March 2026
🤖Silea Fund — SummaryAI HEDGE FUND
StrategyAI-driven Futures / FX
StructureOEIC IC · FSRA QIF
AdministratorAscent Fund Services
Prime BrokerStoneX
ISIN AAE000A41MNN3
ISIN BAE000A41PG02
Status🟡 Pre-launch
0
Active Counterparties
CDD Complete · 0 total
0
Pending Settlements
All clear
On-Time Rate (30d)
Target ≥98% · Min ≥95%
0
Confirmations Issued
Auto-issued at booking
0
Alerts
No alerts
🕐 | | | |
MARKETS BTC — ETH — USDT — | EUR/USD — GBP/USD — USD/AED — | S&P 500 — SX5E — Gold — Brent —
NAV
NAVPS
Daily
DD from HWM
As of
Status
POSITIONS
LIQUIDITY — DAYS TO LIQUIDATE
CRYPTO NEWS via CoinDesk
ALLOCATION
RISK LIMITS
STRESS TESTS
CREDIT RISK / SETTLEMENTS
STABLECOIN RISK
STABLECOIN FLOWS & SUPPLY
RETURN METRICS via Analytics Service
VALUE AT RISK
ATTRIBUTION BY SLEEVE
ℹ️
No positions — book trades to begin
Positions are calculated automatically from the Trade Blotter. Each buy adds to your position; each sell reduces it. Average cost basis and unrealised P&L are computed in real time using live market prices.
Fund: Prices: —
Sleeve (DAA):
📊Sleeve NAV Breakdown
📈Calculated Position Ledger (IBOR) 0 positions
SleeveAssetTypeCustodian SettlementTotal QtyAvg Cost (USD)Cost Basis (USD) Price (USD)Mkt Value (USD) Unr. P&L (USD)P&L %
No positions. Book trades to calculate positions automatically.
Total
Positions calculated from Trade Blotter using average cost method. Prices from CoinGecko (crypto) or manual entry (other). USD functional currency.
⚠️Sleeve Risk Metrics

Loading risk data...

Per-sleeve VaR, leverage, and concentration limits. BREACH = exceeds hard limit. AMBER = >80% of limit.
📊Asset Type Template — DAA Fund
Asset ClassExamplesCustodianValuation
StablecoinsUSDT, USDCBitGo / ZodiaPar (USD)
CryptoBTC, ETHBitGo / ZodiaMarket (CoinGecko)
Tether GoldXAUtBitGoGold spot × 1 XAUt = 1 troy oz
External Funds / AMCs3rd party fundsVariousLatest NAV per share
Treasury BillsUAE T-BillsCustodianAmortised cost / fair value
Cash (AED)Bank balancesADCB · CUB · CantorPar (AED)
Cash (USD)Bank balancesCantor · CUB× 3.6725 → AED
Silea Fund: Futures (mark-to-market daily via StoneX margin statements), FX (spot + forward), Cash (StoneX + bank)
USD 0
Realised P&L
All time
USD 0
Unrealised P&L
Current positions at live prices
USD 0
Total P&L
Realised + Unrealised
Return on Cost
Total P&L / Total Cost Basis
Filter: | Period:
💹Trading P&L AttributionAll Time
FundAssetRealised (USD)Unrealised (USD)Total P&L (USD)Cost Basis% Return
P&L will populate when trades are booked.
Total
USD functional · Realised P&L from closed trades (average cost method) · Unrealised P&L from live positions vs cost basis · Fund-level financials → Financials → Fund Financials
FX Rates (units per USD) USD 1.0000 · Update rates before entry · expressed as units of quote currency per 1 USD
🔄 New Trade Entry
— / —
📋 Trade Blotter 0 trades
📥 Tungsten Blotter Import
Drop a Tungsten Recon .xlsx file (Trade Blotter sheet) or CSV export. Parsed rows are shown for review before booking.

📋 Trade Audit Trail

0 entries
✅ CLEAN
Cash Recon
1/6 funds reconciled
0
Cash Breaks
no breaks
0
Breaks — Positions
vs custodian statements
0
Breaks — NAV
vs Ascent (pre-launch)
⚖️Three-Way Cash Reconciliation 1/6 funds reconciled
📥 Enter External Balance (Bank Statement or Fund Admin)
📊 Cash Reconciliation Dashboard — All Funds
FundInternal (PMS)Bank StatementFund AdminPMS vs BankPMS vs AdminBank vs AdminBreak ClassRAG
DAA 500,000.00 500,000.00 500,000.00 +0.00 +0.00 +0.00 None 🟢 Clean
SL 0.00 No activity 🔵 Pending
RECO 0.00 No activity 🔵 Pending
EDB 0.00 No activity 🔵 Pending
GROWTH 0.00 No activity 🔵 Pending
REEQ 0.00 No activity 🔵 Pending
🤖 Recon Agent Results
No agent run yet. Click "Run Recon Agent" or wait for post-close auto-run.
📋 External Balance Entries
FundSource TypeSourceAs-OfBalance (USD)Reference
DAA Bank Statement Northern Trust 2026-02-20 USD 500,000.00 NTI Statement 23-Feb-2026 · Period 2–20 Feb
DAA Custodian Northern Trust 2026-02-20 USD 500,000.00 Custodian cash confirmation · NTI AED 689828-20019
Three-way reconciliation: (1) Internal (PMS) balance auto-calculated from Cash Ledger, (2) Bank Statement balance auto-populated from imported statements (AED converted at 3.6725), (3) Fund Admin balance manually entered from Ascent reports. Breaks classified as: Timing (within T+2 of a trade), Fee Discrepancy (matches known fee), FX Difference (within ±0.01%), Unclassified (escalate to COO).
📄Bank Statement Import & Transaction Matching 0 statements
📥 Import Bank Statement
CSV: Parsed locally using bank column mappings. PDF / Image: Sent to AI (Claude) for extraction — parsed results shown for review before import. Supports: bank statements, balance confirmations, screenshots.
📋 Imported Bank Statements
🚨Cash Recon — Exception Work Queue 0 exceptions
0
Open Breaks
0
Unmatched Txns
0
Aged >3 Days
0
Resolved Today
Exception-first queue aggregating fund-level cash breaks and unmatched bank statement transactions. Items ranked by materiality (USD absolute). SLA: same-day resolution for breaks >$100. Escalate via UAL.
🔗Transaction Matching Results 0 items
Bank DateBank DescriptionBank USD Int. DateInt. DescriptionInt. USD VarianceMatch TypeConf.StatusAge
No match results. Import a statement and click "⚡ Match" to run auto-matching.
Matching rules: Exact = same direction + same date + amount within $1, unambiguous (100% auto-matched); Exact (ambiguous) = multiple candidates, best pick (70% suggested); Date±3 = same direction + amount within $1 + date ±3 days (70% suggested); Amount±5% = same direction + amount within 5%, any date (50% suggested). Only unambiguous exact matches are auto-confirmed. All others require manual review or force match. Use checkboxes + 🔗 Force Match to combine multiple entries (e.g. subscription + wire fee → one bank entry).
📃Statement Transaction Detail
#DateDescriptionDebitCreditBalanceMatched
Select a statement above to view raw transactions.
🔩StoneX Broker Reconciliation (Silea) Not loaded
Position Reconciliation — Internal vs StoneX
MetalPromptDir PMS LotsSTX LotsDiff PMS PriceSTX PricePrice Diff PMS MTMSTX OTEMTM Diff Status
Load a StoneX daily file and click Run Recon to compare positions.
PMS NAV
StoneX NLV
NLV Diff
StoneX IM
Excess/Deficit
Tolerance: Position lots = exact match. Settlement price = ±$0.50. MTM per position = ±$50. NLV = ±0.1%. Import StoneX CSV via IBOR page or AI Ops import.
OPEN
Today's Book
2026-03-01 · Awaiting close
0
Open Positions
DAA: 0 · Silea: 0
USD 500,000.00
Total Cash (USD)
DAA: 500,000.00 · Silea: 0.00
Last Close
No closes recorded
📖Daily Close Book Open
Runs the full GL daily close engine: reverses prior-day accruals → recalculates positions → posts unrealised P&L, fee accruals, and incentive fee (all reversing) → validates TB and BS balance → snapshots NAV → creates IBOR record. Safe to re-run (idempotent).
Pre-Close Checklist
⬜ All trades booked & confirmed
✅ Cash ledger reconciled
⬜ Closing prices loaded
⬜ Fee accruals current
✅ NAV calculated
📅Settlement Ladder Next 5 days
Cash Projection (next 5 business days)
USD 500,000.00
Current Cash
All funds
USD 500,000.00
2026-03-02
No settlements
USD 500,000.00
2026-03-03
No settlements
USD 500,000.00
2026-03-04
No settlements
USD 500,000.00
2026-03-05
No settlements
📊IBOR Position History 0 records
🔍3-Way Reconciliation Internal · Custodian · Administrator
Compare IBOR positions & cash against custodian statements and administrator records. Select an IBOR close date, then enter external figures for comparison.
Position Reconciliation
Asset IBOR QtyCustodian QtyAdmin QtyDiff IBOR MVCustodian MVAdmin MVMV Diff Status
Select a close date to load reconciliation.
Cash Reconciliation
Bank / Account IBOR BalanceCustodian / Bank StatementAdmin RecordsDiff Status
Select a close date to load cash reconciliation.
NAV Reconciliation
IBOR Shadow NAV
Administrator NAV
Difference
Diff %
Tolerance: NAV per share ±0.01%. Position quantity: exact match. Market value: ±0.5%. Cash: ±USD 1.00. Breaks classified as: Timing, Pricing, Missing Entry, FX, Genuine Error.
Open Positions
Net Lots
Gross Exposure
Unrealised P&L
Margin Required
Approaching Prompt

Positions by Prompt Date

Metal Prompt Date Dir Lots Tonnage Avg Price MTM Price Unreal P&L Cost Basis Mkt Value Days to Prompt Status
Total

Carry / Roll History

No carry/roll transactions recorded yet.

Prompt Date Calendar

Open positions will appear here grouped by prompt date.
📊Margin Monitor No data
Initial Margin (SPAN)
Maintenance Margin
Excess / (Deficit)
Margin Utilisation
DCVM Net Balance
MetalLong LotsShort LotsNet Lots Est. IM ($)% of Total IM
Load StoneX daily file to populate margin data.
IM estimates are indicative only. Actual SPAN margin calculated by LME Clear. Margin call threshold: excess < 5% of IM. Source: StoneX daily equity summary.
Selected Period
Lock Status
Frozen NAV
Frozen NAVPS
Fund: Period:
🔒Period Lock Status
☑️Pre-Close Checklist
#CheckStatusDetail
📋Close History
PeriodFundStatusNAVNAVPSMgmt FeePerf FeeLocked AtWarnings
🏦Bank Account Register
FundBankAccount TypeCurrencyBalanceUSD EquivSSIs CapturedStatus
DAA Northern Trust (NTI) — AED
Acct: 689828-20019 · SWIFT: CNORUS33 · via FAB (NBADAEAA) · IBAN: AE090354022003872532014
Subscription / FiatAED 🟢 Confirmed 🟢 Live · 28 Nov 2025
DAA Northern Trust (NTI) — USD
Acct: 36630220010 · SWIFT: CNORUS33 · Fedwire ABA: 026001122 · CHIPS ABA: 0112
Subscription / FiatUSD 🟢 Confirmed 🟢 Live · 14 Nov 2025
DAAADCB — AED
IBAN: AE340030014469928920001 · SWIFT: ADCBAEAA
OperatingAED🟢 Confirmed🟢 Live · Acct 14469928920001
DAAADCB — USD
IBAN: AE070030014469928920002 · SWIFT: ADCBAEAA
OperatingUSD🟢 Confirmed🟢 Live · Acct 14469928920002
DAACapital Union Bank (CUB)
Acct: 8090771.1001 · SWIFT: CUBLBSNS · Nassau, Bahamas
Multi-currencyUSD / EUR / CHF / GBP🟢 Confirmed🟢 Open · 20 Jan 2026
DAACUB — AED via FAB
FAB SWIFT: NBADAEAA · IBAN: AE170354031205783519001 · FFC: 8090771.1001
AED CorrespondentAED🟢 Confirmed🟢 Open
DAACantor / CF Secured, LLC
FFC Acct: 32500794 · USD via BNY (ABA 021-000-018) · DTC 0794 · Euroclear 25488
Prime / CustodyUSD / EUR🟢 Confirmed🟢 Live 25 Feb
DAAUSDT — Subscription Receipt
On-chain · USDT accepted at 1:1 per PPM · Sweep to Tether Wallet for deployment
Subscription / CryptoUSDT🟢 Live
DAAZand BankPendingAED / USD🟡 Onboarding
SLNorthern Trust (NTI) — USD
Acct: 356071-20010 · SWIFT: CNORUS33 · Fedwire ABA: 026001122 · CHIPS ABA: 0112
Subscription / FiatUSD🟢 Confirmed🟢 Live · 24 Oct 2025
SLStoneX (LME)
Trading Acct: LME26525 · LONLME
Futures MarginUSD🟢 Confirmed🟢 Live · nil balance
SLStoneX CES Seg (via BofA)
SWIFT: IGLUGB2LTWS · USD via BofA NY (ABA 026009593 / Acct 6550361139) · GBP/EUR via BofA London (BOFAGB22)
Client Seg Settlement17 CCY🟢 Confirmed🟢 SSIs received 30 Sep 2025
✅ All bank SSIs captured: NT (DAA AED 689828-20019 + USD 36630220010, Silea USD 356071-20010), ADCB (AED + USD), CUB (multi-ccy + FAB AED), Cantor/CF Secured (USD + EUR + DTC + Euroclear), StoneX LME26525 + CES Seg (17 ccy via BofA). Tether.to Cantor bank setup guide also received.
📊Cash Transaction Ledger 1 transactions
Net Cash Movements · 0 transactions
💡 Internal Transfer — one form creates Transfer Out (gross) + Transfer In (net of wire fee). FX Conversion — one form creates sell-side + buy-side entries + auto-posts 2 journals through FX P&L (spread cost falls out automatically as net debit). Running balance calculated per bank account in chronological order.
🔭Cash Flow Forecast — Next 30 Days ✅ Above threshold all 30 days
📅 Add Scheduled Cash Movement
📋 Scheduled Items
DateDescriptionAmount (USD)Type
📊 Daily Forecast (30 Days)
DateOpening (USD)InflowsInflow $OutflowsOutflow $Closing (USD)Alert
Click "Refresh Forecast" to generate
⚠️ Threshold: Days with projected balance below USD 50,000 are flagged red — potential capital adequacy risk. Opening balance sourced from Cash Transaction Ledger. Scheduled items are committed/pipeline/contingent cash flows. Pipeline items are informational only.
💱FX Rates & Currency Ladder
Currency PairRateTypeSourceApplied To
USD / AED3.6725Fixed pegCBUAE (Central Bank UAE)DAA Fund subscription · NT balance · all AED ↔ USD
USD / TRYMonitorFloatingBloomberg / RefinitivTurkey entities (ring-fenced)
Functional currency✅ USDBase + reportingFSRA / Fund docsDAA Fund, Silea Fund, all reporting
Board reporting currency✅ USDPresentationAED 3.6725 conversionBoard pack, MIS, investor statements
🔴
Operational Risk — BitGo Custody Agreement Unsigned
Custody arrangement for digital assets at BitGo is not legally formalised. Sign agreement immediately (Nick Coombs, confirmed 24 Feb). No on-chain assets can be transferred until executed.
🔴
Counterparty Risk — Ripple Onboarding Stalled >7 Days
KYC pack not received. Liquidity provider pipeline at risk. Escalate via alternative contact. Delay directly affects strategy deployment.
🟡
Banking — 4 Banks Live (DAA) + 2 (Silea) · All SSIs Confirmed
DAA: NT (AED + USD) + ADCB (AED + USD) + CUB (multi-ccy) + Cantor/CF Secured (prime). Silea: NT (USD) + StoneX (LME + CES Seg 17 ccy). Zand onboarding (DAA).
Loading...
Total AUM at Risk
Cash / AUM
USD 0
VaR (1-day, 95%)
Run VaR engine below
2
Hard Limit Breaches
0
Amber Warnings
Loading risk dashboard...
📊VaR Calculation Engine Not run
💡 VaR uses daily price history from Supabase (365 days loaded). Prices auto-capture from CoinGecko during daily close. Parametric VaR uses variance-covariance with adjusted correlation (ρ=0.7 DAA, ρ=0.5 Silea). Historical simulation uses full-revaluation of portfolio under each historical scenario.
Real-Time Risk Engine Auto-refresh OFF
Recalculates VaR, correlation, stress tests when positions or prices change.
🔗 Correlation Matrix Not run
Select fund and click to compute pairwise correlations from price history.
🎯 Scenario Builder User-defined stress tests
SHOCKS (asset + % change)
%
📊 Backtesting Engine Not run
Replays historical daily returns against current portfolio weights. Assumes static allocation (no rebalancing).
💧 Liquidity Risk Model Not run
Click a fund to compute per-position liquidity scores and portfolio-level liquidity-at-risk.
📐VaR Methodology & Risk ModelFSRA QIF compliant · ADGM Risk Framework
DAA Fund — Crypto VaR
Primary methodHistorical simulation (250-day rolling window)
Confidence level95% (1-day); 99% (reporting)
Data sourceCoinGecko daily returns · Binance OHLCV
Stablecoin treatmentPeg deviation risk modelled separately; USDT/USDC haircut scenarios
Correlation assumptionCrypto assets treated as highly correlated in stress scenarios
Stress scenariosLUNA/UST collapse (−50% stablecoin), Binance delisting event, exchange outage
FrequencyDaily · automated via Agent 07-risk-daily (AI Operations Plan)
Silea Fund — Metals/Futures VaR
Primary methodParametric VaR (delta-normal)
Confidence level95% (1-day); 99% (reporting)
Data sourceS&P Cap IQ LME official settlement (15-min delay) · manual close import
Futures treatmentNotional exposure at 3-month forward; roll risk modelled separately
Stress scenariosLME Nickel short squeeze (Mar 2022 event), ±30% metals shock, margin call cascade
FrequencyDaily post-LME close (~17:00 London) · S&P Cap IQ feed
⚙️ Automated risk calculation: when positions are booked in the Trade Blotter, Agent 07-risk-daily (n8n · Claude API) will run automatically at 08:00 GST, computing all limits above and flagging exceptions to the COO. Manual override available at any time. VaR models require minimum 30 days of position history before statistical output is reliable.
📋Risk Policy Referencev1.0 · Updated 27 Feb 2026
Risk PolicyDAA_Fund_Risk_Management_Policy_v1_0.docxSharePoint / 1125_DIGITAL ASSETS / Risk Management
Daily reportsRisk Management / Daily ReportsAgent 07 output · T+0 by 08:30 GST
Monthly reportsRisk Management / Monthly ReportsBD+3 monthly; Board pack by 25th
Board risk packRisk Management / Board ReportsMonthly · Included in MIS pack
ADGM FSRA obligationGEN 3.3 (Risk Management Framework)Periodic Fund Return · FSRA Sept 2025 update
🏢OTC Counterparty Limits — Live from RegisterPP Manual §8.1

Real-time NOP vs approved limits. Populated from Counterparty Register. 75% early warning = amber. >100% = red (trade blocked). Quarterly COO sign-off required.

CounterpartyAgreementKYCApproved LimitNet Open PositionUtilisationRAG
Limits are enforced in real time during trade booking (addTrade). If projected NOP exceeds approved limit, the trade is blocked with full breakdown. 75% threshold triggers proceed/cancel warning. See Counterparty Register for full KYC/CDD details.
🔐Operational Risk Register27 Feb 2026 · 7 items
#RiskCategoryLikelihoodImpactRAGOwnerMitigant / ActionDue
OPR-001 BitGo agreement unsigned Custody / Legal Immediate 🔴 Critical 🔴 Open Chris Sign agreement immediately · Nick Coombs confirmed 24 Feb OVERDUE
OPR-002 Ripple KYC not submitted Counterparty High 🔴 High 🔴 Open Chris Escalate via alternative Ripple contact · 7+ days stalled OVERDUE
OPR-003 Bank diversification breach (<3 banks) Liquidity / Operational High 🟡 Medium 🔴 Open Chris / Zayed ADCB live · Activate Zand, BBK · all SSIs captured ✅ 28 Feb
OPR-004 Zodia — Zed access not completed Operational Medium 🟡 Medium 🟡 Open Chris / Zed Complete Zodia user access setup 03 Mar
OPR-005 All bank SSIs captured ✅ Operational Medium 🟡 Medium 🟡 Open Zayed Log SSIs received 25 Feb (Grant Goodman) to Cash register and infra sheet 28 Feb
OPR-006 Single prime broker — Silea (StoneX) Counterparty Low 🔵 Low 🔵 Monitor Chris Review when AUM > USD 5M. Consider Interactive Brokers as secondary. On AUM trigger
OPR-007 PMS lacks automated FSRA periodic fund return Regulatory / Reporting Low (near-term) 🟡 Medium 🔵 In Progress Chris AI Operations Plan Phase 3 — Agent 07 MIS pack includes FSRA return data. Manual export interim. Q2 2026
📒New Journal Entry
📋Journal Ledger0 entries
Total USD: USD 0.00 Total AED: AED 0.00

📋 Journal Audit Trail

0 entries
📗General Ledger 0 entries
⚖️Trial Balance
CodeAccount NameTypeDebitCreditNet BalanceLines
🏢 Provider Sub-Ledger
ProviderTotal DebitTotal CreditNet BalanceEntriesTop Account
As-of date:
📋Fee ScheduleDAA Fund
Fee / ExpenseAnnual Rate (USD)Daily RateDays AccruedCurrent Accrual (USD)GL DebitGL CreditStatus
📗GL Accrual Entries
DateDescriptionDebitCreditGL AcctTxnId
📦Prepayment Register
IDCategoryDescriptionAmount (USD)Payment DateCoverageDaily AmortAmortisedRemaining% DoneStatus
📝Manual Accrual Entry Post ad-hoc accruals (DR Expense / CR Liability)
USD functional · IFRS basis · As of: —
DAA Fund · OEIC IC · FSRA QIF · Administrator: Ascent Fund Services · Status: Launched · 1st Dealing 2-Mar-2026
📅 As at:
DAA Fund NAV
Loading...
P&L Daily
Loading...
P&L MTD
Loading...
P&L YTD
Loading...
NAV per Share
Loading...
💹DAA Fund — Income Statement02-Mar-2026 Inception
Line ItemDailyMTDYTDNotes
Income
Realised Trading P&LClosed positions — avg cost method
Unrealised Trading P&LOpen positions marked to market
FX Gain / (Loss)Net of conversion spreads
Interest IncomeBank interest on cash balances
Total Income
Fund Expenses
Management Fee2.0% p.a. on AUM — expense to fund
Administration Fees (Ascent)Borne by manco pre-launch
Custody Fees (Tungsten/BitGo)Borne by manco pre-launch
Audit Fees (BDO)Annual · accrued at year end
Legal FeesPPM amendment ~USD 16-26K pending
Transaction CostsBrokerage and settlement fees
Total Expenses
Net Income / (Loss)Loading...
⚖️DAA Fund — Balance SheetLive
Loading fund financials...
👥Investor Register & Holdings 1 investor
USD 500,000.00
Fund NAV
1
Investors
500.00
Shares Outstanding
$1000.0000
NAV / Share
📥Subscription / Redemption Register0 transactions
📥 Record Subscription / Redemption
Total:
Total Investors
-
Adj Required
-
HWM Status
-
🏛️
ADGM FSRA — Periodic Fund Return (GEN 3.3)
Auto-populated from PMS data. Review all fields before submission. Export to Excel for ADGM ePortal upload.
🏛️Periodic Fund Return — Data Auto-populated
FieldValueSource / Notes
Loading...
Auto-populated from PMS. Fields marked 🟡 require manual verification. Export CSV for ADGM ePortal. Deadline: BD+20 monthly, BD+25 quarterly.
X12 Capital Limited
Monthly Investor Newsletter
DAA Fund — Digital Assets Arbitrage
ADGM FSP No. 220101
Month Ending —
NAV Per Share
Total AUM
Monthly Return
YTD: —
Sharpe / Sortino
Vol: — · Sortino: —
Fund Information
NAV Performance — Monthly Returns (%)
Manager Commentary
Portfolio Composition
P&L Attribution by Instrument
Strategy Allocation (% of NAV)
Operational Summary
Benchmark Comparison
Risk Statistics
This document is for information purposes only and does not constitute an offer or solicitation to invest. Past performance is not indicative of future results. X12 Capital Limited is regulated by the Financial Services Regulatory Authority (FSRA) of Abu Dhabi Global Market (ADGM). NAV figures are unaudited and subject to revision. Investors should refer to the Fund's offering memorandum for complete terms and risk disclosures.
Production Platform — Fit for Purpose at Current Scale
X12 PMS is the production system for X12 Capital's fund operations. At current scale (2 funds, <$100M AUM, lean team), it delivers core fund accounting, daily close, and regulatory reporting without commercial licence fees. The system has real architectural limitations (see below) that would become blocking at larger scale, more funds, or with external investors requiring independent verification. The cost advantage is genuine today; the build-vs-buy decision should be revisited if AUM exceeds $250M or headcount exceeds 5.
8 / 10
Fund Accounting (GL)
62-account COA · IAS 21 multi-ccy · auto-journals · P&L/BS · period locks · provider sub-ledger
Gap: no multi-entity · no intercompany · no deferred tax · no multi-GAAP
8 / 10
IBOR / Position Mgmt
Server-side daily close · 3-way recon · futures support · settlement T+n · multi-asset instrument master (15 types) · alias-based recon matching
Gap: batch-only (no real-time) · no corporate actions · limited exchange API feeds
8 / 10
Risk & Compliance
Parametric + HistSim VaR/CVaR · scenario builder · backtesting · correlation matrix · liquidity risk model · concentration limits · FSRA return · wallet screening
Gap: no real-time streaming risk · no automated KRI alerting · no stress test automation
8 / 10
Ops & Infrastructure
Supabase Auth · WAL persistence (kvMutate) · optimistic concurrency · live sync · active users presence · append-only audit trail · 8 Edge Functions · health monitoring
Gap: no maker-checker workflow · no CI/CD pipeline · no workflow engine
💰Cost Comparison — In-House vs Commercial PMS
ItemX12 PMS (Actual)Enfusion (Est.)Limina IMS (Est.)Geneva / Advent (Est.)
Annual licence / SaaS$0$50–80K$39–70K$80–150K
Implementation / onboarding$0$20–40K$10–20K$50–100K
Ongoing development (Claude API + COO time)~$2K/yr
Supabase (DB + Edge Functions + Storage)$25/moIncludedIncludedIncluded
Customisation / change requestsSame-day, freeRoadmap queue$150–300/hr$300–500/hr
COO time opportunity costSignificantZeroZeroZero
Year 1 Total (cash cost) ~$2.3K $70–120K $49–90K $130–250K
Commercial PMS pricing assumes sub-USD 100M AUM tier. Geneva/Advent pricing for small hedge fund implementations. COO time is a real cost not captured in cash comparison — estimated 400–600 hrs/yr on PMS development vs fund operations, investor relations, and business development.
⚠️What Commercial Systems Do Better — Honest Gaps
AreaX12 PMSCommercial (Enfusion / Limina / Geneva)Impact
Data integrity Supabase kvStore with write-ahead log (kvMutate), optimistic concurrency (version column), crash recovery. Append-only audit_log. No referential integrity between keys. RDBMS with ACID transactions, foreign keys, row-level locking, point-in-time recovery. MEDIUM — WAL + versioning mitigate crash/concurrency risks. No referential integrity remains a gap. Acceptable at current scale.
Real-time positions Batch recalculation on page load or daily close. Risk engine auto-refreshes every 60s. No event-driven position updates. Real-time IBOR with streaming market data, intraday P&L, instant trade reflection. MEDIUM — acceptable for current arb strategy (small book). 60s risk refresh covers monitoring. Would block active trading desks.
Authentication & access Supabase Auth (email/password) with user_roles table, RLS, session management. Active users presence. PIN auth as fallback. No SSO, no MFA. OAuth2/OIDC, RBAC with granular permissions, SSO, MFA, audit-grade access logs. MEDIUM — proper user identity now in place. SSO/MFA needed for institutional scale.
Corporate actions No support. Manual journal entries required for dividends, splits, mergers, forks. Automated corporate action processing with SWIFT/ISO messaging, predictive election. MEDIUM — limited impact for crypto/stablecoin strategy. Critical gap if equities or bonds added.
Securities master Multi-asset instrument master (15 types, 38+ instruments). Internal IDs, aliases for recon matching, type-specific specs. O(1) lookup. No automated reference data feeds yet. CUSIP/ISIN/SEDOL linked. Bloomberg/Reuters identifiers. Automated reference data feeds. LOW — centralised instrument data now in place. Alias matching resolves recon friction. Automated feeds (Bloomberg) would be nice-to-have.
Multi-user collaboration Multi-user with Supabase Auth, optimistic concurrency (version conflicts), live sync polling, active users presence. No maker-checker workflows or approval chains. Multi-user with maker-checker, 4-eye approval, concurrent access, conflict resolution. LOW — concurrent access with conflict detection now in place. Maker-checker needed for institutional scale.
Regulatory reporting FSRA PFR only. No Form PF, AIFMD Annex IV, CPO-PQR, or other jurisdiction support. Multi-jurisdiction regulatory reporting with automated filing. AIFMD, Form PF, MiFID II. LOW — ADGM/FSRA only jurisdiction today. Would need expansion for non-ADGM funds.
Investor portal No external-facing investor access. Capital statements via manual export only. White-labelled investor portal with NAV, statements, documents, K-1/tax reporting. LOW — 4 investors currently. Manual statements sufficient. Would need portal at 20+ investors.
🔬Capability Matrix — Production Status (v5.10.2)
CapabilityStatusDetailVersion
Double-Entry General Ledger 🟢 Production 62-account fund COA · glPost() with DR=CR validation · auto-posting from trades, cash, accruals · period locks · provider sub-ledger · GL WorkTable with filtering/export v5.9.0
Multi-Currency GL (IAS 21) 🟢 Production Dual-amount posting (ccy/ccyDr/ccyCr/fxRate) · Currency Register (functional/pegged/stablecoin/floating) · daily FX revaluation · GL 6100/6200 · transaction-currency TB v5.9.8
Fund Financials (P&L + BS) 🟢 Production GL-driven via mapGLToFinancials() · per-bank cash · futures derivatives · FX P&L · settlement accounts · BS balance check · IFRS presentation · Daily/MTD/YTD KPI tiles v5.9.4
Server-Side Daily Close 🟢 Production 9-step close engine (Edge Function) · write-ahead log · immutable close_results · advisory lock · crash recovery · pre-flight validation gate · local fallback retained v5.9.6
Shadow NAV Engine 🟢 Production GL-driven NAV · HWM tracking · perf fee accrual · equalisation credits · NAVPS time series · Sharpe/Sortino · max drawdown · TWRR compounding v5.9.4
Fund Expense Accruals 🟢 Production Mgmt fee · admin · custody · audit · legal · prepayment amortisation · date-range smoothing · expense payment 3-way GL routing · provider tagging v5.9.0
Month-End / Year-End Close 🟢 Production Period locking · fee crystallisation · NAV materiality check on unlock · relock with delta capture · 6 halt checks + 2 warning checks v5.9.0
Cash & Banking 🟢 Production 10 cash sub-accounts · 3-way recon (PMS/Bank/Admin) · AI bank statement import (Claude vision) · multi-currency · manager advance (GL 2050) v5.9.3
Trade Lifecycle 🟢 Production Book · Amend · Cancel · Settle · Fail · dual-leg settlement (pay/receive bank) · wallet screening · T+n settlement accounting (GL 1450/2650) · OTC + futures v5.9.2
VaR / Risk Engine 🟢 Production Parametric + HistSim VaR · CVaR/ES · per-position risk contribution · scenario builder (custom + ADGM pre-built) · backtesting (equity curve, Sharpe/Sortino, max DD) · correlation matrix (30/60/90d) · liquidity risk model (5-tier, DTL) · margin utilisation · 60s auto-refresh v5.9.8
Investors & Shares Register 🟢 Production Subscription/redemption register · NAVPS-based pricing · AED/USD/USDT settlement · equalisation credits · capital accounts · multi-share-class (Silea A/B) v5.8.0
OTC Counterparty Management 🟢 Production KYC/CDD register · wallet whitelist · agreement tracking · settlement monitor · trade confirmations (<15 min SLA) · §6.8 KPI breach escalation v5.2
Silea Futures Engine 🟢 Production LME/COMEX contracts · prompt date calendar · margin monitor (IM/VM) · carry/roll booking · per-metal VaR · position ledger v5.9.5
FSRA Periodic Fund Return 🟢 Production Auto-populated from PMS data · GEN 3.3 compliant · manual fields flagged v4.8
AI Document Import 🟢 Production Bank statements + custodian positions via Claude vision (PDF/image → structured parse → review modal → import). Clipboard paste. CSV fallback. v5.9.3
Test Harness 🟢 Production 42 server-side tests (GL, positions, fees, daily close, pre-flight) + 8 client-side smoke tests (NAV=equity, hash chain, instrument resolution, WAL status). Server test runner button on System Checks page. v5.10.0
Health Monitoring & Backup 🟢 Production 9-check health function (TB balance, close freshness, price staleness, storage). Daily backup to Supabase Storage with 30-day retention. GL archiving >6mo. v5.9.6
On-Chain Explorer 🟢 Production Etherscan API · wallet balances · transaction history · gas tracker · token transfers v5.0
Tungsten Blotter Import 🟢 Production Drop xlsx → SheetJS parse → classify (custody transfers, gas fees, write-offs, OTC sells, capital contributions) → review modal with per-row checkboxes → auto-book trades + GL. Full UAL audit trail. v5.10.2
Investor Newsletter 🟢 Production Word export (docx-js, navy/gold A4 DXA) · PDF export · Print view · fund info table · strategy description · exposure table (USD '000s) · NAV waterfall · institutional disclaimer v5.10.2
NAV Data Architecture 🟢 Production Single source of truth (navHistory) · 4 stores consolidated · IBOR-compatible fields (totalCash, totalInvestments, positions[], accruedFees, closedBy) · backward-compatible adapter for IBOR page v5.10.2
Custodian API Feeds 🟡 Pending AI import (Claude vision) in production as interim. Direct API feeds (BitGo/Zodia REST) pending custody agreement execution. Blocked
Supabase Auth & Multi-User 🟢 Production Email/password auth via Supabase Auth · user_roles table · RLS enforcement · session management with auto-refresh · optimistic concurrency (version column) · live sync polling (15s) · active users presence indicator · PIN auth retained as legacy fallback v5.10.0
Securities Master 🟢 Production Multi-asset instrument model (15 types) · 38 seeded instruments · O(1) lookup by id/symbol/alias/ISIN · recon alias matching · type-specific specs (futures, options, bonds, swaps, etc.) · Standing Data UI with CRUD · CSV export v5.10.0
Write-Ahead Log 🟢 Production kvMutate() wraps 6 critical accounting keys · mutation_log table (PENDING→COMMITTED) · FNV-1a checksums · crash recovery on init · version column for optimistic concurrency v5.10.0
Append-Only Audit Trail 🟢 Production UAL dual-persists to localStorage + Supabase audit_log table · RLS: INSERT+SELECT only (no UPDATE/DELETE) · SHA-256 hash chain · evidence export · userId/userEmail on all entries v5.10.0
🏆Architecture Strengths
Total cost of ownership~$2.3K/yr cash cost vs $50–250K for commercial alternatives. No licence fees, no per-user charges, no AUM-based pricing. Genuine saving at current scale.
Customisation speedNew features deployed same-day. No vendor roadmap queue, no change request fees. Multi-currency GL engine built in a single session. Commercial vendors quote 4–12 weeks for comparable changes.
Complete fund accounting62-account COA, double-entry GL, auto-posting from all sub-ledgers, GL-driven financial statements, IAS 21 multi-currency, period locks, month-end close. Comparable to Tier 2 commercial offerings.
Server-side close engine9-step daily close via Edge Function with write-ahead log, pre-flight validation, and crash recovery. Not browser-dependent for critical GL mutations.
Purpose-built for digital assetsOn-chain explorer, wallet screening, stablecoin accounting, crypto exchange integration, USDT subscription path. Most commercial PMS platforms treat crypto as an afterthought.
AI-native operationsClaude vision for document import (bank statements, custodian positions). n8n integration for automated workflows. No commercial PMS has equivalent AI document processing built in.
🚨Architecture Weaknesses — Known Risks
kvStore persistence modelStill JSON blob storage, but now wrapped with write-ahead log (kvMutate), optimistic concurrency (version column), and crash recovery. Not full ACID, but crash-safe and conflict-aware. Remaining risk: no referential integrity between keys.
Single-developer dependencyCOO is sole developer. No second pair of eyes on GL logic. No code review process. Bus factor = 1. Claude assists but cannot independently verify accounting correctness.
No CI/CD pipelineTest harness exists (42 server + 8 client tests) with UI runner on System Checks page, but no automated CI/CD pipeline, no pre-commit hooks, no test-on-deploy gate.
Browser-dependent statePosition calculations, risk metrics, and some GL operations still run client-side. Browser crash during operation could lose in-flight state. Supabase mitigates but doesn't eliminate.
No maker-checker workflowAll operations are single-approval. No 4-eye principle for GL journals, trades, or NAV sign-off. Acceptable for lean team but would fail institutional due diligence.
🔀Build vs Buy Decision Framework
TriggerThresholdActionCurrent
AUM growth> $250MEvaluate Enfusion/Limina for IBOR. Consider PMS as shadow/operational system alongside commercial.Below threshold
Team size> 5 headcountMulti-user concurrency now in place (Supabase Auth, optimistic concurrency, live sync). Maker-checker workflows needed at institutional scale.Addressed (v5.10.0)
External audit requirementBDO requests immutable audit trailAppend-only audit_log table with SHA-256 hash chain now in production. Evidence export function available.Addressed (v5.10.0)
Asset class expansionEquities, bonds, or structured productsSecurities master + corporate actions engine needed. Evaluate Geneva/Advent if traditional assets > 30% NAV.Not triggered
Investor count> 20 investorsInvestor portal needed. Evaluate white-label portal or build light SPA fed from Supabase exports.Below threshold
Multi-jurisdictionNon-ADGM fund launchRegulatory reporting beyond FSRA needed. Evaluate commercial for multi-jurisdiction compliance.Not triggered
📊Codebase Statistics — v5.10.2
36,482
Total Lines
14 JS + 1 vendor + HTML + CSS + Edge Fns
649+
Functions
Client-side JS only
33
Pages
27 in sidebar nav
9
Edge Functions
Supabase Deno runtime
62
GL Accounts
8
Currencies
38+
Instruments
50
Automated Tests
42 server + 8 client
🗺️Roadmap to v6.0 — Architecture & Capability Targets
v6.0 represents the transition from "founder-built MVP at scale" to "institutional-grade platform". The roadmap is sequenced by dependency and business urgency. Target: Q3 2026.
PhaseWorkstreamItemsWhy it mattersEst. Effort
Phase 1
Mar–Apr 2026
Silea Go-Live H10 Multi-sleeve position engine · StoneX parser wiring · OM import path · H14 Incentive fee step-up (date-effective rates) · M15 Investor capital account statements Silea launch is imminent. Fund can't go live without multi-sleeve positions, automated StoneX feed, and investor statements. 3–4 weeks
Phase 2
Apr–May 2026
Operational Automation M21 n8n SharePoint→PMS auto-import · Custodian API feeds (BitGo/Zodia REST) · M14 Dealing calendar enforcement · M18 Corporate actions register · M24 Full Elliptic API integration Eliminate manual data entry. Custody agreements executing — API feeds become possible. Corporate actions needed before any token with dividends/forks. 3–4 weeks
Phase 3
May–Jun 2026
Institutional Controls Maker-checker workflow engine (trade/GL/NAV approval chains) · MFA via Supabase Auth · CI/CD pipeline (GitHub Actions → test gate → deploy) · H15 RMP v2.0 KRI engine with automated alerting Board and institutional investors expect 4-eye principle. CI/CD prevents regressions. KRI alerting replaces manual monitoring. 4–5 weeks
Phase 4
Jun–Jul 2026
Multi-Fund & Reporting M19 Cross-fund consolidated exposure · M11 Look-through exposure · M16 Benchmark comparison · M17 FSRA PFR portal-compatible export · Investor portal SPA (light-theme dashboard from Supabase exports) With 2 live funds, consolidated reporting becomes operational necessity. FSRA expects portal-format filing. Investor self-service reduces COO overhead. 4–5 weeks
Phase 5
Jul–Aug 2026
Architecture Hardening Migrate kvStore → proper Postgres tables (GL entries, trades, positions as rows, not JSON blobs) · referential integrity · full ACID transactions · event-sourced audit · connection pooling · read replicas The single biggest architectural risk. kvStore with WAL is crash-safe but not truly relational. This migration enables all future scale. 6–8 weeks
🎯v6.0 Target Scores vs Current
Fund Accounting
8 → 9
+multi-entity +intercompany
IBOR / Positions
8 → 9
+corp actions +API feeds
Risk & Compliance
8 → 9
+KRI engine +automated alerts
Ops & Infrastructure
8 → 9
+maker-checker +CI/CD +Postgres
Score of 10 requires multi-entity GL, SSO/MFA, maker-checker, CI/CD, relational DB, and investor portal — all achievable but not all needed before $250M AUM. The build-vs-buy trigger table above still applies. v6.0 targets 9/10 across all four pillars, which matches or exceeds Tier 2 commercial PMS platforms at this AUM band.
Live Intraday Prices ● LIVE Updated 14:50:00 GST
Auto-refresh:
Digital Assets — Live CoinGecko CoinGecko · 14:50
USDT
$1.0000
-0.02% 24h
CoinGecko
USDC
$1.0000
+0.01% 24h
CoinGecko
BTC
$66,489.00
+3.96% 24h
CoinGecko
ETH
$1,983.79
+6.42% 24h
CoinGecko
XRP
$1.3700
+6.51% 24h
CoinGecko
SOL
$85.1400
+7.84% 24h
CoinGecko
BNB
$622.5200
+4.75% 24h
CoinGecko
XAUT
$5,316.74
-2.14% 24h
CoinGecko
💱 FX Rates — Live frankfurter.app ECB · — · —
PairSpot Ratevs USDSourceIFRS 13
USD/AED
UAE Dirham (pegged)
CBUAE peg 3.6725 frankfurter.app · ECB L1
EUR/USD
Euro
1.1805 ECB reference frankfurter.app · ECB L1
GBP/USD
British Pound
1.3471 BoE frankfurter.app · ECB L1
USD/TRY
Turkish Lira
43.9600 Turkey ops frankfurter.app · ECB L1
USD/CHF
Swiss Franc
0.7712 Institutional ref frankfurter.app · ECB L1
⚙️ Metals — LME Official Prices S&P Cap IQ · 15-min delay
ℹ️
LME Official Settlement Prices are available via your S&P Capital IQ subscription with a 15-minute delay. In Excel: use the Capital IQ Excel Add-in → CIQ function → ticker e.g. LMCADS03 (Copper 3M), LMAHDS03 (Aluminium), LMZSDS03 (Zinc), LMNIDS03 (Nickel). Alternatively, direct LME official close prices are available at lme.com/data after 17:00 London time each business day. NAV-quality pricing requires same-day LME official settlement — import via the manual close panel below.
MetalPrice TypeLME Cash ($/t)LME 3M ($/t)Primary SourceCap IQ TickerIFRS 13Status
Copper (LME)SETTS&P Cap IQ / LMELMCADS03L2🟡 Manual import
Aluminium (LME)SETTS&P Cap IQ / LMELMAHDS03L2🟡 Manual import
Zinc (LME)SETTS&P Cap IQ / LMELMZSDS03L2🟡 Manual import
Nickel (LME)SETTS&P Cap IQ / LMELMNIDS03L2🟡 Manual import
Lead (LME)SETTS&P Cap IQ / LMELMPBDS03L2🟡 Manual import
Tin (LME)SETTS&P Cap IQ / LMELMSNDS03L2🟡 Manual import
Gold (spot)FIXN/ALBMA PM Fix / S&P Cap IQXAUUSDL1🟡 Manual import
Silver (spot)FIXN/ALBMA Fix / S&P Cap IQXAGUSDL1🟡 Manual import
S&P Cap IQ Excel Add-in: =CIQ("LMCADS03","IQ_LAST_PRICE") for latest price. LME official settlement published ~17:00 London time. Import into Daily Close panel below for NAV-quality audit trail. Cap IQ prices carry 15-min delay — confirm against lme.com for official settlement.
📥 Daily Closing Price Matrix 0 dates
Date Source USDT USDC BTC ETH XRP SOL XAUT AED/USD EUR/USD GBP/USD TRY/USD Cu $/t Al $/t Zn $/t Au $/oz Notes
No closing prices imported. Click "Import Closes" or "Snapshot Live Prices as Today's Close".
Captures current live prices as the official closing price for today. Review before confirming.
🔧 Manager Price Overrides 0 active
Override live/market prices for illiquid, OTC, or NAV-based positions. Overrides take priority over all other price sources (CoinGecko, Supabase, stablecoin defaults). Per Fund Accounting Rules §6.2, overrides stale for >5 days will be flagged amber.
AssetOverride PriceMarket PriceReasonSet BySet AtAgeActions
No active overrides. Market prices used for all positions.
🤝Counterparty Register27 Feb 2026
CounterpartyTypeJurisdictionRegulationRelationshipKYC StatusOnboarding StatusOwner
Tether
USDT issuer / OTC desk
OTC LiquidityBVI / OffshorePrimary USDT seller🟡 In progress🟡 In progressChris
ARP DigitalOTC / BrokerUAEVARAUAE OTC desk🟢 Complete🟢 LiveChris
ATMEExchange / OTCUAEVARAExchange access🟢 Complete🟢 LiveChris
Falcon XOTC PrimeUSASEC/CFTCOTC execution🟡 In progress🟡 In progressChris
Cumberland
DRW subsidiary
OTC LiquidityUSACFTCDeep USD/USDT liquidity🟡 In progress🟡 In progressChris
BlockfillsOTC / AlgoUSACFTCAlgorithmic OTC🟡 In progress🟡 In progressChris
Ripple
XRP Ledger / RLUSD
OTC / IssuerUSASECXRP/RLUSD liquidity🔴 Stalled (>7 days)🔴 BlockedChris
Hidden Road
via Zodia
Prime BrokerUSAFINRAPipeline via Zodia🔵 Planned🔵 PlannedChris
MidchainsExchangeUAEVARAUAE exchange🟡 In progress🟡 In progressChris
StoneX Financial Ltd
FCM — Silea · FRN 446717 · Co. 5616586
Prime Broker / FCMUKFCASilea futures execution · LME clearing🟢 Live🟢 OperationalChris
Atremo LtdOTC / CustodyUAETungsten sub-account custody🟢 Complete🟢 LiveChris

🏢 OTC Counterparty Register

PP Manual §3 · KYC/CDD status · Wallet whitelist · Counterparty limits · Agreement tracking. All counterparties must be Market Counterparties under FSRA COBS.

Total Counterparties
Active (CDD Complete)
Pending CDD
Review Due ≤30 days

🔗 Wallet Whitelist

PP Manual §3.3 · Elliptic screening required. 48-hour notice for address changes (§5.5).

CounterpartyTypeNetworkAddressRiskScreenedStatusActions

⏱️ Settlement Monitor

PP Manual §5-6 · OTC Agreement §6.1-6.9. Tracks settlement lifecycle, KPIs, prefunding, and grace periods.

On-Time Rate
Target: 98% · Min: 95%
Avg Delivery (hrs)
Target: <4h · Min: <8h
Avg Confirm (min)
Target: <15m · Min: <30m
Failed Rate
Target: <1% · Min: <3%
Pending Now
Within settlement window
Trade IDCptyAssetDirAmount (USD)WindowDeadlineStatusDelivery TimePrefundedGraceActions

📊 KPI Breach Escalation (§6.8)

Month 1 below minimum = ops review · Month 2 = 25% limit reduction · Month 3 = suspension right

CounterpartyMetric30-Day Valuevs Targetvs MinimumMonths BelowEscalation

📄 Trade Confirmations

PP Manual §4.5 · Appendix A template · Must be issued within 15 minutes of Completed Order. Counterparty has 4-hour discrepancy window.

Confirmations Issued
Awaiting Issuance
Avg Issuance Time
Target: <15 min
Discrepancies
4-hour window

☑️ Operational Checklists — Appendix G

PP Manual Appendix G.1-G.6. Digital operational checklists with sign-off tracking. 7-year retention. Select period and complete items.

Total Items
Completed
Completion %
Sign-Off

📁 Archived Checklists

7-year retention per ADGM rules. Filter by period and type.

DateTypeItemsCompleted%Signed ByCountersignNotes

⛓️ On-Chain Explorer — Etherscan Integration

Live Ethereum blockchain data via Etherscan API. API key is session-only — never persisted. Wallet addresses are saved across sessions.

⚪ Not connected

⛽ Gas Tracker

🟢 Low (Gwei)
🟡 Average (Gwei)
🔴 Fast (Gwei)
📊 Base Fee (Gwei)
Gas cost estimate for standard ERC-20 transfer (~65K gas):

💰 Wallet Balances

LabelAddressETH BalanceUSDTUSDCDAIWBTCTotal USD Est.Last UpdatedActions
No wallets added. Enter an address above to begin.

📜 Transaction History

Date/TimeTx HashFromToValueTokenGas UsedGas Cost (ETH)Status
Select a wallet and click Fetch to load transactions.

🔔 Token Transfer Monitor

Monitors recent token transfers across all tracked wallets. Click Scan to check for new transfers since last check.

TimeWalletDirectionTokenAmountCounterpartyTx Hash
Click Scan to check for recent token transfers.

📝 PMS Change Log

Version history of all PMS modifications. Auto-logged on feature deployment. Manual entries for specification changes.

Build Progress

Version: v5.10.5
CI Tests: 55 passing
Edge Functions: 10 deployed
JS Modules: 14 JS + CSS

💾 Data Backup & Restore

Export all PMS data (trades, journals, audit trails, waterfall, snapshots, prices) to a timestamped JSON file. Restore from a previous backup to recover data.

Last Close
Loading...
Close Streak
Consecutive days
Price Feed
Last capture
System Health
Run health check below
📊Daily Close History
Last 14 days. NAV from nav_history, execution from close_results (Postgres). Close runs at 04:10 GST via n8n cron.
🩺System Health Check
Validates: TB balance, last close, price staleness, backups, NAV history, shares register. Calls pms-health-check Edge Function.
🗂️Fund Automation Workflows 7 active
n8n workflows on Contabo VPS (144.91.111.1). Fund-level only.
Workflow What it does Schedule Status
Daily Close CronTriggers edge function, posts GL entries, computes NAV04:10 GST● Active
Close AlertTelegram notification if close failed or was missed17:00 GST● Active
Price CaptureCoinGecko crypto + FX rates to price_history tableEvery 5 min● Active
Risk Daily AgentVaR, exposure limits, counterparty concentration08:00 GST● Active
Cash ReconLedger cash vs custodian balances07:00 GST● Active
Custodian ReconPMS positions vs Tungsten/Zodia/BitGo balances07:00 GST● Active
Daily BackupSupabase snapshot to Contabo Postgres06:00 GST● Active
Edge Functions Supabase Pro
Supabase Edge Functions (Deno). Deployed to project xryfxxhcnznbgubfkrcw (EU Frankfurt).
Function Purpose Trigger
daily-closeGL posting, NAV calc, close register, nav_history dual-writen8n cron / manual POST
daily-close-test54 smoke tests (GL, positions, fees, close)Manual POST
pms-health-checkTB balance, staleness, backup, NAV, sharesHealth Check button / n8n
parse-bank-statementPDF/CSV bank statement parsing (Claude API)n8n pipeline

🔒 System Integrity Checks

Automated validation suite. Run all checks to verify data integrity before month-end close or board reporting. All checks must PASS for production readiness.

Not yet run
Check Status Category Description Detail
Click "Run All Checks" to validate system integrity.

Check Categories

Accounting — GL balance, NAV=equity, period locks
Trading — Trade blotter consistency, counter integrity
Audit — Hash chain, Supabase sync, completeness
Data Integrity — Instrument master, asset resolution
Persistence — Write-ahead log, mutation recovery
Server — Edge Function test suite (42+ tests)
🔍Data Validation Framework Phase G
Click "Run Validation" to check all data integrity rules.
💾Storage Usage Breakdown Phase G
Click "Analyse Storage" to view data size breakdown per store.
Total Events
0
Chain Status
-
Coverage
-
Last Event
-
🚀Quick Startv5.10.7

The X12 Capital PMS manages the full operations lifecycle for the DAA Digital Assets Arbitrage Fund and Silea X12 AI Fund. All data persists in Supabase (cloud database) with real-time sync across sessions. USD is the functional currency; AED is converted at the CBUAE peg (3.6725). Server-side daily close runs via Supabase Edge Functions with write-ahead logging.

1. AUTHENTICATE
Click Change Role in the sidebar. Sign in via Supabase Auth (email/password) or use PIN authentication. COO role has full access. Dealer can book trades. View Only is read-only.
2. CHECK DASHBOARD
Dashboard shows AUM, exceptions (cash breaks, unconfirmed trades), system health, and OTC desk status. Quick-action buttons at top link to common tasks: book trade, cash entry, journal, bank statements.
3. RUN DAILY CLOSE
Go to Daily Close. Click Run Close to trigger the server-side close engine. It reverses prior accruals, recalculates positions, posts fees, validates TB, and snapshots NAV. Automated via cron at 04:10 GST.
Architecture: PMS client (this app) + Supabase database + 10 Edge Functions (daily-close, price-capture, parse-bank-statement, match-invoices, etc.) + n8n automation (8 workflows: bank statement email ingestion, invoice ingestion, OK to Pay, daily recon, custodian recon) on Contabo VPS. CI/CD via GitHub Actions (55 tests).
🗂️Page Reference31 pages
Section Page Purpose Key Actions
Daily Operations 📊 DashboardAUM, exceptions, system health, OTC desk KPIs, quick-action buttonsAuto-refreshes on load
🏦 Cash & BankingCash ledger, bank balances, bank statement import (AI/CSV), FX conversionsAdd Transaction, Import Statement, Run Recon
🔄 Trade BlotterBook trades (spot + futures), Tungsten blotter import, OTC compliance checksBook Trade, Import Blotter, Delete (COO)
✅ ReconciliationCash recon (per-bank-account), position recon, bank statement matchingImport, Auto-Match, Export
📖 Daily CloseRun daily close (server-side Edge Function), settlement ladder, IBOR, position reconRun Close, Flash P&L, Review Warnings
🏢 Counterparty RegisterKYC/CDD, wallet whitelist, limits, agreement tracking, pre-trade complianceAdd Counterparty, Add Wallet, Export
⏱️ SettlementsSettlement lifecycle: Pending → Grace → Late → Settled. KPIs per OTC Agreement §6.8Mark Settled, Filter, Export
📄 Trade ConfirmationsAuto-issued at booking (<15 min SLA). Appendix A format. Print/PDF.Issue, Print/PDF
☑️ Op ChecklistsSOD (11), EOD (11), Weekly (15), Monthly (21). Sign-off tracking.Check items, Sign Off & Archive
Portfolio & Risk 📈 PositionsPosition ledger — live MtM, unrealised P&L, custodian breakdownFilter by fund; auto-calcs from trades
🔩 Silea FuturesLME/COMEX futures positions, prompt dates, carry/roll, margin monitorFilter by metal, Import StoneX
💹 Trading P&LRealised + unrealised P&L attribution by asset and strategyFilter by fund/period
⚠️ Risk MonitorParametric + historical VaR, CVaR, stress tests, correlation matrix, liquidity riskRun VaR, Run Stress Tests, Backtest
🚧 Limits & ExposureCounterparty limits, asset class exposure, concentration riskAuto-calcs from positions
💲 Price MatrixLive crypto/FX/index prices, close price archive, valuation matrix (IFRS 13)Refresh, Save Close, Import/Export
NAV & Fund Accounting 📋 NAV & PricesShadow NAV, price overrides, close prices, shares register, fee accrualsOverride Price, Import Closes
📈 NAV History & PerformanceNAVPS time series, returns, Sharpe/Sortino, drawdown, waterfall, fee checkerExport, Generate Newsletter Data
📊 Fund FinancialsDynamic P&L + balance sheet per fund, income statement (daily/MTD/YTD)Toggle DAA/Silea
📗 General LedgerFull GL with trial balance, provider sub-ledger, fund/date/source filtersFilter, Export, Archive Old
📒 Journal EntriesManual double-entry journals — dual-posts to GL automaticallyPost Journal, Export
🔒 Month-End / Year-EndPeriod locking, fee crystallisation, P&L close, HWM resetLock Period, Unlock (COO), Year-End Close
⚖️ Admin NAV ReconAscent (admin) NAV vs PMS shadow NAV component varianceEnter admin figures, Compare, Sign Off
🏛️ FSRA ReturnAuto-populated ADGM FSRA Periodic Fund Return (GEN 3.3)Select period, Export CSV for ePortal
Investors & Reporting 👥 Investors & SharesSubscription register, capital accounts, investor-level P&L, ownership %Record Sub/Red, Capital Statement, Export
📰 Investor NewsletterMonthly investor report — NAV, performance, attribution. Word/PDF/Print export.Generate, Export Word/PDF, Print
⛓️ On-Chain ExplorerEtherscan integration — wallet balances, transactions, gas tracker, token transfersAdd Wallet, Refresh Balances
System 🔒 System ChecksAutomated integrity checks (NAV=equity, TB balanced, hash chain, WAL status)Run Checks, Run Server Tests (55)
🔍 Audit TrailUnified audit log — hash chain, tamper-evident, BDO-ready evidence exportSearch, Export Evidence
⚙️ Standing DataInstrument master (38 instruments, 15 types), fund parameters, fee schedulesAdd/Edit Instrument, Export CSV
🤖 Automation & Agentsn8n pipeline status (8 workflows), invoice pipeline, bank statement pipeline, failed statement triage, Edge Function health, daily pack export/import, workflow registry, agent activity logRefresh Pipeline, Export Daily Pack, Import Agent Results, Run Health Check
📖 Help GuideThis page — quick start, page reference, core workflows
🔁Core WorkflowsStep-by-step
Workflow 1: Daily Operations (Every Business Day)
① Dashboard ② Check exceptions ③ Book trades / Cash entries ④ Verify prices (auto-captured) ⑤ IBOR → Run Daily Close ⑥ Review NAV / Recon
Automated steps: Price capture runs via Edge Function (cron 00:05 UTC). Daily close runs via Edge Function (cron 00:10 UTC or manual trigger from IBOR page). Cash recon agent auto-runs post-close. Bank statements auto-imported via n8n when dropped to SharePoint. Manual steps: book trades, record cash, verify exceptions.
Workflow 2: Trade Lifecycle (Full Double-Entry)
① Dealer books trade ② Auto: journal posted ③ Auto: cash settlement posted ④ Auto: position updated ⑤ Auto: audit trail logged
Full double-entry: journal (Dr Investment / Cr Cash) and cash ledger settlement (negative for buys, positive for sells) auto-post together. Cash settles to custodian account (DAA→Cantor, Silea→StoneX). Delete (COO only) removes both the cash entry and trade. Balance sheet stays balanced at all times.
Workflow 3: Month-End Close
① Run final daily close ② Import month-end bank stmts ③ Cash recon (per-account) ④ Position recon vs custodian ⑤ Review Fund Financials ⑥ Lock period (Month-End Close page)
⑦ Run VaR + stress tests ⑧ Generate investor newsletter ⑨ Export backup
Period locking: Once locked, no GL entries can be posted to the period. NAV materiality threshold (0.5%) enforced on relock. Unlock requires COO approval with before/after NAV comparison. Daily close handles all accrual reversal/reposting automatically — no manual accrual management needed. Year-end: crystallises incentive fee, closes P&L to retained earnings, confirms/resets HWM.
Workflow 4: FSRA Periodic Fund Return
① Complete month-end close ② Open FSRA Return page ③ Select period + fund ④ Review 🟡 manual fields ⑤ Export CSV ⑥ Upload to ADGM ePortal
Deadlines: BD+20 (monthly), BD+25 (quarterly). Fields marked 🟡 require manual verification against admin records.
Workflow 5: Investor Subscription / Redemption (Full Double-Entry)
① Investors & Shares page ② Record subscription/redemption ③ Auto: shares register updated ④ Auto: journal posted ⑤ Auto: cash ledger posted ⑥ NAV + NAVPS recalculated
Single entry point: Investors & Shares page shares register form (or Dashboard → "+ New Investor Subs/Reds"). System auto-posts to three stores: shares register (capital), journal GL (Dr Cash / Cr Share Capital), and cash ledger (asset). Supports three subscription types: Advance (cash before shares), Arrears (shares before cash), Same-Day. DAA defaults to Northern Trust AED with FX @ 3.6725. USDT subscriptions at 1:1. Removing a shares entry also removes the auto-posted cash entry. No manual Cash & Banking entry needed.
Workflow 6: OTC Counterparty Onboarding (PP Manual §3)
① Counterparty Register → + Add ② Complete KYC/CDD fields ③ Add wallets to whitelist ④ Set Agreement + Limit ⑤ Auto: cpty appears in Trade Blotter dropdown ⑥ Auto: pre-trade checks enabled
Pre-trade compliance: When you book a DAA trade, the system auto-checks: (1) KYC must be "Complete" — blocks if Pending/Expired; (2) Agreement must be v13-Standard or v13-Deferred — blocks if None; (3) NOP must not exceed Counterparty Limit — blocks with projected NOP breakdown; (4) 75% early warning with proceed/cancel prompt; (5) Overdue CDD review warning. All checks reference PP Manual §4.3, §8.1, §20.8.
Workflow 7: OTC Trade Lifecycle (Full Integration)
① Trade Blotter → Book trade ② Auto: pre-trade compliance (KYC + Limit + Agreement) ③ Auto: journal posted (Dr Investment / Cr Cash) ④ Auto: cash settlement posted ⑤ Auto: settlement status → Pending + window assigned ⑥ Auto: trade confirmation issued (TC-{id}) ⑦ Auto: NOP updated in Cpty Register
Seven auto-actions on a single booking: One click in Trade Blotter triggers compliance checks, journal GL, cash ledger settlement, settlement lifecycle tracking, trade confirmation issuance, and counterparty NOP recalculation. Settlement window auto-assigned per OTC Agreement §6.3: T+0 (before 2pm UAE), T+1 (after 2pm or minting), T+2 (CNY/CNH). Delete cascades to journal, cash, and confirmation.
Workflow 8: Settlement Lifecycle (PP Manual §5-6, OTC Agreement §6.1-6.9)
① Status: Pending ② Deadline approaches (Settlement Window) ③ Past deadline → 4hr Grace Period ④ Past grace → LATE (10 bps/day ASP) ⑤ Click "✓ Settle" → Settled + delivery time recorded
Settlement KPIs (OTC Agreement §6.8): On-time rate (target 98%, min 95%), digital asset delivery (<4h target, <8h min), confirmation issuance (<15 min), failed rate (<1%, max 3%). KPI breach escalation: Month 1 = ops review, Month 2 = 25% limit reduction, Month 3 = suspension right. Dashboard OTC strip shows live KPIs.
Workflow 9: Automated Bank Statement Ingestion (n8n · Every 30 min)
① n8n polls Outlook (ADCB / FAB / IsBank emails) ② FAB: decrypt PDF password · ADCB: route by account · IsBank: parse subject CCY ③ Edge Function: parse-bank-statement (vendor normalise, FAB fee pairing, BeneIBAN lookup) ④ Save to SharePoint + Bank Statement Register ⑤ Mark email as read · write pipeline status to kvStore
Entity routing: ADCB/FAB/IsBank statements routed by account number to Manco (50_FINANCE) or Fund (30_OPERATIONS/Cash Reconciliations). Dedup: processed email IDs tracked in kvStore — no reprocessing. Triage: Parse failures written to bank-stmt-failures for review on Automation & Agents page. Manual fallback: Cash & Banking → Import Statement (AI) for one-off files.
Workflow 10: OK to Pay — Invoice to Unpaid (n8n · Every 15 min)
① Chris sends email to [email protected] with "ok to pay / approved / please pay" ② n8n polls Sent Items · filters for approval keywords · checks for attachment ③ Downloads PDF/image attachment · parses subject+body for vendor name, invoice no., date ④ Renames file: YYMMDD Vendor InvoiceNo.ext ⑤ Saves to Finance SharePoint → Invoices/Unpaid/ · marks email as read
Approval keywords: "ok to pay", "okay to pay", "approved for payment", "please pay", "go ahead and pay". File routing: Finance SharePoint / Invoices / Unpaid. Rename format: YYMMDD [Vendor] [InvoiceNo].ext — e.g. 260322 PKF AU-2026-081.pdf. Daily Recon: invoice ingestion workflow scans Unpaid folder daily, matches against bank payments using 4-pass algorithm (amount+vendor HIGH, invoice ref MEDIUM, amount-only LOW), auto-updates Invoice Register with Date Paid.
Workflow 11: Operational Checklists (PP Manual Appendix G)
① Select type: SOD/EOD/Weekly/Monthly ② Work through items (click to check) ③ Select signee + countersign ④ Sign Off & Archive
63 total items: SOD (14): custody/fiat balances, pending settlements, limits, sanctions, inventory. EOD (13): trade recon, settlement recon, P&L, NAV snapshot, CO/MLRO sign-off. Weekly (15): KPIs, limits, sanctions updates, Travel Rule audit, DeFi health. Monthly (21): settlement report, full recon, MLRO report, CDD refresh, investor comms. All archived with 7-year retention per ADGM rules.
🗄️Data Architecture24 storage keys · double-entry
┌─────────────────────────────────────────────────────────┐
TRADE BLOTTER ──book──▶ POSITIONS ──MtM──▶ NAV ENGINE
x12-trades (calculated) x12-nav-snapshots
│ │ │
├───────▶ JOURNAL GL │ ▼
x12-journals ◄┘ FEE SCHEDULE
│ │ (NAV_FEE_SCHEDULE)
│ ▼ │
FUND FINANCIALS ◄───── ACCRUAL ENGINE
(P&L + Balance Sheet) (daily accruals)
│ ▲
▼ │
CASH LEDGER ◄──────┘ ──match──▶ BANK STMTS ──▶ BREAKS
x12-cash-ledger x12-bank-statements x12-match


SHARES REG ──┬──▶ INVESTOR STMTS ──▶ FSRA RETURN
x12-shares-register x12-hwm-data (export CSV)
└──▶ CASH LEDGER (auto-post)

PRICE MATRIX ──▶ VaR ENGINE ──▶ RISK MONITOR
x12-price-history x12-var-results (dashboard)

CPTY REGISTER ──▶ PRE-TRADE CHECKS ──block/allow──▶ TRADES
x12-cpty-register (KYC+Limit+Agmt)
│ │
├──▶ WALLET WHITELIST
│ ▼
│ TRADES ──auto──▶ SETTLEMENT MONITOR ──▶ KPI DASHBOARD
(window/deadline/status) (§6.8 metrics)
│ │
└──NOP──────────▶ └──auto──▶ TRADE CONFIRMATIONS
x12-trade-confirms (Appendix A PDF)
└─────────────────────────────────────────────────────────┘
Double-entry flows: Trades and subscriptions auto-post to both journal GL and cash ledger, keeping the balance sheet balanced at all times. Deletions cascade to journal, cash, and trade confirmations. OTC flows (v5.1): Counterparty Register feeds pre-trade compliance (KYC + limit + agreement check). Trade booking auto-issues confirmation, assigns settlement window, and updates NOP. Settlement Monitor tracks lifecycle from Pending → Grace → Late → Settled with §6.8 KPIs. 24 storage keys backed up via System Checks.
🔐Role Permissions
Action 🔵 View Only 🟡 Dealer 🔴 COO
View all pages
Book trades
Post journal entries
Record subscriptions
Delete trades
Generate / reverse accruals
Import / restore backup
Add / remove counterparties
Mark trades as settled
Issue trade confirmations
Approve counterparty limits
Export data / CSV
PINs: Dealer=1234, COO=0000. Change PINs in the PINS constant in source code.
🧮NAV Calculation Formula
GAV = Positions MV + Cash Balances
Mgmt Fee = GAV × rate × (days / daysInYear)
Expenses = Σ (annualUSD / daysInYear × days)
NAV before PF = GAV − Mgmt Fee − Expenses
Perf Fee = max(0, NAVPS − HWM) × shares × rate
NAV = NAV before PF − Perf Fee
NAVPS = NAV / Shares Outstanding
DAA: 2% mgmt + 20% perf (over HWM). Silea: 2%/20%. Accruals reset monthly. Perf fee crystallises annually (Dec).
📤Available Exports11 CSV + 1 JSON
Export Format Page Use Case
FSRA ReturnCSVFSRA ReturnUpload to ADGM ePortal
Investor Capital AccountsCSVInvestor StatementsQuarterly investor reporting
NAV SnapshotsCSVNAV CalculationHistorical NAV track record
Trade Audit TrailCSVSystem ChecksCompliance / auditor evidence
Journal Audit TrailCSVSystem ChecksAuditor evidence
Recon ReportCSVReconciliationBank recon documentation
Close PricesCSVPrice MatrixValuation evidence
Historical SnapshotsCSVStanding DataBalance history
WaterfallCSVStanding DataFee projection / AUM plan
System ChecksCSVSystem ChecksIntegrity report
Change LogCSVChange LogSystem version history
Full BackupJSONSystem ChecksComplete data backup (all 22 storage keys)
🔧Troubleshooting
Problem Cause Fix
Positions show $0 MtMLive prices not fetchedGo to Price Matrix → Refresh Prices. Check internet connection.
NAV shows $0No trades or subscriptions bookedRecord a subscription (NAV Calculation → Shares Register) — this auto-posts to cash ledger, journal, and shares register in one step.
Balance sheet shows ❌ IMBALANCEManual cash entry without shares register, or legacy data from pre-v5.0v5.0+ auto-posts to both sides. For legacy data: ensure every subscription in shares register has a matching cash ledger entry, and every trade has a Trading Settlement cash entry. Delete duplicate manual cash entries if present.
"Book Trade" button disabledView Only role activeClick Change Role in sidebar → select COO or Dealer → enter PIN or sign in via Supabase Auth.
Data missing after refreshSupabase connection issueCheck Supabase connection badge in sidebar. If red, check network. Data persists in Supabase — not lost on refresh.
Duplicate accrual warningAccruals already posted for this monthNormal — reverse prior month first, then generate new.
Daily close not runningEdge Function error or close lock stuckCheck Daily Close page for warnings. System Checks → Run Server Tests (55). Check Supabase Edge Function logs.
ℹ️System Information
Version: 5.10.5
Build: 14 JS modules + CSS + HTML shell · 10 Edge Functions · 55 CI tests · GitHub Actions pipeline
Pages: 23 | Storage keys: 33 | GL accounts: 45
Funds: DAA Digital Assets Arbitrage Fund (ISIN AE000A41V2U5) · Silea X12 AI Fund (ISIN AE000A41MNN3 / AE000A41PG02)
Regulatory: ADGM FSRA · QIF · Category 3C
Currency: USD functional · AED @ 3.6725 CBUAE peg · IAS 21 multi-currency GL
Architecture: HTML/JS client + Supabase (Postgres + Auth + RLS) + 10 Edge Functions (Deno) + n8n automation (Contabo VPS) + GitHub CI/CD
Automation: Daily close (cron 00:10 UTC) · Price capture (cron 00:05 UTC) · Bank statement import (n8n) · Custodian recon (n8n) · Daily backup (cron 01:10 UTC)
Scenario Builder DAA
Fund NAV
NAV / Share
Engine
Haiku · Sonnet
Quick:
Market Service Claude API Ready