Skip to content

credit-markets/frontier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Credit Markets — The On-Chain Credit Primitive for Solana

Solana Frontier Hackathon

Live demo: staging.credit.markets | SVS-11 (Devnet): Bf17gDR...ZFW


The Problem

Over $5.7 trillion in real-world credit assets across emerging markets remain trapped by local friction. Fragmented legal frameworks, currency conversion barriers, and no standardized infrastructure to connect local origination with global institutional capital.

SMEs overpay for working capital while global investors struggle to access reliable yield backed by real cash flows. The capital exists. The demand exists. The infrastructure does not.

Brazil alone represents a $593B MSME credit gap — yet its receivables show institutional-grade performance (0.66% default rate) and its FIDC market ($170B AUM, 30% YoY growth) proves the asset class works. High banking spreads reflect structural concentration, not credit risk, creating immediate value for infrastructure that improves efficiency.

Brazil's CVM Resolution 88, CMN 4,373, and Law 14,430 created compliant pathways for tokenized credit. Latin America stablecoin volumes grew from $1B to $6B in 2024-2025. The regulatory pathways exist, the settlement rails work — what's missing is the standardized credit primitive that connects them.

What's missing is the regulated infrastructure layer — not another lender, but the rails connecting local receivables to global funding. And on Solana specifically, no one has built the credit primitive that institutional capital actually needs: compliance enforced at the token layer, lifecycle that matches how regulated funds operate, and a composable share design that lets DeFi compose with regulated assets without rebuilding compliance.


The Solution

Credit Markets provides institutional access to asset-backed private credit in emerging markets — structuring and standardizing local credit into globally investable assets, settled on Solana.

We built the full stack: an on-chain vault standard (SVS-11), four supporting on-chain programs that compose with it, a platform for pool lifecycle management, and a proprietary risk model. All designed for regulated institutional use, all open source.

What We Built

  • SVS-11 CreditVault — A new Solana Vault Standard variant we implemented specifically for institutional credit (see below). Open source, Token-2022 native.
  • compliance-hook — Token-2022 TransferHook program implementing the compliance gate at the token layer: sanctions screening, frozen-account checks, attestation validation. Permissioned + freely-transferable modes via per-mint MintConfig.
  • nav-oracle — Per-pool on-chain NAV account that the SVS-11 program reads at every approve_deposit / approve_redeem. Our publisher signs every update and ties it back to the underlying loan tape, so any auditor can check a historical NAV against what was actually in the book.
  • derwa-wrapper — Permissioned cPOOL ↔ freely-transferable dePOOL wrap/unwrap. Enables institutional shares to flow into Solana DeFi (Kamino, Loopscale, Orca) while preserving the same compliance attestation downstream.
  • mock-sas — Reference attestation provider implementing the on-chain Attestation account format. Production deployments swap this for any SAS-compatible provider (Civic Pass, Solana Attestation Service, Sprout, custom).
  • Full-stack platform — Manager dashboard, investor marketplace, portfolio tracking, admin panel (15 NestJS modules, 75+ React Query hooks).
  • KYB/KYC verification with on-chain attestation — composable with any KYC provider.
  • Proprietary risk model — Ensemble ML pipeline scoring ~5,100 Brazilian FIDCs from CVM/BACEN regulatory filings (EFA + XGBoost + panel models, validated against fund returns).
  • Compliance + audit tooling — Account freezing, vault pause, investment windows, append-only signed event log with verifiable export, Squads V4 multi-sig governance.

SVS-11: Bringing ERC-7540 to Solana for Institutional Credit

We implemented SVS-11 — a new variant of the Solana Vault Standard, which is a standards-aligned architectural port of ERC-4626 adapted for Solana's account model.

The SVS family (SVS-1 through SVS-12) covers the full spectrum from permissionless DeFi vaults to tranched structured products. SVS-11 is purpose-built for institutional credit — it extends the base standard with async approval flows (ERC-7540), oracle-driven NAV, KYC enforcement, and compliance controls that ERC-4626 and existing SVS variants don't provide:

