One script tag. Razorpay for India (UPI, cards, wallets) + PayPal for global. Named contribution tiers. Auto-detects your visitor's location.
Click either button — the full widget opens with named tiers, goal bar, and payment options.
| Feature | Ko-fi / BMC | GitHub Sponsors | sparkfund |
|---|---|---|---|
| Platform cut | 5–9% | 0% | 0% |
| ⚡ UPI / Razorpay | ✗ | ✗ | ✓ Native |
| Self-hosted | ✗ | ✗ | ✓ |
| ☕ Named tiers | Limited | ✗ | ✓ Fully custom |
| Android WebView | ✗ | ✗ | ✓ |
| Any website | ✓ | GitHub only | ✓ |
| Zero dependencies | ✗ | ✗ | ✓ |
window.SparkFund = {
tiers: [
{ emoji: "☕", label: "Chai", amountINR: 100, amountUSD: 2 },
{ emoji: "🍱", label: "Lunch", amountINR: 500, amountUSD: 10 },
{ emoji: "🖥️", label: "Server", amountINR: 1000, amountUSD: 20 },
{ emoji: "🚀", label: "Rocket", amountINR: 2000, amountUSD: 50 },
],
};// Preset theme
window.SparkFund = { theme: "purple" };
// Custom color
window.SparkFund = { accentColor: "#e11d48" };
// Full CSS control
window.SparkFund = {
cssVars: {
"--sf-accent": "#e11d48",
"--sf-accent-soft": "#ffe4e6",
"--sf-radius": "6px",
}
};<!-- 1. Config -->
<script>
window.SparkFund = {
projectName: "My App",
projectTagline: "Keep this free 🙏",
razorpayKey: "rzp_live_xxxx",
paypalMe: "https://paypal.me/yourname",
theme: "purple",
goalINR: 50000, raisedINR: 12500,
};
</script>
<!-- 2. Load -->
<script src="https://cdn.jsdelivr.net/gh/shri-studio/sparkfund@latest/sparkfund.js"></script>
<!-- 3. Buttons -->
<spark-button></spark-button>
<spark-float></spark-float>Building tools for indie developers. · shri.life · github.com/shri-studio