🏗️ Smart Contracts
Move contracts for one-time native Circle USDC payments, merchant management, and AdminCap-gated governance on Sui Testnet.
Learn More🔧 TypeScript SDK
Typed transaction builders and Sui gRPC queries. You sign and execute with your own wallet; dry-run helpers included.
Get StartedQuick Start Guide
1. Build the SDK from Source
git clone https://github.com/DolphinsLab/dolphin-pay.git
cd dolphin-pay/sdk && bun install && bun run buildNo stable npm release yet — add "@dolphinpay/sdk": "file:../dolphin-pay/sdk" to your app's dependencies (adjust the relative path). See the Quick Start.
2. Initialize Client
import { createClient } from '@dolphinpay/sdk';
// IDs from DEPLOYMENT.md at the repository root
const client = createClient({
network: 'testnet',
packageId: '<PACKAGE_ID>',
adminConfigId: '<ADMIN_CONFIG_ID>',
});3. Create Payment
import { usdcToUnits, USDC_TYPES } from '@dolphinpay/sdk';
// '10' USDC → 6-decimal base-unit string
const txb = client.payment.buildCreatePayment({
merchant: '0xMERCHANT_ADDRESS',
amount: usdcToUnits('10'),
currencyType: USDC_TYPES.testnet,
description: 'Payment for services',
expirySeconds: 3600,
});4. Sign with Your Wallet
// e.g. @mysten/dapp-kit
await signAndExecuteTransaction({
transaction: txb,
});Network Status
🌐 Sui Testnet
Status: ✅ Deployed
The Package ID and shared AdminConfig ID are recorded in DEPLOYMENT.md at the repository root — the single source of truth. Do not use IDs from old docs.
View DEPLOYMENT.md🚀 Sui Mainnet
Status: ⛔ Not deployed
Mainnet deployment is not authorized; it requires explicit approval.
Testnet Guide