UPD — Universal Private DollarSDK Reference
SDK Overview
UPD SDK module structure, subpath exports, and installation.
UPD SDK
@permissionless-technologies/upd-sdk is a TypeScript SDK for integrating with the UPD stablecoin. Built on viem with optional React support.
Installation
npm install @permissionless-technologies/upd-sdkPeer dependencies: viem@^2.0.0 (required), react@^18||^19 and wagmi@^2.0.0 (optional, for hooks).
Subpath Exports
| Import path | Contents |
|---|---|
@permissionless-technologies/upd-sdk | Main entry — createUPDClient, types, quote functions, oracle helpers |
@permissionless-technologies/upd-sdk/core | UPDClient, pure math quotes, system health, EIP-3009 signing |
@permissionless-technologies/upd-sdk/oracle | createOracleClient — fetch signed price attestations from oracle service |
@permissionless-technologies/upd-sdk/contracts | All 9 contract ABIs + deployment addresses |
@permissionless-technologies/upd-sdk/react | Wagmi-based hooks — price, mint, burn, staking, system health |
Quick Example
import { createUPDClient, createMockAttestation, quoteMintUPD } from '@permissionless-technologies/upd-sdk'
import { createPublicClient, createWalletClient, http, parseEther, formatUnits } from 'viem'
import { sepolia } from 'viem/chains'
const publicClient = createPublicClient({ chain: sepolia, transport: http() })
const walletClient = createWalletClient({ chain: sepolia, transport: http() })
const client = createUPDClient({
publicClient,
walletClient,
chainId: sepolia.id,
oracleUrl: 'https://oracle.upd.io', // optional, this is the default
})
// Pure math quote (no network call)
const ethPrice = 2000n * 10n ** 18n
const quote = quoteMintUPD(parseEther('1'), ethPrice)
console.log('Expected UPD:', formatUnits(quote, 18))
// Mint with automatic oracle attestation
const txHash = await client.mintWithOracle({
to: '0x...',
ethAmount: parseEther('1'),
})Module Pages
- Client API —
createUPDClient, read/write methods, sUPD staking - Oracle —
createOracleClient, price attestations, running your own oracle - React Hooks —
useEthUsdPrice,useMintUPD,useSystemHealth, and more