The NFTopia Payment Service is a Spring Boot microservice handling all payment processing for NFT minting and marketplace transactions. Running on port 9003, it supports multi-currency payments, escrow services, and royalty distributions.
View Swagger Docs | API Reference
- Multi-Currency Support:
- 💰 Crypto: ETH, USDC, STRK
- 💳 Fiat: Credit card processing (Stripe)
- Escrow Services:
- Secure NFT sale settlements
- Dispute resolution mechanisms
- Royalty Automation:
- Instant creator payouts
- Secondary sale royalties
- Fraud Prevention:
- Transaction monitoring
- Velocity checks
| Component | Technology |
|---|---|
| Framework | Spring Boot 3.2 |
| Security | Spring Security + JWT |
| Crypto Payments | Web3j |
| Fiat Payments | Stripe API |
| Database | PostgreSQL + Hibernate |
- Java 17+
- PostgreSQL 15+
- Maven 3.9+
- Stripe account (for fiat payments)
- Clone the repo:
git clone https://github.com/NFTopia-Foundation/nftopia-payment-service.git cd nftopia-payment-service - Configure environment:
cp src/main/resources/application.example.yml src/main/resources/application.yml
- Edit application.yml:
server: port: 9003 spring: datasource: url: jdbc:postgresql://localhost:5432/nftopia_payments stripe: api-key: your-stripe-key
- Edit application.yml:
- Build and run:
mvn spring-boot:run
- Fork the repository
- Create your feature branch:
git checkout -b feat/your-feature- Commit changes following Conventional Commits
- Push to the branch
- Open a Pull Request