{"id":49754210,"url":"https://github.com/openpredictionmarkets/socialpredict","last_synced_at":"2026-07-17T01:01:24.177Z","repository":{"id":206529345,"uuid":"717118590","full_name":"openpredictionmarkets/socialpredict","owner":"openpredictionmarkets","description":"Prediction Market Platform: Easy to Deploy, Open Source MIT Licensed ","archived":false,"fork":false,"pushed_at":"2026-07-08T22:40:51.000Z","size":69614,"stargazers_count":211,"open_issues_count":118,"forks_count":67,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-07-08T23:24:13.846Z","etag":null,"topics":["decision-making","finance","financial-simulation","forecast","forecasting","forecasting-methods","forecasting-platforms","forecasts","futarchy","market","mit-license","opensource","prediction","prediction-market","predictions","trade"],"latest_commit_sha":null,"homepage":"https://github.com/openpredictionmarkets/socialpredict","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openpredictionmarkets.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["openpredictionmarkets"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2023-11-10T15:45:36.000Z","updated_at":"2026-07-08T21:27:29.000Z","dependencies_parsed_at":"2024-01-16T22:04:02.977Z","dependency_job_id":"fb19d860-427b-4a22-94b7-451af21115b3","html_url":"https://github.com/openpredictionmarkets/socialpredict","commit_stats":null,"previous_names":["openpredictionmarkets/socialpredict"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/openpredictionmarkets/socialpredict","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpredictionmarkets%2Fsocialpredict","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpredictionmarkets%2Fsocialpredict/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpredictionmarkets%2Fsocialpredict/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpredictionmarkets%2Fsocialpredict/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openpredictionmarkets","download_url":"https://codeload.github.com/openpredictionmarkets/socialpredict/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openpredictionmarkets%2Fsocialpredict/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35563056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["decision-making","finance","financial-simulation","forecast","forecasting","forecasting-methods","forecasting-platforms","forecasts","futarchy","market","mit-license","opensource","prediction","prediction-market","predictions","trade"],"created_at":"2026-05-10T17:23:17.220Z","updated_at":"2026-07-17T01:01:24.154Z","avatar_url":"https://github.com/openpredictionmarkets.png","language":"Go","funding_links":["https://github.com/sponsors/openpredictionmarkets"],"categories":[],"sub_categories":[],"readme":"[![GitHub Release][release-img]][release]\n[![14-day clones][clones-14d-img]][traffic]\n[![14-day unique cloners][unique-cloners-14d-img]][traffic]\n[![Test][test-img]][test]\n[![License: MIT][license-img]][license]\n[![Trivy Scan][trivy-img]][trivy]\n[![Deploy To Staging][staging-img]][staging]\n[![Deploy To Production][production-img]][production]\n\n[release-img]: https://img.shields.io/github/v/release/openpredictionmarkets/socialpredict?label=release\n[release]: https://github.com/openpredictionmarkets/socialpredict/releases/latest\n[clones-14d-img]: https://img.shields.io/badge/14d%20clones-3%2C702-62c3f8\n[unique-cloners-14d-img]: https://img.shields.io/badge/14d%20cloners-535-2ea043\n[traffic]: https://github.com/openpredictionmarkets/socialpredict/graphs/traffic\n[test-img]: https://github.com/openpredictionmarkets/socialpredict/actions/workflows/backend.yml/badge.svg?branch=main\n[test]: https://github.com/openpredictionmarkets/socialpredict/actions/workflows/backend.yml\n[license-img]: https://img.shields.io/badge/License-MIT-yellow.svg\n[license]: https://github.com/openpredictionmarkets/socialpredict/blob/main/LICENSE\n[trivy-img]: https://github.com/openpredictionmarkets/socialpredict/actions/workflows/container-security.yml/badge.svg\n[trivy]: https://github.com/openpredictionmarkets/socialpredict/actions/workflows/container-security.yml\n[staging-img]: https://github.com/openpredictionmarkets/socialpredict/actions/workflows/deploy-to-staging.yml/badge.svg?event=pull_request\n[staging]: https://github.com/openpredictionmarkets/socialpredict/actions/workflows/deploy-to-staging.yml\n[production-img]: https://github.com/openpredictionmarkets/socialpredict/actions/workflows/deploy-to-production.yml/badge.svg?event=workflow_run\n[production]: https://github.com/openpredictionmarkets/socialpredict/actions/workflows/deploy-to-production.yml\n\n# SocialPredict\n\n## The open prediction market engine for everyone\n\nSocialPredict lets **anyone** – individuals, classrooms, companies, and even governments – tap into the power of prediction markets.\n\n### Setting Up SocialPredict Website with HTTPS on a Virtual Private Computer\n\n![socialpredict_setup_demo](https://github.com/user-attachments/assets/1062a3b2-46d0-4a40-a648-39e71f0e7cec)\n\n### SocialPredict Logging In and Creating Market\n\n![socialpredict_demo_3x](https://github.com/user-attachments/assets/438bb424-670b-4cd3-a69f-5581c4d9fcbf)\n\n---\n\n### Join us in shaping the future of prediction markets by building connections and expertise within your community!\n\n## Used By\n\n\u003cimg src=\"https://github.com/openpredictionmarkets/socialpredict/raw/main/README/IMG/logotype_kenyon-purple_rgb.png\" alt = \"Kenyon College Logo\" width=40% height=40%\u003e\n\n* Kenyon College (Political Science course PSCI 303, Campaigns \u0026 Elections; syllabus [here](https://www.zacharymcgee.net/syllabi/PSCI_303_public.pdf))\n                        \n## Stargazers Over Time\n[![Star History Chart](https://app.repohistory.com/api/svg?repo=openpredictionmarkets/socialpredict\u0026type=Date\u0026background=0D1117\u0026color=62C3F8)](https://app.repohistory.com/star-history)\n\n## Licensing\n\nSocialPredict is available under the [MIT License](https://github.com/openpredictionmarkets/socialpredict/blob/main/LICENSE).\n\n---\n\n## Roadmap at a Glance\n\nWe’re building SocialPredict as the **best free prediction-market infrastructure** you can run yourself — today and into the future.\n\n```mermaid\nflowchart LR\n\n    classDef roadmap fill:#dbeafe,stroke:#1d4ed8,color:#111827,stroke-width:2px;\n\n    Y2025[\"🧩 Service Architecture\u003cbr/\u003e2025\"]\n    Y2026[\"🧱 Microservices \u0026 Math\u003cbr/\u003e2026\"]\n    Y2027[\"☁️ Cloud \u0026 UX\u003cbr/\u003e2027\"]\n    Y2030[\"🚀 HPC \u0026 Analytics\u003cbr/\u003e2028–2030\"]\n\n    Y2025 --\u003e Y2026 --\u003e Y2027 --\u003e Y2030\n\n    class Y2025,Y2026,Y2027,Y2030 roadmap\n```\n\n---\n\n## Staging\n\nCheck out our staging instance at [kconfs.com](https://kconfs.com/) to see the newest `main` branch deployment in action. This environment may be reset, load tested, or temporarily unavailable while we test deployment and capacity changes.\n\nOur model office / production-style release target is [brierfoxforecast.com](https://brierfoxforecast.com/). This environment is intended to track published releases rather than every merge to `main`.\n\n## Feature Highlights\n\n### Moderator Mode\n\nSocialPredict now supports a moderator-driven market workflow. Approved moderators can propose markets, while admins retain final publishing control. Proposed markets are not tradable until an admin approves them.\n\nHighlights:\n\n- Moderator approval/status management\n- Proposed, published, and rejected market lifecycle states\n- Proposal cost accounting and refund behavior for rejected proposals\n- Moderator profile tabs for proposed, published, and rejected markets\n- Admin review queues for proposed, approved, and rejected markets\n- Full market descriptions and custom YES/NO labels shown during review\n\n![Moderator profile showing proposed, published, and rejected market tabs](README/IMG/screenshots/moderator-profile-market-tabs.png)\n\n![Admin published market review queue with full-description controls and tag adjustments](README/IMG/screenshots/admin-market-review-published.png)\n\n### Admin and CMS Tools\n\nAdmins have expanded operational controls for reviewing users, reviewing proposed markets, stewarding market operations, organizing market discovery, and managing public sharing metadata.\n\nHighlights:\n\n- Admin user queue for moderator eligibility/status review\n- Market review tools with approval, rejection, review trail, and refund behavior\n- Market stewardship reassignment so admins can move operational responsibility from a suspended or unavailable moderator to another active moderator\n- Admin-managed market tags, topic navigation, market pins, and market discovery layout controls\n- CMS-managed social share title, description, image, and image-enable setting\n- Default OpenGraph/social share image support\n\n![Admin user governance queue](README/IMG/screenshots/admin-user-governance.png)\n\n![Admin market discovery layout editor](README/IMG/screenshots/admin-market-discovery-layout.png)\n\n![Admin social share CMS settings with share preview](README/IMG/screenshots/admin-social-share-settings.png)\n\n### Market Discovery and Governance\n\nMarket discovery has moved beyond a flat market list. Admin-managed tags and market discovery layout controls now support topic navigation, pinned markets, and tag-filtered topic pages while keeping search as the primary entry point.\n\nHighlights:\n\n- Admin-managed tags shown on market creation, admin review, market lists, and market detail pages\n- `/markets` topic navigation with persistent tag/category pins\n- Tag-filtered secondary pages under `/markets/topic/:slug`\n- Pinned market cards for curated discovery\n- Infinite-scroll market lists for `/markets` and topic pages\n- Search and pagination improvements for admin market review and user/moderator queues\n\n![Markets discovery page with topic navigation and pinned market cards](README/IMG/screenshots/markets-discovery.png)\n\n![Topic page filtered by Category A](README/IMG/screenshots/markets-topic-category-a.png)\n\n### Sharing and Embeddable Markets\n\nMarket pages now have a stronger sharing foundation, including OpenGraph and Twitter card metadata for link previews. The embeddable-market feature plan is documented so individual markets can be shared and embedded more cleanly as that work continues.\n\nHighlights:\n\n- Market-aware OpenGraph metadata\n- Social share image endpoint and default image\n- Security-header updates needed for controlled embedding\n- Feature planning for iframe-friendly market embeds\n\n![Market detail page with chart and public sharing-ready metadata](README/IMG/screenshots/market-detail-share-ready.png)\n\n### Market Amendments, Stewardship, and Work Profits\n\nMarket governance now includes clearer controls around who can operate a market after it is published and how contract-like text can be clarified.\n\nHighlights:\n\n- Immutable market titles with additive-only description amendments\n- Moderator/steward amendment proposal queues with admin pending/approved/rejected review\n- Optional admin auto-approval for market proposals and amendments\n- Suspended moderators lose market-creation/governance capabilities\n- Current stewards, not necessarily original creators, can govern and resolve assigned markets\n- Thresholded moderator work-profit payouts after successful market resolution\n- User financial reporting for moderator work profits\n\n![Market page showing expanded contract text and approved amendments](README/IMG/screenshots/market-description-amendments.png)\n\n![Admin amendment review queue](README/IMG/screenshots/admin-amendment-review-queue.png)\n\n### Read Models and Performance Foundations\n\nThe backend now has a stronger performance boundary between transaction-time math and display/read-model data.\n\nHighlights:\n\n- Display-oriented market accounting snapshots for volume, dust, probability, participants, and chart data\n- Cached/read-model paths for system metrics, user financial metrics, market cards, leaderboards, and market widgets\n- Freshness messaging for cached display widgets\n- Pagination for market bets, positions, market leaderboards, global leaderboard, and market lists\n- Boundary tests to keep snapshots out of buy/sell/resolution transaction paths\n\n### Load Testing and Release Dossiers\n\nThe repository now includes an external load-testing harness under [`loadtest/`](./loadtest/README.md). It uses k6 from a separate load-generator machine and can seed remote staging fixtures, pull fixture CSVs, run smoke/baseline/hot-market tests, and capture host telemetry through HostOps.\n\nCurrent capacity evidence is summarized in the [staging load-test dossier](./loadtest/dossier/staging-capacity-2026-05-29.md), the [large Basic AMD experiment notebook](./loadtest/dossier/general-purpose-capacity-experiment-2026-06-02.md), and the [capacity forecast dossier](./loadtest/dossier/capacity-forecast-2026-06-02.md).\n\nHighlights:\n\n- k6 smoke, baseline, hot-market burst, and soak scenarios\n- Remote staging fixture seeding and fixture pull commands\n- Host telemetry capture for CPU, RAM, disk, network, Docker, backend, Postgres, and Traefik\n- Host profile capture to record the exact tested Droplet shape and Docker/container limits\n- Release dossier tooling for turning load-test results into reviewable evidence\n\nExample dossier: [Staging Capacity Dossier, 2026-05-29](./loadtest/dossier/staging-capacity-2026-05-29.md). Look for the most recent dossier before making deployment or sizing decisions, because capacity results depend on the exact release, host size, database topology, and rate-limit configuration under test.\n\nLatest forecast note: [Capacity Forecast Dossier, 2026-06-02](./loadtest/dossier/capacity-forecast-2026-06-02.md) records the strongest current sustained hot-market result as `250` bets/sec for `5m` on a single-node DigitalOcean Basic AMD `8 vCPU / 32 GiB RAM` host, while `300` bets/sec for `5m` is not yet a clean supported target.\n\n## Getting Started\n\n### Setting up a Local Instance\n\n- [Info on Local Setup](/README/LOCAL_SETUP.md)\n- [Info on How Economics Can Be Customized](/README/README-CONFIG.md)\n- Development fixture helpers are available through `./SocialPredict dev-bootstrap-users` for local smoke testing.\n\n### Deploying to the Web\n\n- [How to Set Up Your Own Website](/README/STAGE_SETUP.md)\n- [HostOps Scaffold and Infra Boundary Notes](/README/INFRA/README-INFRA-HOSTOPS.md)\n- [Staging Deployment Guide](/README/INFRA/README-INFRA-STAGING.md)\n- [Production Deployment Guide](/README/INFRA/README-INFRA-PRODUCTION.md)\n\nOpenPredictionMarkets deployment conventions:\n\n- Merges to `main` deploy staging at [kconfs.com](https://kconfs.com/).\n- Published GitHub releases deploy the model office / production-style target at [brierfoxforecast.com](https://brierfoxforecast.com/).\n- GitHub Actions dispatch Ansible-based deploys and then verify public `/health` and `/readyz`.\n- HostOps is a local convenience wrapper for host SSH, environment discovery, disk checks, cleanup, and load-test telemetry support.\n\n### API, Operations, and Load Testing\n\n- [Canonical Backend API documentation](/backend/docs/README.md)\n- [Load Testing Guide](/loadtest/README.md)\n- [Load Test CLI Runbook](/loadtest/cli/OPERATING.md)\n- [Current Staging Capacity Dossier](/loadtest/dossier/staging-capacity-2026-05-29.md)\n- [Capacity Forecast Dossier](/loadtest/dossier/capacity-forecast-2026-06-02.md)\n\n### How Do Prediction Markets Work?\n\nHere's a quick primer about how (and why) [prediction markets work](/README/MATH/README-MATH.md). Want more info? We maintain a list of resources where you can see research on [prediction markets in action](https://github.com/openpredictionmarkets/resources).\n\n## Contributing\n\nWe welcome and appreciate every contribution. Get started by reading our [guide](https://github.com/openpredictionmarkets/socialpredict/blob/main/CONTRIBUTING.md) and make sure to follow our [Code of Conduct](https://github.com/openpredictionmarkets/socialpredict/blob/main/CODE_OF_CONDUCT.md).\n\n### Where to Next?\n\n- Brush up on our [Development Conventions](/README/README-CONVENTIONS.md)\n- Review the canonical [Backend API documentation](/backend/docs/README.md)\n- Check out our [ongoing Projects](https://github.com/openpredictionmarkets/socialpredict/projects?query=is%3Aopen)\n- Look at our [Issues](https://github.com/openpredictionmarkets/socialpredict/issues)\n- Have your say on [GitHub Discussions](https://github.com/orgs/openpredictionmarkets/discussions)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpredictionmarkets%2Fsocialpredict","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenpredictionmarkets%2Fsocialpredict","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenpredictionmarkets%2Fsocialpredict/lists"}