About voulti
Voulti is a crypto payment gateway for merchants accepting stablecoins across five networks. Its agent integration can create invoices and retrieve invoice details or payment links without an API key.
Key features
- 01Stablecoin payments across five networks
- 02Invoice creation and status lookup
- 03Hosted checkout and payment links
- 04Wallet or address-based payment
- 05Multi-chain balance aggregation
- 06Automatic deposit detection and settlement
Use cases
- 01Create an invoice through an AI agent
- 02Send customers a hosted checkout link
- 03Accept stablecoins across supported networks
- 04Review balances and withdraw funds
MCP support
The MCP server provides tools to create invoices, retrieve invoice details, and get payment links. The integration API requires no API key.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y voulti-mcpVOULTI_COMMERCE_IDDefault merchant id (from app.voulti.com → Receive Payments → Developers). Optional — can be passed per call.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
3Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| reference | string | No | Your own memo: order id, client name… |
| expires_at | string | No | ISO 8601 expiration (default: 1 hour from now) |
| amount_fiat | number | Yes | Amount in the merchant's base currency |
| commerce_id | string | No | Merchant id (defaults to VOULTI_COMMERCE_ID env) |
Details
From the project README
Crypto payment gateway for merchants. Accept USDC, USDT and stablecoins on 5 networks.
Architecture
apps/
checkout/ React + Vite — customer payment page
merchant/ Next.js — merchant dashboard
api/ Fastify — backend API
contracts/
core/ DerampProxy + modules (Hardhat, Solidity ^0.8.28)
packages/
shared/ Shared utilities
assets/
brand/ The logo, and the icons every app is derived from
Networks
| Network | Chain ID | Tokens |
|---|---|---|
| Celo | 42220 | USDC, USDT, COPm |
| Arbitrum | 42161 | USDC, USD₮0 |
| Polygon | 137 | USDC, USDT0 |
| Base | 8453 | USDC |
| BSC | 56 | USDC, USDT |
For AI agents
Voulti is agent-usable end to end — the integration API needs no API key:
- MCP server:
claude mcp add voulti -- npx -y voulti-mcp— toolscreate_invoice,get_invoice,get_payment_link. Seemcp/README.md. - Agent skill:
npx skills add csacanam/voulti— or read it at voulti.com/skill.md. - Plain HTTP:
POST https://api.voulti.com/invoiceswith{ commerce_id, amount_fiat, reference? }→ hosted checkout link. LLM index: voulti.com/llms.txt.
Features
- Self-service registration — merchant connects wallet, names business, done
- Two payment methods — Connect Wallet or Pay by Address (QR + deposit)
- Multi-chain balances — aggregated by token, network auto-selected
- Send funds — withdraw to any wallet from dashboard
- HD wallet sweep — automatic deposit detection and settlement
- Partial/over payment handling — auto-refund on overpay, wait on partial
- i18n — Spanish and English
Smart Contracts
Modular proxy architecture deployed on 5 networks:
- DerampProxy — entry point, routes calls to modules
- DerampStorage — centralized data store
- AccessManager — roles, token/commerce whitelisting
- InvoiceManager — invoice lifecycle
- PaymentProcessor — payment execution, fee calculation
- TreasuryManager — service fee collection
- WithdrawalManager — commerce fund withdrawals
See contracts/core/deployed-addresses/PRODUCTION.md for all addresses.
Operator Wallet
0x21581Cb82D9a66126fBe7639f4AF55DdfEA48E26 — deploys contracts, whitelists commerces, sends gas for HD wallet sweeps.
Local Development
# Prerequisites: Node 18+, pnpm
pnpm install
cd contracts/core && npm install
# Start Hardhat node (terminal 1)
npx hardhat node
# Deploy + setup (terminal 2)
cd contracts/core
npx hardhat run scripts/setup-local.ts --network localhost
# Start API (terminal 3)
pnpm dev:api
# Start checkout (terminal 4)
pnpm dev:checkout
# Start merchant dashboard (terminal 5)
pnpm dev:merchant
API Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
| POST | /commerces | Privy | Register commerce |
| GET | /commerces/:id | Public | Commerce info |
| GET | /commerces/:id/balances | Privy | Multi-chain balances |
| POST | /invoices | Privy | Create invoice |
| GET | /invoices/:id | Public | Invoice details + tokens |
| POST | /blockchain/create | Public | Create on-chain invoice |
| GET | /blockchain/status/:id | Public | On-chain invoice status |
| POST | /deposit/generate | Public | Generate HD deposit address |
| GET | /deposit/status/:id | Public | Deposit monitoring status |
| GET | /stats | Public | Revenue stats (building in public) |
| GET | /prices/rates | Public | Fiat + token rates from DB |
| POST | /prices/update-fiat-rates | Cron | Update fiat rates (OpenExchangeRates) |
| POST | /prices/update-token-prices | Cron | Update token prices (CoinGecko) |
Cron Jobs
Configure these as scheduled jobs in DigitalOcean (or any scheduler):
| Job | URL | Schedule | Description |
|---|---|---|---|
| Fiat rates | POST /prices/update-fiat-rates | Every hour | Updates USD→COP/EUR/BRL/MXN/ARS rates from OpenExchangeRates |
| Token prices | POST /prices/update-token-prices | Every hour | Updates USDC/USDT/COPm rates from CoinGecko |
| Expire invoices | POST /orders/expire-orders | Every minute | Marks expired invoices as Expired |
| Process emails | POST /notifications/process-emails | Every minute | Sends payment confirmation emails via Resend |
| Process webhooks | POST /notifications/process-url-confirmations | Every minute | Calls commerce confirmation URLs |
Base URL: https://api.voulti.com
Requires env vars: OPENEXCHANGERATE_APPID, COINGECKO_APIKEY, RESEND_APIKEY.
Environment Variables
See .env.example for all required variables.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.