SVS-1/2 (DeFi Vaults) SVS-11 (Credit Markets)
Deposit Direct (1 TX) Request → Approve → Claim (ERC-7540 async, manager-gated)
NAV Pricing Vault balance (ERC-4626 style) Oracle price-per-share (dynamic yield realization)
KYC None Built-in attestation — validated on every privileged step
Compliance N/A Per-investor freeze, vault pause, investment windows
Capital Vault-only Manager draw_down / repay (real-world lending model)
Roles Authority Authority + Manager + Attester + Investor

Full SVS-11 Instruction Set

Pool:        initialize_pool · open/close_investment_window · pause · unpause
Invest:      request_deposit → approve_deposit → claim_deposit | reject | cancel
Redeem:      request_redeem → approve_redeem → claim_redeem | reject | cancel
Capital:     draw_down · repay
Compliance:  freeze_account · unfreeze_account · bootstrap_shares_compliance
Governance:  transfer_authority · set_manager · update_attester · update_oracle_config · set_oracle_source

Investment Flow

Investor (USDC)                    Manager                         Investor (cPOOL)
      │                               │                                  │
      ├── request_deposit ───────────►│                                  │
      │   (locks USDC in vault)       │                                  │
      │                               ├── approve_deposit ──────────────►│
      │                               │   (reads oracle NAV,             │
      │                               │    computes shares)              ├── claim_deposit
      │                               │                                  │   (mints Token-2022 share)
      │                               │◄── request_redeem ──────────────┤
      │                               │    (locks shares in escrow)      │
      │◄── claim_redeem ──────────────┤── approve_redeem                 │
      │    (receives USDC)            │   (burns shares, transfers USDC) │

Every privileged interaction validates the investor's on-chain attestation account (issuer, expiry, revocation status) — composable with any provider (Civic Pass, SAS, Sprout, custom).

Full SVS-11 specification: solana-vault-standard/docs/SVS-11.md


Composability — How Regulated Credit Enters Solana DeFi

cPOOL is permissioned by design — every holder is KYB-verified, every transfer is screened by the compliance hook. That's what institutional capital needs.

But permissioned shares can't compose with the rest of Solana DeFi. So we built the bridge:

   cPOOL (permissioned)                   dePOOL (freely-transferable)
   ──────────────────                     ────────────────────────────
   ┌────────────────┐    wrap (escrow)    ┌────────────────────────┐
   │ Token-2022     │ ─────────────────►  │ Token-2022             │
   │ + ComplianceHk │                     │ + ComplianceHk         │
   │ Permissioned   │ ◄─────────────────  │ FreelyTransferable     │
   └────────────────┘    unwrap (release) └────────────────────────┘
                           ↓ (only to attested
                              destinations)

When a pool reaches sufficient liquidity, the manager enables the deRWA wrapper:

  • wrap_to_depool — escrows permissioned cPOOL in the wrapper PDA, mints dePOOL 1:1
  • unwrap_from_depool — burns dePOOL, releases cPOOL only to an attested destination

The compliance attestation follows the asset because both mints share the same Token-2022 architecture and the same compliance hook. Sanctions and AML constraints survive composability.

This unlocks:

  • Secondary market on a DEX (Orca, Raydium)
  • Collateral on Kamino or Loopscale to borrow against the position
  • Leverage strategies built on top of the wrapped share
  • Future SVS-12 tranching for senior/junior structured products

DeFi protocols don't need to rebuild compliance. They inherit the boundary by holding the token.


Architecture

┌─────────────────────────────────────────────────────────────────────┐
│                     Frontend (Next.js 15)                           │
│  App Router · React 18 · Tailwind/NextUI · TanStack Query           │
│  Dynamic Labs (wallet + social login) · Solana Web3.js              │
└──────────┬──────────────────────┬───────────────────────┬──────────┘
           │ REST API             │ JWT (httpOnly cookie)  │ On-chain
           ▼                      ▼                        ▼
