Smart contract integration
A typical non-custodial payment integration consists of three components:
- Your application
- A wallet connection provider
- The payment smart contract
The wallet connection provider is responsible only for connecting the customer's wallet and requesting a transaction signature. The payment itself is executed by the smart contract on the blockchain.
Contact our team before starting the integration. We will provide the required smart contract details, ABI, and help you choose the appropriate architecture for your application.
Payment flow
- The customer reaches your checkout page.
- The customer connects their wallet.
- Your application prepares a payment transaction.
- The transaction is submitted to the connected wallet.
- The customer reviews and signs the transaction.
- The wallet broadcasts the signed transaction to the blockchain.
- The smart contract transfers the funds.
- The wallet receives a transaction hash (
txid) and returns it to your application. - Your application tracks the transaction until it reaches the required confirmation state.
- Your system marks the order as paid.
Prerequisites
Before integrating, you need:
- A frontend application capable of connecting crypto wallets.
- A backend (recommended) for creating payment requests and tracking blockchain transactions.
- Smart contract details provided by Volet.com.
- A wallet connection provider appropriate for the blockchain networks you plan to support.
One-time setup
Step 1. Set up wallet connectivity
Integrate a wallet connection provider appropriate for the blockchain networks you plan to support.
Typical options include:
- WalletConnect — Ethereum, BNB Chain, Polygon, Arbitrum, Optimism, Avalanche, and other EVM-compatible networks.
- TronLink — Tron.
- TON Connect — TON.
- Solana Wallet Adapter — Solana.
Some providers, such as WalletConnect, require a Project ID or API credentials before they can be used.
Step 2. Obtain the smart contract details
Contact Volet.com to receive the smart contract address, ABI, and any integration-specific parameters.
Payment flow implementation
Step 1. Connect the customer's wallet
Prompt the customer to connect a compatible wallet.
For example:
- MetaMask or Trust Wallet through WalletConnect.
- TronLink for Tron.
- Tonkeeper via TON Connect.
- Phantom or Solflare via Solana Wallet Adapter.
Step 2. Prepare the transaction
Prepare a transaction request in your application.
Typically, it includes:
- Recipient wallet address
- Payment amount
- Token
- Blockchain network (
chainId) - Order ID
- Optional metadata
The transaction can be prepared on either the frontend or the backend.
Step 3. Request a transaction signature
Submit the prepared transaction to the connected wallet.
Using the specified chainId, the wallet automatically selects the appropriate blockchain network and RPC endpoint.
The customer reviews the transaction details.
If everything is correct, they sign the transaction in their wallet.
Step 4. Broadcast the transaction
After the transaction has been signed, the wallet broadcasts it to the blockchain using the appropriate RPC endpoint.
If the transaction is accepted by the network, the wallet receives a transaction hash (txid) and returns it to your application.
Store the transaction hash together with your order.
Step 5. Verify transaction confirmations
Monitor the blockchain using the transaction hash until the payment reaches the required confirmation state.
Once the transaction has been sufficiently confirmed, mark the order as paid in your system.
RPC providers
Customer wallets automatically select an RPC endpoint based on the transaction's chainId, so no additional configuration is required for basic integrations.
If your application performs a large number of blockchain requests—for example, monitoring payment transactions or querying blockchain data at scale—you should consider using:
- A dedicated RPC provider.
- Your own RPC node.
Dedicated infrastructure helps avoid public RPC rate limits and improves reliability under heavy load.
Next steps
- Review the Smart Contract reference.
- Test successful and failed payment scenarios.
- Verify transaction confirmation handling.
- Deploy to production.
Related
- Accept non-custodial crypto payments — overview of the non-custodial model