Privacy Policy
- Effective
- [Effective date]
- Operator
- [Company legal name]
- See also
- Terms of Service
This policy explains what personal data Ratioed collects, what becomes public, why, and the choices you have. Ratioed is built on public X data and a public blockchain, so some of what you do here is visible to anyone by design.
01Who we are
[Company legal name] ("Ratioed", "we") operates the Ratioed website and the @ratioed bot on X, and is the controller of the personal data described here. Contact: [Contact email], [Company address].
02The short version
- We keep very little: your X id, handle, display name and avatar, the wallets you link, and a login session.
- We never store your X password or your X access tokens, and we never post as you.
- Bets and claims live on the Solana blockchain, which is public and permanent. Linking a wallet to X makes that link visible on Ratioed.
- We don't use advertising or analytics trackers, and we don't sell personal data.
03What we collect
When you sign in with X. We use X's OAuth 2.0 sign-in with read-only scopes (users.read, tweet.read). X gives us an access token, which we use once to read your profile and then discard; we don't store access or refresh tokens. From your profile we store your X user id, handle, display name and avatar URL, plus when your Ratioed account was created and last updated, and whether it is banned. We update the handle, name and avatar each time you sign in.
Wallets you link. The public address of each Solana wallet you link and when you linked it. To link, you sign a one-time message; the single-use nonce for that message is kept briefly in our cache and then discarded. We never see your private key.
Your session. A random session token is stored in a cookie on your device. On our side we keep only a keyed hash of that token, your user id, and the session's creation and expiry times.
Betting and claim activity. We index the Program's public on-chain transactions (wallet address, battle, side, amount, shares, time and transaction signature) to show markets, positions, leaderboards and activity.
Battle data, including about people who don't use Ratioed. When someone tags @ratioed, we fetch the posts involved from X's API and store, for the original, the reply and the creator: post ids and text, post times, author X ids, handles, display names and avatar URLs, and periodic public engagement counts (likes, reposts, quotes, replies, views). To check eligibility we also read the creator's account creation date and follower count and whether the authors' accounts are protected; we use these at that moment and do not save them to anyone's profile. We record the id of every mention we process and the outcome.
Location (country only). When you prepare a bet, we read the two-letter country code that our hosting edge adds to the request (for example x-vercel-ip-country or cf-ipcountry) to enforce regional restrictions. We don't store it.
Rate-limit counters. To prevent abuse we keep short-lived counters in our cache (Redis), keyed by your internal user id (for bets and wallet linking, expiring after about a minute) or by X account id (for battle creation, expiring after a couple of minutes).
Server logs. Our servers and workers write operational and error logs, which can include identifiers such as battle ids, X ids, wallet addresses and transaction signatures. Our hosting providers may also log technical data such as IP addresses, user agents and request paths.
Moderation records. If you opt out or are banned, we keep your X id (and, for opt-outs, handle and reason) on a blocklist or as a ban flag. Admin actions are logged with the admin's X id and the target.
If you contact us, we keep your message and contact details to respond.
04What is public
- On-chain data is public and permanent. Every bet, claim and refund is a Solana transaction showing your wallet address, amounts and timing. Anyone can read it, and neither we nor anyone else can delete it.
- Wallet ↔ X link. When you link a wallet, Ratioed shows your X handle next to that wallet's activity on leaderboards, profiles, activity feeds and battle pages. This connects your on-chain history to your X identity for anyone who visits. If you don't want that, don't link the wallet, or use a separate wallet.
- Battles. Battle pages, share cards and @ratioed posts on X show the two posts, their authors' handles, names and avatars, engagement counts, scores and pot sizes.
- Snapshots. The full metric history of each settled battle is published as a JSON file, and its hash is stored on-chain.
05How we use it
- To run the Service: sign you in, link wallets, create and score battles, co-sign bets, show positions and process claims.
- To enforce our Terms and keep battles fair: stop authors betting on their own posts, enforce one wallet per X account, rate-limit, geoblock, detect manipulation, and handle opt-outs and bans.
- To show public features such as leaderboards, profiles and activity.
- To secure, debug and improve the Service.
- To comply with law and respond to lawful requests.
Where laws like the GDPR apply, our legal bases are: performing our contract with you (running the Service), our legitimate interests (security, fraud prevention, fair battles, publishing battle results from public posts), and legal obligations. [Legal bases to be confirmed by counsel.]
08International transfers
Our providers may process data in [Countries of processing]. Where required, we use appropriate safeguards such as standard contractual clauses. [To be confirmed by counsel.]
09How long we keep it
- Account data and wallet links: until you ask us to delete your account.
- Sessions: deleted when you sign out. A session stops working after 30 days without use; the expired record (a hash, your user id and timestamps) is deleted when you sign out or delete your account, or by a periodic cleanup [cleanup schedule to be confirmed].
- Cache data (sign-in state, wallet-link nonces, rate-limit counters): minutes.
- Battle records, indexed on-chain activity and published snapshots: kept as part of the permanent record of results, since they are needed to verify settled battles.
- Blocklist and ban records: as long as the opt-out or ban applies.
- Server logs: [Log retention period].
10Your choices and rights
Depending on where you live, you may have the right to access, correct, delete or export your personal data, to object to or restrict some processing, and to complain to a data protection authority.
Deleting your account. Email [Contact email] from the address you want us to reply to, and include your X handle. To confirm it's you, we may ask you to DM @ratioed from that X account. We will then delete your Ratioed account record, your wallet links and your sessions. Your handle will no longer appear next to your wallets on Ratioed.
What we can't delete. Transactions on Solana are permanent and public; no one can erase them. Battle records and snapshots that include your public posts may be kept so results stay verifiable, but on request we will consider removing or hiding your name and avatar where we can.
Opting out of battles. DM @ratioed or email [Contact email] to be added to the blocklist (see the Terms).
Correcting your profile. Your handle, name and avatar refresh from X each time you sign in.
11Security
We protect data with measures such as HttpOnly cookies, storing only hashed session tokens, read-only X scopes, and access controls on our infrastructure. No system is perfectly secure. Never share your seed phrase; we will never ask for it.
12Children
The Service is only for people 18 and over. We don't knowingly collect data from anyone under 18. If you believe a minor has used the Service, contact us and we will delete their account. Posts by anyone may appear in a battle if they are public on X; their authors can opt out at any time.
13Changes to this policy
We may update this policy. We will post the new version here with a new effective date and give notice on the site for material changes.
14Contact
[Company legal name], [Company address]. Email: [Contact email]. [EU/UK representative or DPO details, if required.]