Build with VLink
Everything you need to integrate stablecoin payments into your application. RESTful APIs, SDKs, and comprehensive guides.
Quick Start Guide
Get VLink integrated in under 5 minutes. Follow these steps to start accepting stablecoin payments.
Install the SDK
# npm
npm install @vlink/react @vlink/core
# yarn
yarn add @vlink/react @vlink/core
# pnpm
pnpm add @vlink/react @vlink/coreConfigure the Provider
import { VLinkProvider } from '@vlink/react';
function MyApp({ Component, pageProps }) {
return (
<VLinkProvider
merchantId="your_merchant_id"
environment="production" // or "sandbox"
>
<Component {...pageProps} />
</VLinkProvider>
);
}Add the Payment Button
import { VLinkButton } from '@vlink/react';
function Checkout({ order }) {
return (
<VLinkButton
amount={order.total}
currency="USD"
orderId={order.id}
customerEmail={order.customerEmail}
onSuccess={(payment) => {
console.log('Payment successful:', payment.transactionHash);
// Redirect to success page
router.push('/order/success');
}}
onError={(error) => {
console.error('Payment failed:', error);
}}
/>
);
}That's it!
Your customers can now pay with stablecoins. VLink handles wallet connection, chain selection, and payment processing automatically.
Official SDKs
Drop-in SDKs for popular frameworks and platforms.
React
@vlink/reactNext.js
@vlink/nextjsVue
@vlink/vueJavaScript
@vlink/coreNode.js
@vlink/nodePython
vlink-pythoniOS
VLinkSDKAndroid
com.vlink.sdkRESTful API
Base URL: https://api.vlink.veritwin.com/v1
/paymentsCreate a new payment intent
| Parameter | Type | Description |
|---|---|---|
amount | number | Amount in cents |
currency | string | Currency code (USD) |
orderId | string | Your order reference |
/payments/:idRetrieve payment status
| Parameter | Type | Description |
|---|---|---|
id | string | Payment ID |
/payments/:id/confirmConfirm a payment (server-side)
| Parameter | Type | Description |
|---|---|---|
id | string | Payment ID |
transactionHash | string | On-chain tx hash |
/merchants/balanceGet merchant stablecoin balances
/merchants/withdrawWithdraw funds to wallet
| Parameter | Type | Description |
|---|---|---|
amount | number | Amount to withdraw |
token | string | Token symbol |
chain | string | Destination chain |
address | string | Destination wallet |
Real-Time Events
Receive instant notifications when payment events occur. All webhooks are signed for security.
payment.createdPayment intent was created
payment.pendingTransaction submitted to blockchain
payment.confirmedPayment confirmed on-chain
payment.failedPayment failed or was rejected
{
"id": "evt_1234567890",
"type": "payment.confirmed",
"data": {
"paymentId": "pay_abc123",
"amount": 9999,
"currency": "USD",
"orderId": "order_xyz",
"transactionHash": "0x...",
"chain": "ethereum",
"token": "USDC",
"confirmedAt": "2026-01-16T12:00:00Z"
},
"signature": "sha256=..."
}API Security
API Key Authentication
Use your secret API key in the Authorization header. Keep it secure and never expose it client-side.
Webhook Signatures
All webhooks are signed with HMAC-SHA256. Verify signatures before processing events.
IP Allowlisting
Optionally restrict API access to specific IP addresses in your dashboard settings.
Idempotency Keys
Use idempotency keys to safely retry requests without creating duplicate payments.
Ready to Build?
Create your merchant account and get your API keys to start integrating VLink today.