Unlocking Joy: 50% Off On Botble Themes Get It Now >

CryptoPay Vault — Self-Hosted Crypto Gateway for Botble

1 Sale
-
Recently Updated

Accept BTC, ETH, USDT, SOL & More — Straight to YOUR Wallet. No Middlemen. No KYC. No Fees Forever.

The only Botble-native crypto payment plugin that plugs into Ecommerce checkout AND E-Wallet top-ups out of the box. One-click install, zero-CLI upgrades, stunning QR checkout, live coin rates, automatic on-chain confirmation, beautiful coin icons, built-in cron, encrypted RPCs, and support for 7+ coins across 5 blockchains. Replace Stripe, PayPal and Boxcoin — keep 100% of every sale.

CryptoPay Vault turns any Botble, Shofy, Martfury or Nest store into a self-hosted crypto payment powerhouse. Accept BTC, ETH, USDT (ERC-20/BEP-20/TRC-20), POL, SOL directly into YOUR wallets with one-click checkout, QR codes, live rates, auto-confirmation, and full E-Wallet top-up support. No KYC. No middlemen. No monthly fees. Install in 60 seconds, earn forever.

# 🪙 CRYPTOBYCODEUPP — Self-Hosted Crypto Payment Gateway for Botble


 

> A **complete, independent crypto payment gateway** for Botble / Martfury / Shofy / Nest stores. Accept **BTC, ETH, USDT (ERC-20 / BEP-20 / TRC-20), POL, SOL** directly into your wallets — no third-party processor, no merchant account, no KYC. Just paste an RPC URL per coin and receive payments.


 

**Plugin ID:**`maryam/cryptobycodeupp`

**Namespace:**`Maryam\CryptoByCodeupp\`

**Install path:**`platform/plugins/cryptobycodeupp/`

**Brand:** Maryam International LLC · [codeupp.xyz](https://codeupp.xyz)


 

---


 

## ✨ What This Plugin Does


 

This is a **drop-in replacement for Boxcoin** — but built natively for Botble, with no external dependency on a separate PHP app. Everything (admin panel, settings, checkout UI, transaction tracking, payment confirmation) lives inside one Botble plugin.


 

- ✅ Self-custodial — funds go straight to **your** wallet addresses

- ✅ Multi-coin: BTC, ETH, USDT-ERC20, USDT-BEP20, USDT-TRC20, POL, SOL

-**Per-coin RPC URL** — paste any free RPC (Tatum, Alchemy, Ankr, Infura, QuickNode, public nodes)

-**Pay-as-you-grow** — use multiple free accounts to scale (Tatum on BTC, Alchemy on ETH, Ankr on SOL, etc.)

- ✅ Coins **only show at checkout** if the admin has configured an RPC URL + receiving wallet for that coin

- ✅ Beautiful checkout page with:

- Coin selector

- Live USD → crypto conversion (CoinGecko, free)

- QR code (address + amount preloaded for mobile wallets)

- 30-min countdown timer

- "Waiting for payment" → "Confirmed" status states

- Email field for receipt

- ✅ Automatic confirmation via **cron** — polls each chain's RPC every minute

- ✅ Configurable **min confirmations** per coin (1 for stablecoins, 2 for ETH, 3 for BTC etc.)

- ✅ Email notification to admin **and customer** on confirmation (uses Botble's built-in SMTP)

- ✅ Idempotent — webhook + cron + manual mark-paid all converge safely

- ✅ Independent of Boxcoin — no shared code, no PHP file conflicts

-**Universal Botble payment provider** — works out of the box with **Botble E-Wallet top-ups**, subscription renewals, gift-card purchases, and any third-party plugin that respects Botble's standard `return_url` payment flow. Customers top up their in-store wallet with crypto and the balance is credited automatically the moment the on-chain payment confirms — identical UX to Stripe top-ups.

-**Zero-CLI upgrades** — merchants don't need SSH or `php artisan migrate`. Database schema self-heals on plugin activation and on the first HTTP request after a version bump.


 

---


 

## 💸 E-Wallet Top-Up Support (new)


 

The plugin auto-detects Botble **E-Wallet** top-up flows (`customer.e-wallet.topup.callback`) and:


 

1. Accepts crypto payment on the standard crypto checkout page

2. Inserts a `Botble\Payment\Models\Payment` row keyed by the on-chain tx hash so the e-wallet's success handler recognises the payment

3.**Auto-credits** the customer's wallet balance via `TopUpService::completeTopUp()` the moment enough confirmations are reached — no manual admin step, no webhook wiring

4. Redirects the customer back to the e-wallet success page with `?charge_id=` appended, exactly the way Stripe does it


 

Works identically for **any** Botble plugin that sends a standard `return_url` / `callback_url` in its payment data (subscription renewals, gift-card purchases, marketplace vendor wallet top-ups, custom SaaS checkouts, etc.). No integration code required on the other plugin's side.


 

---


 

## 🎯 Why Multi-RPC Per Coin Matters


 

Free RPC tiers all have rate limits. By letting the admin paste a **different RPC URL per coin**, you can mix providers:


 

| Coin | Recommended free RPC | Free quota / month |

|---|---|---|

| BTC | Tatum (`https://api.tatum.io/v3/bitcoin/...`) or BlockCypher | 1M / 200k |

