About the Project
What Inspired the Project
The inspiration for VELO came from a simple observation: crypto is fast, but using crypto in the real world still feels slow, fragmented, and complicated.
Even chains known for speed struggle with practical utility:
- Users don’t want to manage gas.
- Merchants don't want to wait for settlement.
- Developers shouldn’t need to choose between speed and decentralization.
We saw people sending money daily—from splitting bills to paying for food—and realized blockchain UX still wasn’t competitive with the tools people already use. That gap inspired us to build VELO: a unified payments layer designed to make blockchain assets instantly spendable, anywhere, with one transaction.
Bringing this to the Polkadot ecosystem made sense because Polkadot offers strong finality, security, and cross-chain flexibility—key ingredients for a payments rail that needs to operate reliably at scale.
What We Learned
Building VELO across ecosystems taught us a few hard lessons:
1. Speed is more than TPS
Users care about confirmation confidence. Even if a rail is fast, UX breaks when people wait, retry, or wonder if something failed.
2. Cross-chain logic must be simple for builders
Developers want a clean API surface. They don’t want to manually craft XCM messages or handle asset routing edge cases. This pushed us to design an abstraction layer that hides complexity without removing control.
3. Payments are state machines, not single events
Every transaction runs through predictable states:
[ S = { \text{initiated}, \text{locked}, \text{in_transit}, \text{executed}, \text{settled} } ]
Users expect feedback at each step. This shaped our real-time receipt and event streaming model.
4. Retail UX is brutally unforgiving
If a QR payment takes 2 seconds too long, the whole system feels broken. This forced us to optimize not just the blockchain logic but the psychological flow of the payment experience.
How We Built the Project
1. The VELO Routing Engine
We built a high-frequency off-chain router that:
- validates requests
- selects the fastest available execution rail
- returns signed proofs of settlement
- syncs back to on-chain storage
It’s optimized for speed, retry safety, and multi-chain execution.
2. The Substrate PaymentRouter Pallet
For the Polkadot integration, we designed a Substrate Pallet that:
- accepts stablecoin transfers and payment instructions
- communicates via XCM
- forwards actions to the VELO router
- stores signed settlement proofs on-chain
This is the core component that connects Polkadot assets to instant utility.
3. Off-Chain Worker Integration
We use an off-chain worker to securely relay instructions to the VELO router and verify signatures on incoming receipts. This avoids heavy computation on-chain while maintaining trust guarantees.
4. Developer-Focused API & Sample dApp
To demonstrate the integration, we built:
- a minimal REST endpoint for forwarding payment instructions
- a React/TypeScript demo UI that shows split payments, QR flows, and receipt verification
- a Dockerized local environment for easy testing
This lets parachain teams drop in the Pallet and start experimenting immediately.
Challenges We Faced
1. Abstracting XCM Without Hiding Key Details
XCM has a lot of nuance—fees, weight, routing, and message patterns. The challenge was finding the line between:
- giving developers a simple interface, and
- keeping things transparent enough to debug when needed.
2. Ensuring Fast Finality While Maintaining Security
Payments feel broken when settlement isn’t confirmed quickly. We had to design a system where the off-chain router could execute instantly while still anchoring trust in on-chain receipts.
3. Handling Multi-Rail Complexity
Different chains behave differently:
- Solana is extremely fast
- Starknet has a different execution model
- Substrate focuses on deterministic state transitions
Unifying them under one payment model required careful design.
4. High-Frequency Transaction Patterns
Retail payments generate
Even when amounts are small, the throughput requirements are intense. We had to engineer for high volume without sacrificing reliability or developer ergonomics.
Conclusion
VELO started with a simple mission: make blockchain payments as instant and intuitive as the best traditional payment apps. Bringing this to Polkadot extends that mission with stronger security, cleaner governance, and cross-chain flexibility.
What we built isn’t just a set of tools—it’s the foundation for real-world, high-frequency payment utility across the entire Polkadot ecosystem.
If you want, I can now integrate this directly into your full application or tailor a version specifically for hackathon judging panels.
Built With
- node.js
- polkadot
- postgresql
- react
Log in or sign up for Devpost to join the conversation.