# MadeOnSol Wallet PnL Analysis

> MadeOnSol Wallet PnL Analysis is a paid API for AI agents from api.relai.fi, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-07).

Returns comprehensive profit-and-loss analytics for a Solana wallet address, including realized/unrealized PnL, drawdown, hold times, daily PnL curve, and open/closed positions.

## Facts

- Endpoint: GET https://api.relai.fi/relay/1780517153303/wallet/{address}/pnl?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-07
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/madeonsol-wallet-pnl-analysis-b27e9ed7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_dsF4bu-U4X63ub_Jxks8T

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability madeonsol-wallet-pnl-analysis-b27e9ed7
```

Example prompt: Can you pull up the full PnL breakdown for Solana wallet 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb1PkjV49d — I want to see realized and unrealized gains, the daily PnL curve, profit factor, max drawdown, and how the closed positions rank by ROI?

## When to prefer this

Use this endpoint when you need deep, multi-dimensional trading performance analytics for a specific Solana wallet — particularly when you need profit factor, drawdown, hold-time statistics, and a chronological PnL curve in addition to simple balance data. Prefer this over basic balance checkers or transaction history APIs when the goal is trader performance evaluation or portfolio risk assessment. Best suited for PRO+ use cases where cost basis transparency and the 38-day data window limitation are acceptable.

## Known failure modes

- Invalid or malformed Solana wallet address returns an error
- Wallet with no transaction history within the 38-day window returns empty or minimal data
- Cost basis for positions opened before the 38-day window is silently discarded (not an error, but data is incomplete)
- Rate limit / daily quota exceeded if cache is not hit
- Network or upstream market-cap tracker unavailability may affect open position price hydration
- PRO+ tier required — calls from lower-tier accounts may be rejected

## How this service works

Full per-wallet PnL: realized + unrealized SOL, profit factor, max drawdown, avg + median hold minutes, daily UTC PnL curve, closed positions sorted by pnl desc (with ROI %, hold minutes, win/loss/breakeven), and open positions hydrated with current prices from market-cap tracker.

**Caching**: stored in `wallet_analyses` with dynamic TTL — 5 min for wallets active in last 24h, 1h for 1-7d old, 24h for dormant. Cache hits don't count against your daily quota.

**Honesty note**: cost basis is only observable inside our 38-day data window. A wallet that sold tokens bought before that window has the overflow silently discarded rather than fabricated. `notes.cost_basis_observable_from` surfaces the cutoff. PRO+.

## Output

Returns a structured JSON object containing: realized and unrealized PnL in SOL, profit factor, max drawdown, average and median hold durations in minutes, a daily UTC PnL time series, a list of closed positions sorted by PnL (with ROI%, hold minutes, win/loss/breakeven status), open positions enriched with live prices, and metadata notes including the cost_basis_observable_from cutoff date. Results may be served from cache (dynamic TTL: 5 min for active wallets, 1h for recently dormant, 24h for inactive).

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/madeonsol-wallet-pnl-analysis-b27e9ed7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.relai.fi](https://www.zero.xyz/host/api.relai.fi/llms.txt)
