diff --git a/docs/docs/sweepstakes.md b/docs/docs/sweepstakes.md index 61ea46ad80..32ddcdaae1 100644 --- a/docs/docs/sweepstakes.md +++ b/docs/docs/sweepstakes.md @@ -26,6 +26,10 @@ Users may participate in a sweepstakes market by using sweepcash. It is free to - Completing their daily streak for a free bonus. - As a free gift with some purchases. +### How much can I withdraw my Sweepcash winnings for? + +When eligible to be withdrawn, sweepcash can be redeemed at a rate of 1.00 sweepcash to 1.00 USD, minus a 5% fee. + ### How do I withdraw my Sweepcash winnings? Only sweepcash won from a market resolution can be withdrawn. Sweepcash received from gifts, bonuses, or exiting a market early can not be withdrawn and you must use it to win a resolved market first. Visit your withdrawals dashboard to view how much sweepcash you have won and can withdraw. Then, fill out your bank details and request the amount of sweepcash you wish to redeem for real-money. There is a $25.00 minimum withdrawal. diff --git a/web/components/explainer-panel.tsx b/web/components/explainer-panel.tsx index bf8b001d88..0d630b9f54 100644 --- a/web/components/explainer-panel.tsx +++ b/web/components/explainer-panel.tsx @@ -8,6 +8,7 @@ import { FaHandHoldingUsd, FaPercentage } from 'react-icons/fa' import { TbTargetArrow } from 'react-icons/tb' import { track } from 'web/lib/service/analytics' import { + CHARITY_FEE, SWEEPIES_NAME, TRADE_TERM, TRADING_TERM, @@ -18,20 +19,25 @@ import { AboutManifold } from './about-manifold' import { GoGraph } from 'react-icons/go' import Link from 'next/link' import { SweepiesCoin } from 'web/public/custom-components/sweepiesCoin' -import { SWEEPIES_MONIKER } from 'common/util/format' +import { + SWEEPIES_MONIKER, + formatMoneyUSD, + formatSweepies, +} from 'common/util/format' +import { ManaCoin } from 'web/public/custom-components/manaCoin' +import { CoinNumber } from './widgets/coin-number' +import { GiTakeMyMoney } from 'react-icons/gi' export const ExplainerPanel = (props: { className?: string showWhatIsManifold?: boolean showAccuracy?: boolean - showWhyBet?: boolean showSweepstakes?: boolean }) => { const { className, showWhatIsManifold = true, showAccuracy = true, - showWhyBet = true, showSweepstakes = true, } = props const handleSectionClick = (sectionTitle: string) => { @@ -41,7 +47,6 @@ export const ExplainerPanel = (props: { {showWhatIsManifold && } {showAccuracy && } - {showWhyBet && } {showSweepstakes && TWOMBA_ENABLED && ( )} @@ -80,50 +85,15 @@ const WhatIsManifold = ({ }: { onClick: (sectionTitle: string) => void }) => ( - - {' '} - What is Manifold? - - } - onClick={() => onClick('What is Manifold?')} - > - - -) - -const WhyBet = ({ onClick }: { onClick: (sectionTitle: string) => void }) => ( - Why should I {TRADE_TERM}? + What is Manifold? } - onClick={() => onClick(`Why should I ${TRADE_TERM}?`)} + onClick={() => onClick('What is Manifold?')} > -
- {capitalize(TRADING_TERM)} contributes to accurate answers of important, - real-world questions and helps you stay more accountable as you make - predictions. -
- {TWOMBA_ENABLED && ( - <> -
- {capitalize(TRADE_TERM)} with{' '} - - - - {' '} - {SWEEPIES_NAME} ({SWEEPIES_MONIKER}) - {' '} - - for a chance to win withdrawable cash prizes. -
- - )} - -
Get started for free! No credit card required.
+
) @@ -173,28 +143,33 @@ const Sweepstakes = ({ - What are sweepstakes markets? + How do I win cash prizes? } onClick={() => onClick('Are our forecasts accurate?')} >
- There are two types of markets on Manifold: play money and sweepstakes. + Manifold offers two market types: play money and sweepstakes.
- By default all markets are play money and use mana. These markets allow - you to win more mana but do not award any prizes which can be cashed out. + All questions include a play money market which uses mana and + can't be cashed out.
- Selected markets will have a sweepstakes toggle. These require sweepcash - to participate and allow winners to withdraw any sweepcash won to real - money. + Selected markets will have a sweepstakes toggle. These require sweepcash{' '} + +  to participate and winners can withdraw sweepcash as a cash prize. + You can filter for sweepstakes markets on the browse page.
- As play money and sweepstakes markets are independent of each other, they - may have different odds even though they share the same question and - comments. + Redeem your {SWEEPIES_NAME} won from markets at{' '} + + {'→'}{' '} + $1.00 + + , minus a {CHARITY_FEE * 100}% fee.
+ { const { text } = props return ( -
- - {text ? text : `Get ${formatMoney(PHONE_VERIFICATION_BONUS)} play money`} -
+ + Get + + and + + ) } diff --git a/web/components/profile/redeem-sweeps-buttons.tsx b/web/components/profile/redeem-sweeps-buttons.tsx index e786598265..57e4a6d760 100644 --- a/web/components/profile/redeem-sweeps-buttons.tsx +++ b/web/components/profile/redeem-sweeps-buttons.tsx @@ -3,6 +3,8 @@ import { useRouter } from 'next/router' import { useAPIGetter } from 'web/hooks/use-api-getter' import { Button } from '../buttons/button' import { CoinNumber } from '../widgets/coin-number' +import { KYC_VERIFICATION_BONUS_CASH } from 'common/economy' +import { useKYCGiftAmount } from '../twomba/toggle-verify-callout' export function RedeemSweepsButtons(props: { user: User; className?: string }) { const { user, className } = props @@ -12,24 +14,37 @@ export function RedeemSweepsButtons(props: { user: User; className?: string }) { const canRedeem = redeemableCash > 0 && !blockFromSweepstakes(user) + const amount = useKYCGiftAmount(user) + const onClick = () => { router.push('/redeem') } return ( <> - + {canRedeem ? ( + + ) : ( + + )} ) } diff --git a/web/components/twomba/us-only-disclaimer.tsx b/web/components/twomba/us-only-disclaimer.tsx index 609cc724bf..421bd9e68d 100644 --- a/web/components/twomba/us-only-disclaimer.tsx +++ b/web/components/twomba/us-only-disclaimer.tsx @@ -10,7 +10,7 @@ export function UsOnlyDisclaimer(props: { className?: string }) { 'text-ink-900 flex select-none flex-row items-center gap-1 font-semibold ', className )} - text="Sweepstakes are limited to 18+ in all US states except WA, MI, ID, DE" + text="Sweepstakes are US only and 18+. All states are eligible except WA, MI, ID, DE" > US only diff --git a/web/pages/redeem.tsx b/web/pages/redeem.tsx index 302b165dbd..b779448be1 100644 --- a/web/pages/redeem.tsx +++ b/web/pages/redeem.tsx @@ -279,27 +279,33 @@ const CashoutPage = () => {

- - Verify and get - - {kycAmount == undefined ? ( - ' a sweepcash gift!' - ) : ( - + + - + > + Verify and get + + {kycAmount == undefined ? ( + ' a sweepcash gift!' + ) : ( + + )} + + +
+ {' '} + Only for eligible US residents +
+ ) : message == USER_BLOCKED_MESSAGE ? (