Skip to content

Zhekinmaksim/OceanPulse

Repository files navigation

OceanPulse

OceanPulse is an execution workspace on Pacifica.

It was built for the Pacifica Hackathon around one simple idea: a trader should be able to prepare a trade, check risk before sending it, and review the outcome in the same product.

What this project does

OceanPulse is not a generic dashboard and it is not a copy-trading app.

The product is built around four screens:

  1. Pulse
    A clean account terminal with market context, equity, open books, and account state.
  2. Execute
    A guided ticket with sizing, leverage, protection, and a pre-trade risk gate.
  3. Risk
    Concentration, scenario analysis, and funding-aware pressure before the next click.
  4. Journal
    Trade review and execution history inside the same workflow.

Vault is included as a Pacifica-native extension for subaccounts, but it is not the core demo path.

What judges should see

If you only spend two minutes with the product, these are the three things that matter:

  • Pulse gives a trader a clean operating view instead of a wall of metrics.
  • Execute checks risk before submission instead of leaving all review for after the trade.
  • Risk and Journal keep decision quality and post-trade review in the same workspace.

That is the point of OceanPulse: better execution decisions on Pacifica, not just more data.

Pacifica Hackathon fit

This repo was built for the Pacifica Hackathon and is intentionally aligned with Pacifica-native workflows:

  • live Pacifica account and market data
  • browser-signed execution from a connected Solana wallet
  • Pacifica subaccount flows in Vault
  • read-only showcase mode for safe demos

Tech stack

  • Next.js 14 App Router
  • TypeScript
  • Tailwind CSS
  • Zustand
  • Recharts
  • Solana wallet adapter
  • Pacifica REST API

Local setup

cd /Users/zmaxx/Projects/Bulk/OceanPulse
npm install
npm run dev

Environment

Copy .env.example to .env.local.

Minimum setup for live read-only mode:

PACIFICA_API_BASE=https://api.pacifica.fi/api/v1
PACIFICA_ACCOUNT=YOUR_PUBLIC_KEY
PACIFICA_DEMO_MODE=false
NEXT_PUBLIC_APP_ENV=mainnet

Wallet-signed execution

The intended public flow is wallet-signed execution in the browser.

  • Users connect a Solana wallet.
  • OceanPulse reads the connected publicKey.
  • Execution payloads are signed client-side.
  • The server only forwards signed requests to Pacifica.

Optional server signing

Server signing is disabled by default.

It only turns on if you explicitly set:

OCEANPULSE_ENABLE_SERVER_SIGNING=true

and provide server-side Pacifica signing credentials.

That path is meant for internal or controlled setups, not the default public user flow.

Useful env vars

PACIFICA_API_BASE=https://api.pacifica.fi/api/v1
PACIFICA_ACCOUNT=
PACIFICA_SECRET_KEY=
PACIFICA_AGENT_SECRET_KEY=
PACIFICA_AGENT_WALLET=
PACIFICA_PF_API_KEY=
PACIFICA_BUILDER_CODE=
PACIFICA_DEMO_MODE=false
PACIFICA_REQUEST_TIMEOUT_MS=10000
PACIFICA_DEFAULT_SYMBOL=BTC
PACIFICA_DEFAULT_TIME_RANGE=7d
NEXT_PUBLIC_APP_NAME=OceanPulse
NEXT_PUBLIC_APP_ENV=mainnet
OCEANPULSE_ENABLE_SERVER_SIGNING=false

Quality checks

npm run typecheck
npm run lint
npm run build

Demo path

For the hackathon demo, the strongest flow is:

  1. Pulse
  2. Execute
  3. Risk
  4. Journal

If you want to record a safe demo without placing a real trade, open the app in read-only mode against a live Pacifica account and do not connect a signing wallet.

Notes

  • Pulse, Risk, and Journal work well as read-only demo surfaces.
  • Execute supports browser-signed execution when a compatible wallet is connected.
  • Vault uses wallet-signed subaccount actions and is best treated as a secondary capability in the demo.

About

Pacifica execution workspace for preparing trades, validating risk, and reviewing outcomes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors