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-sdk

Peer dependencies: viem@^2.0.0 (required), react@^18||^19 and wagmi@^2.0.0 (optional, for hooks).

Subpath Exports

Import pathContents
@permissionless-technologies/upd-sdkMain entry — createUPDClient, types, quote functions, oracle helpers
@permissionless-technologies/upd-sdk/coreUPDClient, pure math quotes, system health, EIP-3009 signing
@permissionless-technologies/upd-sdk/oraclecreateOracleClient — fetch signed price attestations from oracle service
@permissionless-technologies/upd-sdk/contractsAll 9 contract ABIs + deployment addresses
@permissionless-technologies/upd-sdk/reactWagmi-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 APIcreateUPDClient, read/write methods, sUPD staking
  • OraclecreateOracleClient, price attestations, running your own oracle
  • React HooksuseEthUsdPrice, useMintUPD, useSystemHealth, and more

On this page