Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Mutav Pulse — solvency-gated tokenized reserve vault for SGR rental guarantees (Stellar Pulso hackathon). Diversified yield across DeFindex/Soroswap/Blend.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Mutav is an institutional guarantor (fiador institucional) for Brazilian rentals: instead of a personal co-signer or a multi-month deposit, Mutav backs your lease itself — provably, from a tokenized USDC reserve on Stellar whose solvency anyone can verify onchain.
PULSO Hackathon submission (Brazil track) · Stellar / Soroban · live on testnet Built by the mutav team — Draau (CEO) & Julia (CTO). Org:
mutav-finance.
stable_assets ≥ coverage_required) enforced re-entrancy-safely — the policy reduces coverage before the vault disburses, dodging a Soroban re-entrancy trap.adapter-defindex is live and load-bearing on the MUSD reserve — idle reserve capital flows into a real DeFindex vault (created via their testnet factory) and back, proven on-chain (proof of operation). That mock-asset vault holds cUSD idle (no Blend pool exists for it), so no external yield accrues yet, and the other two reserves still run a mock — wiring the real USDC Blend vault is the next step (see Roadmap).In Brazil, you cannot sign a lease without a rental guarantee (garantia locatícia) — it is mandatory by law. Every lease must be backed by one of a few legally-recognized forms: a personal guarantor (fiador), a deposit of up to three months' rent, seguro-fiança (guarantee insurance), or a título de capitalização (a capitalization bond). This locks up tenant capital, excludes the many renters with no wealthy guarantor to offer, and still leaves landlords exposed when a tenant defaults. And every one of these options is opaque: a landlord has no way to verify that the guarantee behind their lease is actually solvent.
Mutav is a fiador institucional — an institutional guarantor. Instead of forcing a tenant to find a personal fiador or lock up a multi-month deposit, Mutav provides the fiança itself: it stands as guarantor on the lease and pays the landlord if the tenant defaults. Fiança is one of the legally-recognized forms and the lightest to launch — unlike SUSEP-regulated seguro-fiança insurance, it needs no insurance license. It's the entry point; the model can expand into adjacent guarantee products later. The twist: Mutav's fiança is backed by an onchain, solvency-verifiable reserve — a landlord can confirm in real time that the guarantor behind their lease is solvent, which no personal fiador or opaque insurer can offer.
Mutav Pulse is a proof of concept of that decentralized guarantee system. It implements MUTAV's financial core on Stellar testnet: the tokenized reserve that backs the fiança, makes its solvency verifiable onchain, and pays out defaults — proving the guarantee can run transparently and trust-minimized, instead of on an opaque institutional balance sheet. Two surfaces sit on top: the MUTAV Reserve investor app and the MUTAV Protocol operator cockpit.
A reserve of USDC on Stellar — held by the vault contract — that is provably always able to cover the fianças Mutav has written:
MUSD vault shares (a tokenized position — each reserve mints a per-currency share; MUSD is the USD reserve). Their capital is what backs the fianças, and it earns yield.cover_default) — one month of rent at a time, and stops paying out the moment a fiança falls behind on fees.stable_assets ≥ coverage_required is enforced onchain on every payout and every redemption. Only surplus capital (free_capital = stable_assets − coverage_required) can ever leave the reserve — an onchain anti-bank-run guarantee.The proof is public. The /earn/transparency dashboard shows a live solvency chip, coverage metrics, and the full guarantee registry — and every number on screen links back to its onchain source. Nothing to take on trust.
Why "Pulse": the reserve runs on a constant pulse of liquidity — fees in, default payouts out, redemptions clearing from surplus — metered beat by beat through the redemption queue.
The integration is the product — every core operation is a Soroban contract call; the frontend holds no keys and signs nothing server-side.
contracts/, Rust)A modular, single-responsibility design — custody, data, and the underwriting model are split by how often each is expected to change, so the monetary model can evolve without ever touching the contract that holds the money. Contracts are wired by setters at deploy time (bootstrap.sh), never constructor-baked, and every contract is upgradeable (admin-gated upgrade(wasm_hash)).
| Contract | Responsibility |
|---|---|
vault | Custody — USDC funds, tokenized per-currency shares (MUSD for the USD reserve; OpenZeppelin fungible token, virtual-offset anti-inflation), NAV, surplus-gated redemption queue, strategy allocator. SEP-0056 (Tokenized Vault Standard) surface — note withdraw/redeem are intentionally disabled in favor of the async redemption queue (a conformant "withdrawals-gated" configuration). |
policy | Underwriting brain — fee model, coverage math, cover_default. Swappable without moving funds. |
registry | Writer-gated typed store of guarantee records. |
strategy (trait) + adapter-defindex | Yield venues. adapter-defindex integrates DeFindex, a Stellar DeFi yield protocol — invest deposits idle reserve into a DeFindex vault, balance values the position in real time, divest withdraws. Live and load-bearing on the MUSD reserve against a real DeFindex vault, with the full deposit→withdraw round-trip proven on-chain. |
interfaces | Shared cross-contract client traits + the Guarantee type. |
The safety spine (three onchain authority rules):
vault — disburse / collect_fee callable only by the registered policy.policy — registry mutators are writer-gated.stable_assets ≥ coverage_required on every disburse and every redemption.Technical depth worth noting:
vault.disburse, so the vault never has to call back into a policy already on the stack (a Soroban re-entrancy trap). Exercised by the full-default-path test in contracts/policy/src/test_system.rs.contracts/vault/src/test.rs).MUSD share token, with a dedicated test.Full protocol documentation — concepts, contract reference, the security model, and guides — lives in docs/. The build-evolution history is preserved in the git log.
Why this matters for Stellar: Mutav Pulse is a reusable, solvency-gated RWA vault primitive on Soroban — the first onchain fiança for Brazil's mandatory-guarantee rental market. It brings a real LATAM cash-flow use case onchain and contributes a SEP-0056-aligned, strategy-pluggable vault pattern other builders can fork.
adapter-defindex live and load-bearing on the MUSD reserve against a real DeFindex vault (created via their testnet factory), with a deposit→withdraw round-trip proven on-chain. The mock-cUSD vault holds funds idle (no Blend pool), so real yield + the other two reserves are the next step (see Roadmap).frontend/, Next.js 16)The MUTAV Reserve investor app (/earn deposit·redeem, /earn/transparency proof dashboard — which now also hosts the yield-venue directory) + the admin-gated MUTAV Protocol operator cockpit (/protocol). Stellar Wallets Kit for signing; typed bindings generated directly from the deployed contracts. See frontend/README.md.
Deployed and wired on Stellar testnet (RPC https://soroban-testnet.stellar.org) — three reserves live: MUSD (USD · cUSD), MTESOURO (Brazilian treasury · cTSR), and MBRL (BRL-native · cBRL). Each is its own contract set (vault + policy + registry) and carries a synthetic demo state (for demonstration, not real traction); the primary MUSD reserve holds ~$305k with ~$144k coverage reserved behind its guarantee book.
Primary reserve (MUSD) below; the full address set for all three reserves + their assets is in docs/reference/deployments.md.
| Contract | Address | Verify |
|---|---|---|
| vault | CA26WJGO5MINAT47DCGMU54HYW5A3RQ7VSE4ANPCYYA4TGXTJZQJ5EZQ | stellar.expert |
| policy | CBC2IJHH3FQMIQETFYDIEQG7OFJXTRKKLJDDONQ6N47AB3HLWWEIZQVO | stellar.expert |
| registry | CDJYJLUJL55SFD5YPSEKH6IZN3XRPLOCSFG33LDXOHEI2JY2ILITUSZ4 | stellar.expert |
The MUSD vault settles in the cUSD SAC CAWAVKYQ5AFSM3PVEZ4COPMBCOQDRCNB4LVGDOZ6GWX5ZK6OQJZTEDAH. The three deposit tokens (cUSD / cTSR / cBRL) are mock testnet assets issued by GA6LJT75ZRW3GWJ3NUQFBIL7CL66ITLT5BS35ZA7E7G35IOMGTSFJRIO.
Proof of operation — verify the protocol actually runs onchain, not just deployed.
1. The guarantee lifecycle (the protocol itself) — underwrite a fiança → collect the premium → pay out both coverage legs to a real landlord, live on the MBRL (cBRL) pilot reserve. Landlord GAEILCIV…R2LB received 3,000 cBRL across the two payouts:
| Operation | What it proves | Transaction |
|---|---|---|
sign_guarantee | underwrite a fiança (solvency-gated) | ff173e3c |
pay_fee | premium collected → accrues to NAV | 05bddeb1 |
cover_exit | property-recovery payout — 1,000 cBRL → landlord | 18cfe2d0 |
cover_default | rent-arrears payout — 2,000 cBRL → landlord | 5aa4b5bc |
2. The yield integration (DeFindex) — the MUSD reserve routes idle capital through our audited adapter-defindex into a real DeFindex vault (created via DeFindex's testnet factory over our cUSD) and back:
| Operation | What it proves | Transaction |
|---|---|---|
create_defindex_vault | DeFindex factory creates our cUSD vault | 66d249ad |
rebalance | ~454k cUSD allocated INTO the DeFindex vault | 9402013f |
process_redemptions | ~95k cUSD divested back OUT of DeFindex | 7fa65a91 |
Full operation list (deploy, wiring, async redemption, governance) and contract addresses: docs/reference/proof-of-operation.md.
🌐 Live demo: pulse.mutav.finance
MUTAV is built directly against the two sides of the Brazilian rental market it serves:
Full write-ups, methodology, and the investor interview guide are in docs/resources/customer-discovery.md.
# Contracts — test + build (use the Stellar CLI, NOT `cargo build --release`;
# soroban-sdk 26.1 spec-shaking needs the CLI)
cargo test # 135 unit tests
stellar contract build
# Frontend
cd frontend
cp .env.example .env.local # pre-filled with the live testnet contract IDs above
bun install
bun dev # → http://localhost:3000/earn
Redeploy + reseed from scratch: bootstrap.sh deploys + wires every contract; seed.sh restores the demo state. See the Quickstart and Deploying & wiring guides for detail.
Full protocol docs are in docs/:
contracts/ Soroban smart contracts (Rust workspace)
vault/ policy/ registry/ interfaces/ strategy/
adapter-defindex/ mock-strategy/ mock-policy/ mock-defindex/
frontend/ Next.js 16 investor app + /protocol operator cockpit
docs/ protocol documentation (overview, concepts, guides, reference, security)
model/ economic model (mutav_model.py) backing the docs economic-model page
PRODUCT.md product brief: users, purpose, design principles
Soroban (soroban-sdk 26.1) · Rust · OpenZeppelin Stellar contracts · DeFindex · Stellar Wallets Kit · Next.js 16 · TypeScript · Bun · Tailwind v4 · Stellar CLI.
PULSO Hackathon · Brazil track · team of 2 (both based in Brazil 🇧🇷).
The strategy allocator is a trait, so new yield venues plug in without touching custody:
adapter-defindex is already live and load-bearing on the MUSD reserve against a real DeFindex vault (proof), but that vault holds cUSD idle because no Blend pool exists for a mock asset. Next: stand up a reserve over real testnet USDC wired to DeFindex's USDC Blend vault so real yield flows into NAV, and extend the live adapter to the MTESOURO / MBRL reserves (which still run mocks).Strategy trait (listed as Planned in the venue directory on /earn/transparency); add a max_volatile_bps cap when the first volatile venue lands.max_slippage_bps): the live idle-vault round-trip cleared it, but fee/rounding behavior on a real yield-bearing Blend vault is not yet characterized, and an authorize_as_current_contract deposit-auth fix (surfaced only against the live vault) should be locked in with a no-mock-auth regression test before any mainnet deploy.MIT © 2026 Mutav (mutav-finance).
Mutav Pulse is a hackathon proof of concept of MUTAV's decentralized guarantee system, on Stellar testnet — not coupled to mutav's audited production mutav-stellar Fund. Built to demonstrate the integration and the trust-minimized guarantee model.