# DirtCryptoStore DirtCryptoStore is a Paper 1.21.x crypto shop plugin. ## Features - GUI crypto store - Live BTC/USD pricing - Unique BTC invoice amounts per player - QR map generation - QR placed in player off-hand - SQLite storage - Expired invoice pruning - Auto payment watching - Admin review tools ## Requirements - Paper 1.21.x - Java 21 - Maven 3.8.7+ ## Build mvn clean package Jar: target/DirtCryptoStore.jar ## Install 1. Put the jar in your server plugins folder 2. Start the server 3. Edit plugins/DirtCryptoStore/config.yml 4. Restart the server or use /cryptostore reload ## Player Commands /cryptostore Opens the store GUI /cryptostore status Shows the player’s pending invoice status ## Admin Commands /cryptostore reload Reloads plugin config and watcher /cryptostore review Shows invoices marked UNDER_REVIEW /cryptostore forceconfirm Manually fulfills an invoice /cryptostore cancelinvoice Cancels an invoice ## Permissions dirtcryptostore.use Default: true dirtcryptostore.admin Default: op dirtcryptostore.bypass Reserved for future use ## Payment Flow 1. Player runs /cryptostore 2. Player clicks a product 3. Plugin converts USD price to BTC 4. Plugin adds a unique sat offset 5. Invoice is created 6. QR map is placed in off-hand 7. Player pays exact BTC amount 8. Plugin watches blockchain 9. After confirmations, commands run ## Storage SQLite database file: plugins/DirtCryptoStore/dirtcryptostore.db ## Pruning Old invoices can be pruned with config options: - prune-enabled - prune-after-days - prune-statuses ## Notes - BTC-focused - Live pricing uses CoinGecko - Payment watching uses blockchain.info - Large public deployments should later add provider fallback and audit logging