# PolyDOG Research — free multi-platform research client

- Website: https://brockips.com/en/
- Client price: free (USD 0). Third-party data, platforms and providers may charge separately.
- Languages: English and Simplified Chinese.
- Windows x64 portable: https://brockips.com/downloads/PolyDOG-Research-Windows-x64-Portable.zip
- Machine-readable product and validation status: https://brockips.com/product.json

## Workflow

1. Download the ZIP, extract it and launch the EXE. System WebView2 is required.
2. Choose a language. Sign in with an email code or an existing password. Optionally remember the password in the OS credential vault for next-time autofill; remove it at any time. All research tools require sign-in. Cloud sync and automatic backup are not implemented. Set or reset a password in desktop Settings using the purpose-specific email code.
3. Create a project. Save source parameters; inspect destinations, budgets and provider billing before collection. Use the dedicated secure field for provider tokens.
4. Import JSON, JSONL, CSV, Parquet or a PolyDOG ZIP. For Marketlens compact, explicitly bind market ID, outcome and units.
5. Choose a module, review decimal-string parameters, freeze inputs, then run. Inspect quality events and missing evidence.
6. Export HTML, Markdown or ZIP. Include originals only when allowed. Private account originals are excluded.
7. Import a ZIP into a restored project. Reference-only objects cannot be rerun without their originals.

## Research modules

### Prediction comparison

Review market mappings and compare depth-based cost scenarios while keeping rule equivalence unresolved.

Input: Order books, rules, market identifiers

Output: Depth costs and quality events

Boundary: Identical titles do not prove identical payouts.

### Rewards & inventory

Observe reward conditions and test inventory exits against available depth.

Input: Reward schedules and order books

Output: Pool observations and exit-cost scenarios

Boundary: A market pool is not a personal reward.

### Funding & basis

Align asset, units, funding intervals and timestamps before comparing historical rates.

Input: Signed funding records by venue

Output: Matched-period historical rate differences

Boundary: Future funding, FX and execution costs remain uncertain.

### ETHFI account evidence

Reconcile opening and closing cash balances against signed ledger flows, with explicit account consent.

Input: Balance snapshots and cash flows

Output: Cash equation and unexplained residuals

Boundary: Cash reconciliation is not proof of two-leg net profit.

### Tokenized equities

Keep exchange books, DEX quotes, issuer multipliers and currency units distinct.

Input: Quotes, assets and issuer multipliers

Output: Per-underlying-unit quote observations

Boundary: Corporate actions and non-atomic quotes require review.

### Weather evaluation

Score frozen probabilistic forecasts only against labels known after the target time.

Input: Frozen forecasts and timestamped labels

Output: Brier score and data-leakage checks

Boundary: Forward-evaluation gates are not yet met.

### Historical book replay

Replay initialized snapshots and absolute-size updates, checking time, identity, depth and crossing.

Input: Book snapshots and deltas

Output: Depth-based spread and fee scenarios

Boundary: Compact updates do not establish queue fills.

### Outcome payoff matrix

Inspect payouts across explicitly supplied scenarios and retain missing or placeholder outcomes.

Input: Scenario payouts, total cost and fees

Output: Scenario-level net payoffs

Boundary: Outcome-space completeness is not independently certified.

### Fees & rewards evidence

Compare immutable observations of public fee schedules, account fee responses and incentive programs.

Input: Versioned fee and reward snapshots

Output: Changes, refresh deadlines and explicit unknowns

Boundary: Refresh deadlines do not guarantee effective rates or personal earnings.

## Source directory

- Polymarket: Prediction · Perpetuals. experimental_public_adapter; operation_specific_validation_required
- Kalshi: Prediction · Margin / Perps. experimental_public_adapter; operation_specific_validation_required
- Hyperliquid: Native · HIP-3 · Outcomes. experimental_public_adapter; operation_specific_validation_required
- Kraken: xStocks · FX · Public books. experimental_public_adapter; operation_specific_validation_required
- Raydium / Solana: Read-only swap quotes and token IDs. experimental_public_adapter; operation_specific_validation_required
- xStocks issuer: Reference assets and multipliers. experimental_public_adapter; operation_specific_validation_required
- NOAA / NWS: Station observations and metadata. experimental_public_adapter; operation_specific_validation_required
- Open-Meteo: GFS ensemble forecasts. experimental_public_adapter; operation_specific_validation_required
- Marketlens: Licensed Polymarket endpoint. explicit_endpoint_license_and_billing_configuration_required
- PMXT / optional providers: Coverage and authorization to be configured. explicit_endpoint_license_and_billing_configuration_required

## Current validation boundaries

- No signing, order submission or real-funds execution.
- No verified profitability or forecast edge claim.
- Hash consistency is not source authenticity.
- Referenced-only evidence cannot fully reproduce unavailable originals.
- Legacy Windows research tools are not all migrated or cross-platform certified.
- WebSocket continuous collection, all pagination, account-API parity and multi-device validation remain incomplete.

macOS, Android and iOS have not completed real-system builds, signing and device acceptance. The entire v2 roadmap is not yet complete.

## Example data contract

```json
{"schema":"polydog-records-v1","synthetic":true,"records":[
{"kind":"book","venue":"SYNTHETIC_A","market_id":"EXAMPLE","outcome":"YES","unit":"token","ts_ms":1000,"snapshot":true,"bids":[["0.40","1000"]],"asks":[["0.42","1000"]],"fees_bps":"10","fee_model":"flat_bps","quote_currency":"USD","rule_equivalence":"unverified"},
{"kind":"funding","venue":"SYNTHETIC_A","asset":"EXAMPLE","unit":"USD_notional","interval":"1h","ts_ms":1000,"rate":"0.0002"},
{"kind":"funding","venue":"SYNTHETIC_B","asset":"EXAMPLE","unit":"USD_notional","interval":"1h","ts_ms":1000,"rate":"0.0001"},
{"kind":"forecast_label","probability":"0.8","observed":"1","frozen_at_ms":1000,"target_ms":2000,"label_at_ms":3000},
{"kind":"cash_balance","venue":"SYNTHETIC_A","account":"EXAMPLE_ONLY","unit":"USD","ts_ms":1000,"balance":"1000"},
{"kind":"cash_flow","flow_id":"SYNTHETIC-FLOW-1","venue":"SYNTHETIC_A","account":"EXAMPLE_ONLY","unit":"USD","ts_ms":2000,"amount":"5"},
{"kind":"cash_balance","venue":"SYNTHETIC_A","account":"EXAMPLE_ONLY","unit":"USD","ts_ms":3000,"balance":"1005"},
{"kind":"equity_quote","venue":"SYNTHETIC_A","asset":"EXAMPLE","unit":"USD","ts_ms":1000,"price":"100","multiplier":"2","multiplier_effective_at_ms":0,"multiplier_valid_until_ms":2000,"quote_type":"illustration","fees_bps":null},
{"kind":"reward","market_id":"EXAMPLE","daily_pool":"100","minimum_size":"10","maximum_spread":"0.05","effective_at":"SYNTHETIC"},
{"kind":"payoff","scenario":"EXAMPLE_A","payouts":["1","0"]},
{"kind":"payoff","scenario":"EXAMPLE_B","payouts":["0","1"]}
]}

```

All records above are synthetic examples, not historical market or profitability evidence.