Oracle3
Open-source trading engine and MCP server for prediction markets. Fee-aware no-arbitrage trading across related contracts, live on Kalshi, Polymarket and Solana or on paper.
USDU is a protocol-issued, non-algorithmic stablecoin backed by protocol adapters (not CDPs), offering ~4 fixed-term funding for carry and structured finance, fully convertible to USDC on-chain.
FinanceTypeScript · SolidityGitHub @usdu-financeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Smart contract system for a stablecoin liquidity layer featuring a modular architecture and integrated protocol adapters such as TermMax, Morpho, and Curve.
Taken from the repository README
Loading the full README.
Read the full README ↗Core smart contract implementation for USDU Finance, a stablecoin protocol built on Ethereum. This repository contains the essential contracts for the USDU stablecoin, yield-generating vault adapters, and reward distribution system.
Key Components:
contracts/
├── stablecoin/ # USDU stablecoin core implementation
├── vault/ # Vault adapters for yield generation
├── morpho/ # Morpho protocol integration
├── curve/ # Curve protocol integration
├── reward/ # Reward distribution system
└── test/ # Test contracts and utilities
Supported Networks:
See
exports/address.types.tsfor complete chain configurations andexports/address.config.tsfor deployed addresses.
Stablecoin.setModule / setModulePublic carries an expiredAt timestamp. There is no "forever" sentinel (e.g. type(uint256).max) — future deployments should bound expiredAt to a maxLifespan (e.g. 100yrs), which is effectively permanent in practice but keeps modules re-affirmable.# Setup
yarn install
cp .env.example .env # Configure your environment
# Development
yarn compile # Compile contracts
yarn test # Run tests
yarn coverage # Test coverage
# Deployment
yarn deploy ignition/modules/StablecoinModule.ts --network mainnet --verify
# Package
yarn npm:build # Build for npm
yarn npm:publish # Publish package
Create .env file (see .env.example):
DEPLOYER_SEED="your mnemonic here"
DEPLOYER_SEED_INDEX=0
ALCHEMY_RPC_KEY=your_api_key
ETHERSCAN_API=your_api_key
yarn test # All tests
yarn test test/Stablecoin.ts # Specific test
yarn coverage # Coverage report
Create deployment modules in /ignition/modules/ and parameter files in /ignition/params/:
yarn deploy ignition/modules/StablecoinModule.ts --network mainnet --verify --deployment-id USDU01
This compiles, deploys, and verifies contracts on Etherscan/Sourcify. Artifacts are saved to /ignition/deployments/.
Manual Verification:
npx hardhat verify --network mainnet --constructor-args ./ignition/constructor-args/$FILE.js $ADDRESS
npx hardhat ignition verify $DEPLOYMENT --include-unrelated-contracts
The package exports TypeScript ABIs and address configurations:
ABIs: exports/abis/ - Contract ABIs as TypeScript constants
Addresses: exports/address.config.ts - Deployed contract addresses by chain
Types: exports/address.types.ts - Chain configurations and type definitions
import { ADDRESS, StablecoinABI, MorphoAdapterV1ABI } from '@usdu-finance/usdu-core';
// Get mainnet addresses
const { usduStable, usduMorphoAdapterV1_2 } = ADDRESS[1];
// Use ABIs with contract instances
const stablecoin = new Contract(usduStable, StablecoinABI, provider);
package.json (semantic versioning)yarn npm:build (uses tsup config)yarn npm:publish (requires npm login)Next.js Integration:
// next.config.js
module.exports = {
transpilePackages: ['@usdu-finance/usdu-core'],
};