Homearrow-rightCasesarrow-rightCryptoprocessing

Cryptoprocessing Case Study: Crypto Payment Platform for Businesses

Link

HTTPS://KRASTERPAY.IOHTTPS://APP.KRASTERPAY.IO

Brief description

A crypto payment acceptance service for online businesses

Task

Build a system so a business can accept crypto payments and manage them in one place.

About the project

The project is a crypto processing platform for business: it accepts crypto payments from customers, records payment status, accounts for fees, stores operation history, and gives the store owner tools to manage funds.The platform solves “accept crypto as a payment method” in a form that is clear for business.Store onboarding: one account can run multiple projects/storefronts, each with its own key and settings.Crypto payment tied to fiat: issue an invoice in USD (or another currency) equivalent, and the customer pays in a chosen crypto at the current rate. Time-bound payment control: invoices have an expiry timer to avoid stuck payments and reduce loss risk from volatility/delays.Wallet and fund management: top-ups, balances across assets, withdrawal to an external address; all transaction logic is transparent and stored in history.Operational and financial admin: user, withdrawal, and transaction management, fee/discount settings, plus aggregate turnover and platform revenue metrics.A single product that connects crypto payment acceptance (API/links), transaction accounting and statuses, balance management, and administrative control — so a business can accept crypto systematically, not “manually in a wallet.”

Business benefits

SHARE OF PAID INVOICES GREW BY 60% THANKS TO THE NEW CRYPTO PAYMENT METHOD
QUARTERLY REVENUE GROWTH DYNAMICS STAYED AT 500% THANKS TO FEES, DISCOUNT SETTINGS, AND NEW MERCHANT ONBOARDING

Features

User creates a store in the personal account
Unique API key generation
Store name assignment
Method list
Request and response formats
Integration scenarios
Payment link generation
Payment in a specific cryptocurrency
USD-equivalent payment with currency choice by the customer
Payment time limit
Recurring payments (by contract)
Approve issuance
Automatic monthly charging
Add a fee +%
Configure a discount -%
Flexible monetization model
Optional automatic conversion to a stablecoin
USD value lock
Automatic creation of new addresses for users
Registration
Password change
Top-up
Withdrawal
Account creation via email and password
Password recovery
2FA setup
Profit display
Rate change dynamics
Operations analytics
Total balance display
USD conversion
Conversion into 12+ currencies
Deposit address generation
Automatic crediting
Currency selection
Address input
Manual withdrawal moderation
Date
Store
Amount
Currency
Status
Cryptocurrency exchange
Platform fee
Available currency list management
Required personal data collection
Identity document upload
Data correctness checks
Statuses: unverified / under review / approved / rejected
Additional document requests
Feature limits (deposits/withdrawals/limits) until KYC is complete
Base limits for users without KYC
Higher limits for verified users
Extra checks for large operations
Hot and cold wallet separation
Hot wallets for daily operations
Cold wallets for long-term storage
Balance per wallet
Withdrawal availability control
Full operation logging
Automatic hot wallet top-up
Minimum balance threshold control
Transfer from cold storage when needed
Access restrictions
Separate rights for viewing and executing transactions
Confirmation of critical operations
Automatic network fee calculation
Gas reserve
Gas limit settings
Cost optimization
Incoming transaction checks via an AML provider
Sender address risk assessment
Sanctions lists and high-risk category checks
Assign a risk-score to a transaction
Risk levels: low / medium / high
Check status display in the system
Automatic crediting at low risk
Move transaction to “under review” at medium/high risk
Block crediting at critical risk
AML analysis of the address before withdrawal
Check for links to banned services or sanctioned entities
Automatic pause of suspicious operations
Hand-off to manual moderation
Admin ability to reject a withdrawal
User registry
Block/unblock
Manual balance change
View all transactions
Request list
Manual processing
Withdrawal history
Send funds to multiple addresses
Wallet balance checks
Send cryptocurrency
Deposit address management
Total turnover
Fee profit
Metric charts
Check result display
Access to risk-score and details
Check history per user
Filter transactions by risk level
Manual approve or reject operations
Temporary user block
Record all AML checks
Store data for internal audit
Configurable acceptable risk thresholds
Flexible enable/disable of automatic blocks
Integration with external AML services
Super Admin — full access
Finance operator — deposit/withdrawal processing
Compliance officer — KYC/AML checks
Content manager — UI/store management
Analyst — statistics access
Separation by sections
Separation by action type (view / edit / confirm)
Staff action logging
Change journal
Approve/reject history
Responsible employee recording
Percentage fee settings
Add or subtract a percentage from a payment
Fixed amount in cryptocurrency
USD amount with rate conversion
Payment timer setup
Automatic close of an expired invoice
Recommendations for hot/cold wallet separation
Access control to funds
Manual operations regulations

Technology stack

React
MobX
ASP.NET Core — server application foundation
Entity Framework — ORM
Hangfire — background jobs
MailKit and MimeKit — email
Clean Architecture
MediatR — CQRS for queries and commands
Swashbuckle — OpenAPI/Swagger docs
QuickNode — blockchain access
BitOk — AML checks
AWS SDK — Amazon S3
Bybit — rates and currencies
Coingecko — rates and currencies
PostgreSQL — primary database
Docker
ELK Stack
TeamCity
Serilog — logging and monitoring

Working with the client

*Important: this is not project delivery work — it is work with the client specifically, and it is not in the estimate or commercial proposal; it is what we do to raise the product’s chance of successSystematic knowledge transfer: from vulnerabilities to growth pointsFor us it matters that after delivery the client is not left alone with market reality. So in parallel with development we built a separate competency-transfer track. The Defence.investments team walked the client through the product’s business architecture in detail: how metrics interconnect, where cash gaps form, which user actions signal upcoming churn. Separately we covered the marketing touch chain that converts now, not a year ago. As a result the project owner got not only a technical platform, but the ability to diagnose business health and anticipate critical forks — moving into a strategist role.Our goal is not just development — it is our client’s success.

Design goals:

MAKE CRYPTO PAYMENT FEEL AS CLEAR AS A REGULAR INVOICE, SO IT IS FAMILIAR TO THE USER
MAKE KEY ACTIONS VISIBLE: CREATE INVOICE, WITHDRAW, GENERATE LINK
SHORTEN THE PATH TO RESULT: CREATE INVOICE → SEND LINK → SEE PAYMENT IN ONE PLACE
HTTPS://WWW.FIGMA.COM/DESIGN/G9Y9Y6XLXHZ2MZXJFKUDQE/-IN-PROCESS--KRASTER-WALLET-PAY?NODE-ID=4-90&T=XZDIVXGJS49Q6ALC-1

Design results:

A UNIFIED MERCHANT CABINET WITH A CLEAR STRUCTURE: STORES, INVOICES, TRANSACTIONS, WALLET
CLEAR PAYMENT STATUSES AND AN INVOICE TIMER — YOU SEE WHAT IS HAPPENING RIGHT NOW
FAST PAYMENT-LINK CREATION WITHOUT EXTRA FIELDS, SO IT CAN BE SENT TO A CLIENT IN A MINUTE
A DASHBOARD WITH CORE NUMBERS WITHOUT OVERLOAD, SO THE OWNER INSTANTLY UNDERSTANDS PAYMENT OUTCOMES
CAREFUL SECURITY PRESENTATION (2FA, ACCESS RECOVERY) WITHOUT COMPLEX WORDING