The client needed investors verified and cleared for trading without a manual review slowing down growth.
The Software House automated onboarding end-to-end, covering identity, referral, and wallet checks, so no account had to wait on a human to be cleared.
Partnership goal:
→ To build an onboarding flow that verifies every investor's identity and wallet ownership, closing every path a fake or duplicate account could use to reach a live trade.
About the client
*This information describes a real project, but The Software House cannot disclose the client’s name.
The client is a Swiss fintech company that runs an agentic DeFi protocol for structured investment products.
Its platform operates on the Solana blockchain and executes investment strategies autonomously, with no human trader in the loop.
INDUSTRY
Fintech
REGION
Switzerland
SERVICE
Backend Engineering
Blockchain Integration
Cloud Engineering
Business context
Bad actors could try to slip past onboarding using fake identity details or a wallet they didn't control, blending in with the platform's real investors the moment an account opened.
Stopping that meant controlling referral access right at signup, not catching it in an audit weeks later, and blocking suspicious accounts before any of them opened a position.
None of it mattered without visibility, and operations had no real-time way to see a new signup or a wallet connection the moment it happened.
Challenges
The main challenge was to remove humans from the onboarding process entirely while keeping it just as reliable.
Problems we had to solve:
Fake or unverified investors could open live trading accounts.
Referral codes had no validation step before account creation.
Investors could register with email addresses they did not own.
Wallets could be linked without proof of investor ownership.
Duplicate signups could create multiple accounts per investor.
Operations had no real-time visibility into signups or wallet activity.
Technology choice
Supabase
Solana Web3.js
ed25519 cryptographic signatures
Google Cloud Pub/Sub
PostgreSQL
Slack API
Telegram Bot API
Solution
Identity and trust layer
The first layer lets only real, verified people open an investor account.
Referral validation
Referral codes were checked before an account ever went live, so an invalid code never produced a signup.
Email verification
Investors had to confirm their email with a Supabase OTP before their accounts went live, thereby preventing signups from addresses they did not own.
Wallet verification
The team verified each wallet with an ed25519 signature, so only investors who controlled the wallet could link it to their account.
Duplicate protection
No investor could quietly open a second account, since duplicate email and wallet registrations were blocked at signup.
No investor reached the trading screen without a verified identity and a wallet they controlled, closing off every path a bad actor could use to get there.
Platform infrastructure
Once verified, an investor still needed a secure, observable account behind the scenes, not a black box.
Account management
Authentication, account management, and profile storage all ran through Supabase, so every authenticated endpoint stayed protected behind a single system.
Event-driven lifecycle
The team published account and wallet events through Google Cloud Pub/Sub, so downstream services reacted the moment an account changed state.
Admin notifications
New signups reached Slack and wallet connections reached Telegram the instant they happened, giving operations real-time visibility into new activity.
Data persistence
Every investor account, wallet, and referral code was stored in PostgreSQL, providing operations with a single source of truth.
The operations team went from zero visibility to a live, auditable record of every account, from signup through trade-ready status.

→ A fintech platform migrated onboarding without a single user re-verification
Outcomes
An onboarding flow built to remove every human check became the platform's most reliable safeguard.
→ Made every trade traceable to a verified investor.
Each account that reached the trading engine had already proven who owned the email and who controlled the wallet behind it.
→ Removed manual review from every signup.
Duplicate email and wallet safeguards let genuine accounts pass straight through without a single human check.
→ Gave operations real-time visibility into every account.
Slack and Telegram alerts replaced dashboard checks, surfacing new signups and wallet connections the moment they happened.
→ Delivered onboarding that was fully trade-ready.
Every account that finished the flow had already cleared identity, referral, and wallet checks before it could open a position.