┌──────────────────────────────────────────┐    ┌─────────────────────┐
│           Backend (NestJS 11)            │    │  Solana (Devnet)    │
│                                          │    │                     │
│  Auth ─► JWKS verification (no secrets)  │    │  SVS-11             │
│  Pools ─► lifecycle + on-chain deploy    │◄──►│  Compliance-Hook    │
│  Portfolio ─► positions + history        │    │  NAV Oracle         │
│  KYB ─► institutional verification       │    │  deRWA Wrapper      │
│  Risk ─► ML pipeline scores + alerts     │    │  Mock-SAS           │
│  Compliance ─► freeze, pause, audit      │    │                     │
│  Audit ─► Signed CSV exports             │    └─────────┬───────────┘
└──────────────────┬───────────────────────┘              │
                   │                            ┌─────────▼───────────┐
        ┌──────────▼──────────┐                 │  Helius Webhooks    │
        │  Supabase           │                 └─────────────────────┘
        │  PostgreSQL + RLS   │
        │  Storage buckets    │
        └─────────────────────┘
Layer What it does
Settlement SVS-11 vaults on Solana — USDC deposits, Token-2022 share mints with compliance hooks, signed NAV oracles
Execution NestJS backend — pool lifecycle, manager workflows, append-only signed event log, audit export
Analytics Proprietary risk pipeline — CVM/BACEN data → ensemble ML scoring → Supabase risk tables

Full architecture deep-dive: ARCHITECTURE.md


Tech Stack

Layer Technology
On-chain Rust, Anchor 0.31, Solana, Token-2022, SPL Transfer Hook
Frontend Next.js 15 (App Router), TypeScript, Tailwind, NextUI, TanStack Query
Backend NestJS 11, TypeScript, Supabase (PostgreSQL + Storage)
Auth Dynamic Labs (wallet + social), JWKS verification (RS256)
Risk Python, scikit-learn, XGBoost, panel econometrics (CVM/BACEN data)
Indexing Helius webhooks, Supabase Realtime
Multi-sig Squads V4 (Protocol Guardian, Ops Guardian, Emergency Guardian)

Repository Structure

frontier/
├── app/                    # Frontend — Next.js 15
├── backend/                # Backend — NestJS 11
├── programs/               # SVS-11 + supporting programs — Anchor (submodule)
│   ├── programs/svs-11/             # Credit vault standard
│   ├── programs/compliance-hook/    # Token-2022 TransferHook backend
│   ├── programs/nav-oracle/         # Signed NAV publisher
│   ├── programs/derwa-wrapper/      # cPOOL ↔ dePOOL wrapper
│   └── programs/mock-sas/           # Reference attestation provider
├── ARCHITECTURE.md         # Full technical architecture
└── README.md
git clone --recurse-submodules git@github.com:credit-markets/frontier.git
cd frontier

# Backend (start first)
cd backend && pnpm install && pnpm dev   # http://localhost:3030 (Swagger: /api)

# Frontend
cd app && pnpm install && pnpm dev       # http://localhost:3000

# Programs (build + test)
cd programs && anchor build && anchor test

Deep Dives


Links

Resource URL
Live Demo staging.credit.markets
SVS-11 Program (Devnet) Explorer
Solana Vault Standard credit-markets/solana-vault-standard
Frontend credit-markets/app
Backend credit-markets/backend-node
Upstream SVS solanabr/solana-vault-standard

License

  • Platform (app, backend, repo root): MIT — see LICENSE
  • On-chain programs (programs/ submodule): Apache 2.0 — matches upstream Solana Vault Standard

Everything in this submission is permissively licensed for any Solana builder to fork, extend, or compose with.

Releases

No releases published

Packages

 
 
 

Contributors