Skip to main content
Direct minting and redemption is restricted to onboarded, whitelisted participants (KYC/KYB market makers and institutional partners). Retail users can access JupUSD permissionlessly through Jupiter Swap, Jupiter Mobile, and other Solana platforms.

Overview

JupUSD is minted and redeemed through a dedicated Solana program. The program accepts collateral (USDC or USDtb), mints JupUSD 1:1 (minus fees), and handles the reverse operation for redemption. A 0.04% fee applies to all mint and redeem transactions through the program. Three integration methods are available:

SDK

TypeScript SDK for programmatic integration.

Web API

HTTP endpoints for direct service integrations.

UI

Web interface for manual operations.
The mint/redeem Solana program is source-available under the BSL licence: GitHub repository. For real-time reserve composition, backing ratio, and audit data, see the JupUSD Transparency Page.

Key addresses


Concepts

Benefactor

A benefactor is a wallet authorised to mint and redeem JupUSD through the program. Every benefactor is linked to a KYC (individual) or KYB (entity) verification. If your benefactor account is disabled, the transaction will fail with the BenefactorDisabled error.

Oracle

The JupUSD program uses oracle price feeds from Pyth, Chainlink, and Chaos Labs. Oracles serve two purposes in the mint/redeem flow:
  1. Peg validation: verify that the collateral (USDC, USDtb) has not depegged before allowing the operation.
  2. Exchange rate: the oracle price is used in the calculation of the mint/redeem exchange rate.
There is no fallback mechanism. If the Pyth feed is unavailable or rejected (confidence too wide, stale data), the transaction will fail with PriceConfidenceTooWide or NoValidPrice. Oracle validation parameters are configured per vault. You can inspect the current configuration for each vault onchain. For example, the USDC vault configuration: 7JnALHo2bFuKsgkNymiqJwt228jy3my99CnfF75QD9oj.

Rate limiting

Mint and redeem operations are rate-limited at the config (global), vault, and benefactor levels. Typical benefactor limits: These values can vary per benefactor. If you encounter MintLimitExceeded or RedeemLimitExceeded, wait for the current window to reset or contact the team to request higher limits.

SDK

The TypeScript SDK provides programmatic access to mint and redeem instructions. An IDL is also available for non-TypeScript integrations: view IDL on Solscan.

Installation

Alternatively, install from the GitHub repository.

Mint

The Mint instruction transfers collateral from your wallet to the JupUSD custodian and mints new JupUSD tokens to the provided token account.

Key parameters

Your wallet must be a registered benefactor to call the Mint instruction. If you are not onboarded, the transaction will fail.

Oracle accounts

Each vault requires a specific set of Pyth oracle accounts. When building the instruction:
  • Include all non-empty oracle accounts from the vault.
  • Preserve the exact order in which they are stored onchain.
  • Passing incorrect or incomplete oracle accounts will cause the transaction to fail.

Example


Redeem

The Redeem instruction burns JupUSD from your token account and withdraws the corresponding collateral from the vault back to your wallet.

Key parameters

Example


Web API

The JupUSD Web API provides HTTP endpoints for minting and redeeming without using the SDK directly. Base URL: https://api.jupusd.money/ Full API documentation is available at api.jupusd.money.
Access to the Web API requires a registered benefactor wallet, the same as for SDK and UI operations.

UI

The JupUSD web interface provides a graphical way to mint and redeem without writing code. It is available at: jupusd.money/mint.
You must be correctly onboarded before using the UI. If you see a warning message, it means you are using the wrong wallet address or there was an issue during onboarding.

Mint via UI

1

Connect your wallet

Connect a whitelisted Solana wallet (e.g. Jupiter Wallet, Phantom, Solflare).
2

Enter amount

Enter the desired USDC amount to provide as collateral. The UI will compute a quote and display the expected JupUSD you will receive.
3

Approve and mint

Click “Approve & Mint.” Your wallet will prompt you to confirm the transaction.
4

Confirm

Confirm the transaction in your wallet. A transaction receipt link will be provided once complete.

Redeem via UI

1

Connect your wallet

Ensure your whitelisted wallet is connected.
2

Navigate to Redeem

Switch to the “Redeem” tab.
3

Enter amount

Enter the amount of JupUSD you wish to burn. The UI will calculate the expected collateral return.
4

Redeem

Click “Redeem” and approve the transaction in your wallet.
5

Confirm

Confirmation of the redemption will appear, along with a link to the transaction on the explorer.

Error reference

The following errors may occur when calling the Mint or Redeem instructions.