website: https://ohjupiter.vercel.app/
oh.jup is a Jupiter bounty submission built around one idea: prediction markets should not only be places where you trade events, they can also act as a macro uncertainty input for the rest of your trading stack.
Instead of building another swap app, this project compiles a single investment thesis into a coordinated Jupiter playbook:
Swap V2for the immediate trancheRecurringfor uncertainty-aware DCATriggerfor an OCO protection envelopeLendfor parking unused dry powderTokens,Price, andPredictionas the signal layer
The non-obvious part is the API composition:
- Jupiter prediction markets are used as an uncertainty thermostat, not as the end product being traded.
- Macro uncertainty changes how much capital is swapped now, how much is delayed into DCA, and how much stays productive in lend.
- The output is not just analytics. It is a cross-product execution manifest with replay commands and payload drafts.
GET /tokens/v2/searchGET /price/v3GET /swap/v2/orderGET /prediction/v1/events
The app also drafts the next execution layer for:
RecurringTriggerLend
- Install dependencies:
npm install- Add your environment variable:
JUP_API_KEY=your_jupiter_api_key- Run the app:
npm run dev- Open
http://localhost:3000
This repo is ready for GitHub and Vercel.
- Push the repository to GitHub.
- Import it into Vercel.
- Set
JUP_API_KEYin the Vercel project environment variables. - Deploy.
.env.local is ignored and should not be committed.
For each thesis, the compiler produces:
- the resolved Jupiter token and viable alternatives
- live price and routing data
- a live macro uncertainty signal from prediction markets
- a compiled split across:
- swap now
- DCA reserve
- lend reserve
- OCO exit envelope
- scenario analysis
- replayable API commands
- JSON drafts for Recurring, Trigger, and Lend follow-up execution
- App shell: app/page.tsx
- Main UI: components/strategy-form.tsx
- Strategy engine: lib/jupiter.ts
- DX report: DX-REPORT.md
- Submission notes: SUBMISSION.md