Oath - Discipline Reimagined
Real Money Real accountability
Free · Designed for iPad. Not verified for macOS.
Stake real money on your goals, gym, runs, code, or your daily TikTok post. Beat your friends, keep your streak, get paid. Slip up and you lose the pot.
Oath turns your goals into friendly competition. Create an oath with a daily requirement, put money on the line, and stay accountable through verification.
Challenge types
• 1v1: Head-to-head—both players must complete the daily requirement
• Solo: Compete against yourself (optional)
Verifications
• LeetCode: Automatically verifies daily problem completion (when connected)
• Gym Check-in: Verify by checking in at your selected gym location (mobile)
How it works
Create an oath: choose verification, stake, and duration
Invite a friend and both accept (and complete payment if required)
Complete the daily requirement before the deadline
At the end, the winner receives the pool (minus any applicable fees)
Notifications
Get alerts for invites, acceptances, deadlines, and daily reminders (optional).
Important
Oath includes real-money stakes. Only participate if you understand the rules and risks.
Learn more in Settings → Legal (Rules, Risk, Payments, and Privacy).
more New ways to stake on yourself:
• TikTok Daily, commit to posting every day and put money on it (remove this line if you're holding TikTok on iOS)
Contests (1v1v1+) leveled up:
• Clearer "Pending Start" status before your contest kicks off
• See who's joined before it begins
• Grace-week views so your first week is fair
Also: spectate friends' live oaths, 2v2 squad fixes, and a bunch of polish + bug fixes.
1.4.7 Jul 3
Smarter starts, fairer fights.
- Pick your start date — a redesigned scheduling step suggests the fairest day, anchors weekly oaths to Mondays, and shows exactly which dates matter before you commit.
- Practice mode — scheduled oaths now show "Starting Soon" with your warm-up runs and stats tracked in blue before day one. They never count against you.
- Results, revealed — finished oaths stay on your home screen marked Resolved; tap to see how it ended, then find them in the new Past Oaths page.
- Better invites — challenge links now open straight in the app, and 1v1 invites show who you're up against and what the winner takes.
- Apple Health running — your run calendar now shows daily miles from Apple Health on Apple-verified oaths.
- Sharper notifications, clearer money history, gym check-in right on the oath card, and lots of reliability fixes.
1.4.6 Jun 11
• New ways to compete: GitHub contributions, daily/weekly Steps, and Running miles
• Wake-Up oaths, start your morning on time
• Progress calendars + streaks: tap any day to see exactly what you completed
• "Connect to Claim", collect your winnings right from the home screen
• Faster, more reliable check-ins and verification
• Polish and bug fixes throughout
1.4.5 Jun 9
Bug Fixes and Oath Creation Flow Improved!
1.4.4 May 7
• Connect Apple Health is working again — link your steps and running
distance to verify your oaths automatically.
• Small polish: quicker transitions after you win an oath, and we'll
occasionally ask for a review at a natural moment (only if you're crushing it).
1.4.3 Apr 18
Challenge Anyone — Share a link to challenge friends who don't even have the app yet.
Rematch — One tap to run it back after any settled oath. Double the stakes if you dare.
Photo Feed & Reactions — See check-in photos from your group.
Quick Start Templates — 7 one-tap challenge presets. Create an oath in seconds.
Instagram Stories — Share your oath card directly to Stories.
Referral Rewards — Invite a friend, both get $2 when they complete their first oath.
Settlement Transparency — See exactly how your winnings are calculated.
Fixed Stripe payment crash on Xcode 26.4 builds. Security improvements. Performance updates.
1.4.2 Apr 9
Challenge Anyone — Share a link to challenge friends who don't have the app yet.
Rematch — One tap to run it back after any settled oath. Double the stakes if you dare.
Photo Feed & Reactions — See check-in photos from your group.
Live Activity — Countdown + streak on your Lock Screen and Dynamic Island.
Quick Start Templates — 7 one-tap challenge presets. Create an oath in seconds.
Share to Instagram Stories — Post your oath card directly to Stories.
Settlement Transparency — See exactly how your winnings are calculated.
Bug fixes and performance improvements.
1.4.1 Apr 8
Challenge Anyone — Create a 1v1 oath and share a link. Your opponent doesn't need the app yet — they tap, download, and join.
Group Gym Oaths — Sponsored group challenges with $0 entry and prize pools. Check in at the gym, see everyone's progress and locations on the map.
Smarter Progress — Steps and running progress bars now auto-refresh every 60 seconds. Fixed requirement descriptions for weekly oaths.
Better Notifications — Group members get notified when others check in. Improved notification reliability across all oath types.
Title Validation — See a warning immediately if your oath title is too short, not just at submission.
Bug fixes and performance improvements.
1.4 Apr 2
Improved step and running oath progress tracking with auto-refresh. Fixed requirement descriptions for weekly oaths,
1.3.6 Mar 22
Group Oaths
Reordered oath types, Gym, Running, and Steps now front and center
Removed Fitbit from creation flow (existing oaths unaffected)
Fixed Steps oaths incorrectly displaying as "LeetCode"
Steps oaths now correctly show "Minimum X steps per day"
Bug fixes and performance improvements
1.3.5 Mar 21
New: Steps Oath — Track your daily step count using Apple Health and compete with friends to stay active.
Running Oaths now use Apple Health — No more Strava setup required. Running distance is read directly from your iPhone.
Scheduled Start Dates — Set a future start date when creating an oath so both sides can prepare.
Charity Donations — When both players fail, your stakes go to charity. A new callout shows where your money went.
Bug fixes & stability — Fixed UI freezes, gym geofence issues, onboarding flow, auth screen polish, and location-related crashes.
1.3.4 Feb 27
Group Oaths
Create and join Oaths with multiple participants (not just 1v1).
Clear group status and progress so everyone knows who’s on track.
Strava integration
Connect Strava to power activity-based Oaths.
Automatic tracking to reduce manual check-ins.
GitHub (Beta)
Link your GitHub to enable GitHub-based Oaths and verification.
Beta release: expect rapid iteration and occasional edge cases.
Fitbit (Beta)
Connect Fitbit for health/activity signals used in Oaths.
Beta release: some devices/metrics may behave differently as we expand support.
Plus: general bug fixes and performance improvements.
1.3.3 Feb 22
Bug Fixes
Fixed gym auto check-in failing in background — The geofence would trigger correctly but the API call failed because the Firebase auth token wasn't refreshed. Now GymGeofenceService gets a fresh token before calling the check-in API, so auto check-in works even after app kill or token expiry.
Fixed stray text causing build error in ContractsListView (removed accidental redo i)
New Features
Gym contract 24-hour setup deadline — Gym contracts that aren't fully set up (locations not approved) now expire after 24 hours with a full refund. A live countdown timer shows on the gym setup screen.
expiresAt support — OathDetailOath model now includes expiresAt for gym setup deadlines
Weekly gym progress model — Added WeeklyProgress to SharedModels for gym weekly visit tracking
Improvements
Geofence reliability — Added requestStateForGymRegions() on restore (catches "already at gym" after app kill), plus significant location monitoring as a backup wakeup mechanism
Manual check-in fallback notification — When auto check-in fails, a "Tap to check in manually" notification is sent with deep link to the oath
1.3.2 Feb 16
Bug Fixes
Forfeit error handling — Shows actual server error messages instead of raw "HTTP 500" text; button changes to "Try Again" on failure
Auto check-in geofence — Fixed gym geofence registration, notifications, and background check-in reliability
Duplicate model structs removed from ContractsListView (was causing build error)
Hardcoded participant stats fixed — opponent status card now shows real data
Cleaned up verbose console logging across the app
New Features
Celebration animations — Confetti/animations on streak milestones and settlement wins
Streak calendar — Visual calendar showing daily completion history
Settlement screen — Dedicated overlay when a contract settles (win/lose/draw)
Opponent status card — See your opponent's progress on the contract detail page
History list — Browse past settled contracts with outcomes
Haptic feedback — Tactile responses on key actions (check-in, forfeit confirm, etc.)
Engagement alert notification icons — Icons for close race, halfway milestone, near record notifications
Improvements
Wallet actions — Improved Add Funds / Withdraw UX flow
User-friendly API error messages — Network errors (timeout, no connection, 401, 429, 500) now show clean messages instead of technical jargon
Consolidated duplicate formatters and removed dead ContractDetailView code
1.3.1 Feb 13
Push notification improvements — Fixed an issue where push notification tokens could fail to register. Added a notification troubleshooting guide in Support to help check your notification status.
Friends list redesign — Cleaner, less crowded layout with better text handling and native menus.
History screen improvements — Redesigned stats layout to prevent text overflow, and fixed an incorrect sign on the "Total Lost" amount.
Replay onboarding — You can now replay the getting started guide from Settings.
Bug fixes and stability improvements
1.3 Feb 11
Gym Oaths
Gym location setup is now front and center when joining a gym oath
Full support for weekly gym oaths (e.g., 4x per week)
Smoother flow when both participants only need to set and approve gym locations
Bug Fixes
Fixed gym location save for weekly gym oaths
General stability improvements
1.2 Feb 3
• Push notifications – stay on top of oath invites, deadlines, and results
• Smoother payment flow – fixes for Apple Pay and checkout
• Bug fixes and stability improvements
1.0.1 Feb 1
New ways to stake on yourself:
• TikTok Daily, commit to posting every day and put money on it (remove this line if you're holding TikTok on iOS)
Contests (1v1v1+) leveled up:
• Clearer "Pending Start" status before your contest kicks off
• See who's joined before it begins
• Grace-week views so your first week is fair
Also: spectate friends' live oaths, 2v2 squad fixes, and a bunch of polish + bug fixes.
more Version 1.4.7 Jul 3
Data Linked to You The following data may be collected and linked to your identity:
Location Contact Info User Content Identifiers Diagnostics Data Not Linked to You The following data may be collected but it is not linked to your identity:
Financial Info Contact Info