| ETH | Alchemy (`https://eth-mainnet.g.alchemy.com/v2/KEY`) | 300M compute units |

| USDT-ERC20 | Same Alchemy ETH key | (shared with ETH) |

| USDT-BEP20 | Ankr (`https://rpc.ankr.com/bsc/KEY`) or QuickNode | 30M req |

| POL | Alchemy (`https://polygon-mainnet.g.alchemy.com/v2/KEY`) | 300M CU |

| USDT-TRC20 | TronGrid (`https://api.trongrid.io`) | 100k req/day |

| SOL | Ankr / Helius / public Solana RPC | 30M req |


 

Sign up with **a different email per provider** to multiply your free quota. This is the entire point of letting admin paste RPC URLs per coin.


 

---


 

## 🛠 Architecture


 

```

┌──────────────────────┐

│ Customer checkout │ ← Botble checkout page selects "Pay with crypto"

└──────────┬───────────┘

┌──────────────────────┐ creates Order (status=pending)

│ CryptoPaymentService │ + CryptoTransaction row (status=P)

│ (Botble gateway) │ redirects to /payment/crypto/checkout/{token}

└──────────┬───────────┘

┌──────────────────────┐ Customer picks coin

│ checkout.blade │ → reads coin's wallet address + USD-to-crypto rate

│ (QR + timer + poll) │ shows QR code, polls /status every 5s

└──────────┬───────────┘

┌──────────────────────┐ Cron (every minute) calls each coin's driver:

│ TransactionMatcher │ EvmDriver (eth_getLogs / eth_getBalance)

│ + Drivers per chain │ TronDriver (TronGrid REST)

└──────────┬───────────┘ SolanaDriver (getSignaturesForAddress)

│ BitcoinDriver (Tatum/Blockstream/Mempool.space)

┌──────────────────────┐

│ Match found → │ marks Order COMPLETED via Botble's

│ do_action( │ PAYMENT_ACTION_PAYMENT_PROCESSED hook

│ PAYMENT_PROCESSED)│ sends "payment confirmed" email

└──────────────────────┘

```


 

---


 

## 📦 File Structure


 

```

platform/plugins/cryptobycodeupp/

├── plugin.json

├── composer.json

├── README.md

├── helpers/

│ └── constants.php

├── routes/

│ └── web.php

├── database/migrations/

│ └── 2026_04_29_000000_create_cryptobycodeupp_transactions_table.php

├── public/images/

│ └── crypto.png (logo placeholder)

├── resources/

│ ├── lang/en/cryptobycodeupp.php

│ └── views/

│ ├── methods.blade.php # Botble checkout payment-row

│ ├── checkout.blade.php # ★ Standalone QR / timer page

│ ├── instructions.blade.php # Admin settings sidebar

│ ├── email-confirmed.blade.php # SMTP email template

│ └── _coin_card.blade.php # one card on checkout

└── src/

├── Plugin.php

├── Console/Commands/

│ └── MatchTransactionsCommand.php # php artisan crypto:match

├── Forms/

│ └── CryptoPaymentMethodForm.php

├── Models/

│ └── CryptoTransaction.php

├── Http/

│ ├── Controllers/

│ │ └── CryptoController.php # checkout + status + return + cron-trigger

│ └── Requests/

│ └── CryptoPaymentCallbackRequest.php

├── Providers/

│ ├── CryptoByCodeuppServiceProvider.php

│ └── HookServiceProvider.php

└── Services/

├── CoinRegistry.php # one source of truth for all 7 coins

├── PriceService.php # CoinGecko USD→crypto

├── TransactionMatcher.php # cron core

├── Gateways/

│ └── CryptoPaymentService.php # extends PaymentAbstract

└── Drivers/

├── DriverInterface.php

├── EvmRpcDriver.php # ETH, USDT-ERC20, USDT-BEP20, POL

├── TronDriver.php # USDT-TRC20

├── SolanaDriver.php # SOL

└── BitcoinDriver.php # BTC

```


 

---


 

## ⚙️ Admin Configuration


 

Go to **Admin → Payment Methods → Crypto by Codeupp**. For each coin:


 

| Field | Example |

|---|---|

| **Enabled** | toggle on/off |

| **Wallet address** | `0x7ed49411212865dB6C99C003ab19CE9C7b5f904d` |

| **RPC URL** | `https://eth-mainnet.g.alchemy.com/v2/your-key` |

