Skip to main content

Your Complete Trading Dashboard

Matchr aggregates all your prediction market activity into a single, unified portfolio view:
  • Positions across all platforms and wallets
  • Open orders waiting to be filled
  • Trade history with complete audit trail
  • P&L tracking in real-time

Portfolio Overview

Navigate to Portfolio to see everything at a glance:
Portfolio Overview

Key Metrics

MetricDescription
Total ValueSum of all positions + cash
Cash BalanceUSDC available for trading
Unrealized P&LProfit/loss on open positions
Realized P&LProfit/loss from closed trades
Open PositionsNumber of active positions
Open OrdersPending limit orders

Positions

Viewing Positions

The Positions tab shows all your current holdings:
{
  positions: [
    {
      market: "Trump wins 2024?",
      platform: "polymarket",
      outcome: "YES",
      shares: 1000,
      avgPrice: 0.52,
      currentPrice: 0.58,
      value: 580,
      pnl: 60,
      pnlPercent: 11.5
    },
    // ... more positions
  ]
}

Position Details

Click any position to see:
  • Entry price vs current price
  • Unrealized P&L
  • Link to market details
  • Quick sell action

Multi-Wallet Aggregation

If you have multiple wallets, positions are aggregated:
  • Combined View
  • By Wallet
Total Positions: 12
Total Value: $17,500

[Combined list of all positions]

Open Orders

Pending Limit Orders

See all orders waiting to be filled:
MarketSidePriceSizeStatus
Trump wins?BUY YES50¢$500Pending
Fed cuts rates?SELL NO35¢$200Partial (40%)

Order Management

View Details

See full order details including creation time and fills.

Cancel Order

Cancel any pending order with one click.

Modify Order

Coming soon: edit price or size without canceling.

Time in Force

GTC (Good Till Canceled) or FOK (Fill or Kill).

Canceling Orders

Click the X button next to any order to cancel:
// Cancel is instant and gasless
await matchr.cancelOrder(orderId);

Trade History

Complete Audit Trail

Every trade is recorded with full details:
TimeMarketSidePriceSizeFeeStatus
2024-10-15 14:30Trump wins?BUY YES52.3¢$1,000$20Filled
2024-10-15 14:25Fed cuts?SELL NO67.0¢$500$10Filled

Filtering & Export

Select date range: Today, This Week, This Month, Custom.
Search for specific markets or categories.
Show only buys, only sells, or all.
Download complete trade history for tax reporting or analysis.

P&L Tracking

Unrealized P&L

For open positions, we calculate paper gains/losses:
Unrealized P&L = (Current Price - Avg Entry Price) × Shares

Example:
Entry: 1000 shares @ 52¢ = $520 cost
Current: 1000 shares @ 58¢ = $580 value
Unrealized P&L: +$60 (+11.5%)

Realized P&L

When you close a position:
Realized P&L = Sale Proceeds - Cost Basis - Fees

Example:
Sold: 1000 shares @ 58¢ = $580
Cost: 1000 shares @ 52¢ = $520
Fees: $11.60 (2%)
Realized P&L: +$48.40

Performance Charts

Coming Soon: Visual charts showing your P&L over time, win rate, and performance by category.

Redeeming Winnings

When a market resolves in your favor:

Market Resolves

The prediction market reaches its resolution date and outcome is determined.

Position Shows 'Redeemable'

Your winning position is marked as ready to redeem.

Click Redeem

One click to collect your winnings to your Safe wallet.

USDC Credited

Funds are available immediately for new trades or withdrawal.
Winning positions pay out 1.00pershare.Losingpositionspay1.00 per share. Losing positions pay 0.00.

Real-Time Updates

Your portfolio updates in real-time:
  • Prices: Current market prices refresh every few seconds
  • P&L: Unrealized gains/losses update automatically
  • Orders: Fills appear immediately when orders execute
  • Balances: USDC balance updates after trades

Silent Refresh

We use background polling to keep your portfolio current without page reloads:
// Under the hood
useQuery({
  queryKey: ['portfolio'],
  queryFn: fetchPortfolio,
  refetchInterval: 10000, // Every 10 seconds
  refetchOnWindowFocus: true
});

API Access

Get Portfolio

const portfolio = await matchr.getPortfolio();

// Returns
{
  totalValue: 17500,
  cashBalance: 5000,
  unrealizedPnl: 1250,
  positions: [...],
  openOrders: [...]
}

Get Trade History

const trades = await matchr.getTrades({
  startDate: '2024-01-01',
  endDate: '2024-12-31',
  limit: 100
});

Export for Taxes

const csv = await matchr.exportTrades({
  format: 'csv',
  year: 2024
});

Next Steps