5,000USDG Total Prizes | ||
2,500 USDG 1st 1,500 USDG 2nd 1,000 USDG 3rd |
83
SUBMISSIONS
Syncing...
REMAINING
SKILLS NEEDED
CONTACT
WINNER ANNOUNCEMENT BY
RELATED LIVE LISTINGS
Build the Open-Source SDK & Core Standards for Stablecoins on Solana
Superteam Brazil is building open-source standards for Solana โ production-ready templates that institutions and builders can fork, customize, and deploy. We've shipped the Solana Vault Standard (SVS), and now we're tackling stablecoins.
This bounty creates the Solana Stablecoin Standard โ a modular SDK with opinionated presets covering the most common stablecoin architectures.
Repository: github.com/solanabr/solana-stablecoin-standard
Reference for Quality & Structure: Solana Vault Standard โ follow this repo's patterns for code organization, documentation, and SDK design.
Build a modular stablecoin SDK with standardized presets for Solana. The SDK is the core deliverable โ a configurable toolkit where issuers choose which Token-2022 extensions and compliance modules to enable. The standards (SSS-1, SSS-2) are opinionated presets within the SDK.
Think OpenZeppelin: the library is the SDK, the contracts (ERC-20, ERC-721) are the standards. The library makes them easy to deploy, the standards are what get adopted.
๐ฅ 1st - $2,500 USDC
๐ฅ 2nd - $1,500 USDC
๐ฅ 3rd - $1,000 USDC
Total Prize Pool: $5,000 USDC
Three layers:
Layer 1 โ Base SDK: Token creation with mint authority + freeze authority + metadata. Issuers choose which extensions to enable. Role management program. CLI + Typescript) SDK.
Layer 2 โ Modules: Composable pieces that add capabilities. Compliance module (transfer hook, blacklist PDAs, permanent delegate). Privacy module (confidential transfers, allowlists). Each module is independently testable and optional.
Layer 3 โ Standard Presets: Opinionated combinations of Layer 1 + Layer 2. These are the "standards" โ what gets documented, recommended, and referenced.
Standard - SSS-1
Name - Minimal Stablecoin
What It Is - Mint authority + freeze authority + metadata. What's needed on every stable, nothing more.
Standard - SSS-2
Name - Compliant Stablecoin
What It Is - SSS-1 + permanent delegate + transfer hook + blacklist enforcement
SSS-1 is for simple stablecoins โ internal tokens, DAO treasuries, ecosystem settlement. Compliance is reactive (freeze accounts as needed).
SSS-2 is for regulated stablecoins โ USDC/USDT-class tokens where regulators expect on-chain blacklist enforcement and token seizure capabilities. Permanent delegate is needed here, and transfer hook checks every transfer against the blacklist โ no gaps.
A single configurable program that supports both presets via initialization parameters, as exemplified here:
pub struct StablecoinConfig {
pub name: String,
pub symbol: String,
pub uri: String,
pub decimals: u8,
// SSS-2 compliance
pub enable_permanent_delegate: bool,
pub enable_transfer_hook: bool,
pub default_account_frozen: bool,
}
Core instructions (all presets): initialize, mint, burn, freeze_account, thaw_account, pause, unpause, update_minter, update_roles, transfer_authority
SSS-2 additional: add_to_blacklist, remove_from_blacklist, seize (via permanent delegate). Plus a separate transfer hook program that enforces blacklist checks on every transfer.
Role-based access control: Master authority, minter (with per-minter quotas), burner, blacklister (SSS-2), pauser, seizer (SSS-2). No single key controls everything.
SSS-2 instructions must fail gracefully if the compliance module wasn't enabled during initialization.
Core (all presets):
Mint/burn service โ Fiat-to-stablecoin lifecycle coordination (request โ verify โ execute โ log)
Event listener/indexer โ Monitor on-chain events, maintain off-chain state, webhook notifications
SSS-2 additional:
Compliance service โ Blacklist management, sanctions screening integration point, transaction monitoring, audit trail export
Webhook service โ Configurable event notifications with retry logic
Rust or TypeScript, Docker containerized, environment-based config, structured logging, health checks.
This is critical โ operators need to execute actions fast.
# SDK approach: choose your standard
sss-token init --preset sss-1
sss-token init --preset sss-2
sss-token init --custom config.toml
# Operations
sss-token mint <recipient> <amount>
sss-token burn <amount>
sss-token freeze <address>
sss-token thaw <address>
sss-token pause / unpause
sss-token status / supply
# SSS-2 compliance
sss-token blacklist add <address> --reason "OFAC match"
sss-token blacklist remove <address>
sss-token seize <address> --to <treasury>
# Management
sss-token minters list / add / remove
sss-token holders [--min-balance <amount>]
sss-token audit-log [--action <type>]
The sss-token init command is central โ it supports preset modes and fully custom configurations via TOML/JSON config files.
import { SolanaStablecoin, Presets } from "@stbr/sss-token";
// Preset initialization
const stable = await SolanaStablecoin.create(connection, {
preset: Presets.SSS_2,
name: "My Stablecoin",
symbol: "MYUSD",
decimals: 6,
authority: adminKeypair,
});
// Or custom config
const custom = await SolanaStablecoin.create(connection, {
name: "Custom Stable",
symbol: "CUSD",
extensions: { permanentDelegate: true, transferHook: false },
});
// Operations
await stable.mint({ recipient, amount: 1_000_000, minter });
await stable.compliance.blacklistAdd(address, "Sanctions match"); // SSS-2
await stable.compliance.seize(frozenAccount, treasury); // SSS-2
const supply = await stable.getTotalSupply();
Document - README.md
Contents - Overview, quick start, preset comparison, architecture diagram
Document - ARCHITECTURE.md
Contents - Layer model, data flows, security mode
Document - SDK.md
Contents - Presets, custom configs, TypeScript examples
Document - OPERATIONS.md
Contents - Operator runbook (mint, freeze, seize, etc.)
Document - SSS-1.md
Contents - Minimal stablecoin standard spec
Document - SSS-2.md
Contents - Compliant stablecoin standard spec
Document - COMPLIANCE.md
Contents - Regulatory considerations, audit trail format
Document - API.md
Contents - Backend API reference
Unit tests for all instructions and SDK functions. Integration tests per preset (SSS-1: mint โ transfer โ freeze; SSS-2: mint โ transfer โ blacklist โ seize). Fuzz tests via Trident. Preset config tests. Stress-tested Devnet deployment with example operations.
SSS-3 Private Stablecoin โ Confidential transfers + scoped allowlists. Experimental โ tooling is still maturing. Document as proof-of-concept.
Oracle Integration Module โ Switchboard oracle feeds for non-USD pegs (EUR, BRL, CPI-indexed). The token is pure SSS-1/SSS-2, the oracle is a separate program for mint/redeem pricing.
Interactive Admin TUI โ Terminal UI for real-time monitoring and operations.
Example Frontend โ Simple UI using the TypeScript SDK for stablecoin creation and management.
Criteria - SDK Design & Modularity
Weight - 20%
Description - Clean layer separation, configurable presets, custom config support
Criteria - Completeness
Weight - 20%
Description - All required deliverables functional (SDK + SSS-1 + SSS-2)
Criteria - Code Quality
Weight - 20%
Description - Clean, documented, follows Anchor/Solana best practices
Criteria - Security
Weight - 15%
Description - Access control, feature gating, no vulnerabilities, audit trail
Criteria - Authority
Weight - 20%
Description - Your credentials as a solana/web3 engineer
Criteria - Usability and Documentation
Weight - 5%
Description - CLI/SDK intuitive, good DX, clear preset workflows + Standard specs, operator guides, SDK reference
Criteria - Bonus
Weight - Up tp 50%
Description - How gracefully you've delivered the extra features
Submit PRs to github.com/solanabr/solana-stablecoin-standard.
A single PR with the full SDK + SSS-1 + SSS-2 is fine. Prize based on total value contributed.
Each PR must include:
All source code
Working tests
Devnet deployment proof (Program ID + example transactions)
Documentation
Docker setup for backend (docker compose up)
Iterate on feedback โ PRs that evolve score higher.
Post a 2-to-5 minute video to X explaining what you've implemented and what you believe are the strongest points of your submission. Make sure to tag @SuperteamBR.
Submission Deadline: 21 days from listing
Review Period: 10 days after deadline
Winner Announcement: Within 14 days after deadline
Reference: Solana Vault Standard โ quality and structure benchmark
Token-2022: Token Extensions ยท Permanent Delegate ยท Transfer Hook ยท Confidential Transfers
Stablecoin Reference: USDC on Solana ยท GENIUS Act Compliance
Solana: Anchor Docs ยท Solana Cookbook
Submissions must be original work
Winning submission may be extended into production by Superteam
Non-winning submissions remain property of the builder
Code licensed under MIT
Judges' decisions are final
GitHub: Open an issue, tag @kauenet in your PR or dm
Discord: discord.gg/superteambrasil
Twitter: @SuperteamBR @kauenet
Skills Needed: Rust, Anchor, TypeScript, Backend Development, Token-2022
Eligibility: Global
SKILLS NEEDED
Blockchain
Backend
CONTACT
Reach outif you have any questions about this initialBounty
WINNER ANNOUNCEMENT BY