Skip to main content

DolphinPay Documentation

Decentralized Payment Gateway on Sui Blockchain

🏗️ 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 Started

📚 Examples

A basic USDC payment integration example to get you started quickly.

View Examples

Quick 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 build

No 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

📚 Documentation

Status: ✅ Live

Guides for the current Testnet USDC payment MVP

Browse Docs