| **Min confirmations** | `2` |


 

A coin **only shows at checkout** if both `Wallet address` and `RPC URL` are filled. This is exactly the behaviour you asked for.


 

Global settings:

- Default fiat currency (auto-pulled from Botble store currency)

- Order timeout (default 30 minutes)

- Admin notification email

- Enable customer email receipt


 

---


 

## 🔗 Routes registered


 

| Purpose | Route name | URL |

|---|---|---|

| Checkout QR page | `crypto.checkout` | `GET /payment/crypto/checkout/{token}` |

| Status polling | `crypto.status` | `GET /payment/crypto/status/{token}` |

| Coin selection (AJAX) | `crypto.select_coin` | `POST /payment/crypto/select-coin/{token}` |

| Customer return URL | `crypto.return` | `GET /payment/crypto/return/{token}` |

| Manual cron trigger | `crypto.cron` | `GET /payment/crypto/cron?key=...` |


 

---


 

## ⏰ Cron / Worker Setup


 

Add **one** of:


 

```cron

* * * * * cd /path/to/site && php artisan crypto:match >> storage/logs/crypto-cron.log 2>&1

```


 

or hit the HTTP endpoint via your hosting cron panel:


 

```

* * * * * curl -s "https://yourstore.com/payment/crypto/cron?key=YOUR_CRON_KEY"

```


 

The cron secret key is auto-generated on first activation and shown in admin settings.


 

---


 

## 📧 Email Notifications (Botble SMTP)


 

When a payment is confirmed, the plugin uses Botble's standard `EmailHandler` (which respects whatever SMTP/Mailgun/etc. you have configured globally in Botble). Two emails are sent:


 

1.**To admin** — order ID, amount, txhash, block explorer link

2.**To customer** — "Payment received" with order summary


 

Templates live at `resources/views/email-confirmed.blade.php` and are fully editable in the Botble email-templates admin panel.


 

---


 

## 🔐 Security


 

- RPC URLs and wallet addresses are stored encrypted in `setting` table (Botble's standard storage)

- Cron endpoint requires a secret key

- Checkout page can only be accessed with the unique `order.token` (UUID, not guessable)

- Payment confirmation is **double-verified**: matcher checks tx exists on-chain via your own RPC URL, then confirms amount + min-confirmations before marking paid

- Idempotent — re-running cron on a confirmed order is a no-op


 

---


 

## 🧪 Testing


 

1. Activate the plugin

2. Go to **Payment Methods → Crypto by Codeupp**, fill in **one** coin (say USDT-BEP20):

- Wallet: your BSC address

- RPC URL: any working BSC RPC (`https://bsc.publicnode.com`)

3. Place a test order on your storefront

4. On the QR page, send the exact crypto amount to the displayed address

5. Within 1-2 cron ticks (≤2 minutes) the order will flip to **Completed** and you'll get the email


 

---


 

## 👑 Why Choose Maryam International LLC


 

We are a **registered professional UAE-based software company** building world-class digital products. Visit [codeupp.xyz](https://codeupp.xyz).


 

**Tech we master:** Laravel, Botble, React, Vue, Next.js, Node, Python, Solidity, smart contracts, payment gateways, AI/LLMs, mobile (Flutter / Swift / Kotlin), AWS / GCP / Azure, DevOps.


 

**What we build:** marketplaces, SaaS platforms, mobile apps, custom CMS plugins, blockchain dApps, AI bots, payment integrations.


 

**Why hire us:**

- Registered, accountable UAE company

- Your satisfaction is our top priority

- Full-stack mastery — one team, end-to-end

- Fast WhatsApp support in EN / HI / UR / AR

- Lifetime updates + 6 months priority support


 

---


 

## 📞 Contact


 

-**Website:** [codeupp.xyz](https://codeupp.xyz)

-**Email:** maryaminternationalllc@gmail.com · codeupp.xyz@gmail.com

-**WhatsApp:** [+971 55 368 2656](https://wa.me/971553682656)

-**Based in:** UAE 🇦🇪 — Serving worldwide 🌍


 

>**Have an idea? Send us a WhatsApp. We reply within minutes, not days.**


 

---


 

**© Maryam International LLC — [codeupp.xyz](https://codeupp.xyz)**

*Your satisfaction is our top priority. We can build anything you imagine.*


 

License Option
Free Free
$11.00 $43.89
Quality checked by Marketplace.Codeupp.xyz
Full Documentation
Future updates
Author Support
Contact us on whatsapp

Have doubt? Contact us on WhatsApp

Our product is high quality. Contact us for any kind of custom work.

1 Sale

Last update:

May 04, 2026 02:12 AM

Published:

May 02, 2026 05:45 AM

Version:

v1.0.2

Category:

codeupp_xyz's items

We use cookies to personalize your experience. By continuing to visit this website you agree to our use of cookies

More