@cristhedev/raiku-react-hooks
v0.1.0
Published
React hooks for integrating Raiku's guaranteed execution on Solana
Maintainers
Readme
@raiku-hooks/core
React hooks for building applications with guaranteed execution on Solana using Raiku
🎯 What is this?
React hooks that make it easy to build applications with guaranteed transaction execution on Solana using Raiku's coordination layer.
Key Benefits
- ✅ 100% Success Rate - No more failed transactions
- ⚡ 30-50ms Pre-Confirmations - Instant user feedback
- 🛡️ MEV Protection - Private order routing
- 📦 TypeScript First - Full type safety
- ⚛️ React Native - Simple hooks API
📦 Installation
npm install @raiku-hooks/core🚀 Quick Start
import { RaikuProvider, useRaikuTransaction } from '@raiku-hooks/core';
// 1. Wrap your app
function App() {
return (
<RaikuProvider config={{ network: 'devnet' }}>
<YourApp />
</RaikuProvider>
);
}
// 2. Use in components
function TradeButton() {
const { submitTransaction, isLoading } = useRaikuTransaction();
const executeTrade = async () => {
const result = await submitTransaction(myTx, {
type: 'JIT',
priority: 'high',
mevProtection: true
});
console.log('✅ Guaranteed execution!', result);
};
return (
<button onClick={executeTrade} disabled={isLoading}>
Trade with Guarantee
</button>
);
}📚 Available Hooks
useRaikuTransaction()
Submit transactions with guaranteed execution.
const {
submitTransaction,
isLoading,
reservation,
result,
error
} = useRaikuTransaction();usePreConfirmation()
Monitor execution status with live countdown.
const status = usePreConfirmation(reservation?.preConfirmation);
// Shows:
// - timeUntilExecution (ms)
// - slotNumber
// - costInSOL
// - isExecuting / hasExecuteduseLiquidationMonitor()
Monitor DeFi protocols for liquidation opportunities.
const {
opportunities,
isMonitoring
} = useLiquidationMonitor({
protocols: ['kamino', 'solend'],
minProfit: 100
});💡 Examples
DeFi Liquidation Bot
function LiquidationBot() {
const { opportunities } = useLiquidationMonitor({ minProfit: 100 });
const { submitTransaction } = useRaikuTransaction();
const liquidate = async (opp) => {
await submitTransaction(createLiquidationTx(opp), {
type: 'JIT',
priority: 'critical',
mevProtection: true
});
};
return (
<div>
{opportunities.map(opp => (
<button key={opp.id} onClick={() => liquidate(opp)}>
Liquidate ${opp.estimatedProfit}
</button>
))}
</div>
);
}Payment Processor
function PaymentApp() {
const { submitTransaction } = useRaikuTransaction();
const status = usePreConfirmation(reservation?.preConfirmation);
return (
<div>
{status && (
<p>Payment executing in {status.timeUntilExecution / 1000}s</p>
)}
<button onClick={processPayment}>Send Payment</button>
</div>
);
}🚧 Development Status
This library is built for Raiku's upcoming public SDK release (Q2-Q3 2025).
Current: Mock implementation simulating Raiku's documented behavior
Future: Automatic migration to real SDK when available (zero code changes needed)
🔗 Links
📄 License
MIT © cris-the-dev
Built for the Raiku Inevitable Ideathon 🏆
