Doppler
Reference

FAQ

Answers to common Doppler generator, deployment, and SDK questions.

Why Fixed-Size Payloads Only?

The program writes oracle payload data through raw pointer casting.

Can I Use Doppler for Non-Price Data?

Yes. Doppler is an oracle program for fixed-size payload feeds. Price feeds are the primary example, but the payload can represent any fixed-size data.

What Happens If Sequence Decreases?

The update is rejected. Doppler requires the new sequence to be greater than the current sequence stored in the oracle account.

Is the Admin Address Changeable?

Not in the generated program. The admin address is embedded in the bytecode. To change admin authority, generate and deploy a new program or generate bytecode with a different admin for a new feed version.

Do I Need Both Web3.js and Kit SDKs?

No. Generate the SDK that matches your application stack. Use --web3js-sdk for @solana/web3.js, --kit-sdk for @solana/kit, and --rust-sdk for Rust clients.

Where Should Generated SDKs Live in My App?

Keep generated artifacts in a versioned directory or package workspace, for example:

generated/price-feed/
  doppler.so
  payload.ts
  manifest.json
  common/
  web3js/
  kit/
  rust/

Commit payload.ts and manifest.json. Commit generated SDKs when your application imports them directly from the repo. For published packages, build and publish generated SDKs through your normal package release process.

On this page