Recurring Setup Form
Murphy component for creating Jupiter Recurring DCA Orders on Solana mainnet
Recurring Setup Form
Setup Recurring DCA Order
Please connect your wallet to continue.
Installation
Install dependencies
pnpm add @solana/web3.js @solana/wallet-adapter-react sonner
Add Wallet Provider Make sure you have added the Wallet Provider to your application. If not, follow the steps in the Connect Wallet Button guide first.
Add RecurringSetupForm
pnpm dlx shadcn@canary add https://www.murphyai.dev/r/RecurringSetupForm.json
Basic Usage
import { RecurringSetupForm } from "@/components/ui/murphy/Jupiter-Recurring/RecurringSetupForm";
export default function MyPage() {
return (
<div>
<h1 className="text-xl font-bold mb-2">Create Recurring DCA Order</h1>
<RecurringSetupForm />
</div>
);
}
Features
- Connects to Solana wallet (mainnet)
- Create real recurring DCA order via Jupiter Recurring API (no mock)
- Select source/target token, amount, interval, number of orders
- Murphy composable UI, atomic, shadcn style
- Loading, success, error state with Solscan link
- No test or fake data, all on-chain
Props
Name | Type | Default | Description |
---|---|---|---|
onOrderCreated | (orderId: string) => void | undefined | Callback when order is created (txid) |
className | string | undefined | Additional CSS classes |
Types
export type RecurringSetupFormValues = {
inputMint: string;
outputMint: string;
inAmount: number | undefined;
numberOfOrders: number;
interval: number; // seconds
minPrice?: number | null;
maxPrice?: number | null;
startAt?: number | null;
};
API
- Jupiter Recurring API Docs
- Endpoint:
https://lite-api.jup.ag/recurring/v1/createOrder
Success State
Displays Solscan link to transaction:
Success! Tx: <a href="https://solscan.io/tx/{txid}" target="_blank">{txid}</a>
Error Handling
Shows error message from API or wallet.
Note: This component is fully mainnet, no mock/test data, and is composable for any Solana dApp, dashboard, or wallet.