Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
중간 회랑 화물 지연 보장: Solana Devnet 에스크로 계약이 카스피안 항구 체류 72시간 초과 시 지급
Parametric cargo delay cover for the Middle Corridor: an escrow contract on Solana Devnet pays when Caspian port dwell time exceeds 72 h.
금융TypeScript · CSSGitHub @s0nakh온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Parametric cargo delay-cover protocol on Solana
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Predictive Risk Analytics & Parametric Settlement Protocol for Middle Corridor (TMTM) Logistics on Solana
SilkSol AI is a B2B dApp MVP combining telemetry risk analytics with automated Solana smart contracts to demonstrate instant delay mitigation and dispute resolution along the Trans-Caspian International Transport Route (TMTM / Middle Corridor).README 전문 보기 ↗SilkSol AI is a B2B dApp MVP combining telemetry risk analytics with automated Solana smart contracts to demonstrate instant delay mitigation and dispute resolution along the Trans-Caspian International Transport Route (TMTM / Middle Corridor).
Traditional supply chain insurance claims take 60–90+ days due to manual paperwork and dispute resolution. SilkSol AI demonstrates how verified telemetry feeds trigger automated, rule-based USDC payouts via non-custodial Solana Escrow Vaults, Payouts in KZTE, the tenge stablecoin on Solana, are a planned direction to explore.
tx: link to see it in Solana Explorer, including the memo SilkSol AI | Parametric payout | Cargo #JOL-8921 | Delay 96h > 72h | …. Now select #TRK-7782 (dwell 18 h) and click Review settlement again: the escrow program refuses the claim (NotEligible), and nothing is paid.Without a wallet everything still works in demo mode with clearly labelled simulated transactions.
[IoT Sensors / GPS Trackers / Railway Telemetry]
│ (Simulated Telemetry API / Webhooks)
▼
╔═════════════════════════════════════════════════════════╗
║ 1. Predictive Risk Engine (Analytics & Scoring) ║
║ • Dynamic Risk Indexing & Delay Forecasting Logic ║
╚═════════════════════════════════════════════════════════╝
│ (Risk Score Payload / Signed Feeds)
▼
╔═════════════════════════════════════════════════════════╗
║ 2. Solana Blockchain Layer (Devnet Smart Contracts) ║
║ • Compressed NFTs (cNFT): Immutable Freight Logs ║
║ • Program Escrow Vault: Automated Collateralized USDC ║
║ • Deterministic Settlement: Parametric Trigger Logic ║
║ • KZTE Payouts: Tenge Stablecoin (to be explored) ║
╚═════════════════════════════════════════════════════════╝
│ (Web3 Wallet RPC / Program Logs)
▼
╔═════════════════════════════════════════════════════════╗
║ 3. Enterprise Frontend Dashboard (React / Tailwind) ║
║ • Real-Time Container Tracking & Interactive Maps ║
║ • Dual-Currency Escrow & Settlement Audit Logs ║
╚═════════════════════════════════════════════════════════╝
dwell_time > threshold).The parametric core runs on Solana as the Anchor program silksol_escrow — program ID Gu7gKXNn…Ar9Z.
initialize_vault → submit_telemetry → evaluate_trigger (dwell_time > threshold) → settle_payout → close_vault
With Phantom/Solflare connected on Devnet, roles are split as in production: the SilkSol AI insurer treasury (LxtEpBFN…mv7C) locks collateral, a separate oracle key (GKu4Dmw4…6RDe) signs the dwell-time telemetry in a serverless function, and the connected wallet is the beneficiary that receives the payout (0.01 Devnet SOL as a USDC stand-in). The program enforces the split: it rejects a vault whose oracle is the insurer, and the insurer cannot reclaim collateral before the cover period (coverage_end) ends. Every transaction carries an SPL Memo (SilkSol AI | Parametric payout | Cargo #… | Delay 96h > 72h | Policy … | Report sha256:…), so it is self-describing in Explorer. cNFT audit logs are simulated; KZTE amounts are shown for illustration only. Specs: CONTRACT_SPECS.md.
cd anchor && anchor build
solana-test-validator --reset --bpf-program Gu7gKXNnp95qTvaDwoq3NB9JCqBQLmriHQgKrFzJAr9Z target/deploy/silksol_escrow.so &
node --test --experimental-strip-types tests/*.test.ts # 13 program tests
@solana/web3.js, @solana/wallet-adapter-reactoracle/)| Check | Result |
|---|---|
Solana program tests (local validator, anchor/tests) | ✅ 13 / 13 passed |
| E2E suite against a local build | ✅ 17 / 17 passed |
| E2E suite against the live dApp (silksol.datariglab.kz) | ✅ 17 / 17 passed |
| Production build & TypeScript type-check | ✅ Passed |
| Program deployed to Devnet | ✅ Gu7gKXNn…Ar9Z |
| Insurer payout to a user wallet with memo (Review settlement), signed by the insurer and the separate oracle key | ✅ payout tx (+0.01 SOL to the beneficiary) |
| Live insurer/oracle (silksol-oracle.netlify.app): lock collateral → oracle trigger → payout (#KZL-4107, 110h > 72h) | ✅ lock tx · payout tx |
| Program refuses a vault whose oracle is the insurer; refuses #TRK-7782 (18h ≤ 72h) | ✅ OracleIsInsurer · NotEligible (simulated on Devnet, nothing lands) |
A Playwright suite (17 tests, e2e/dashboard.spec.ts) drives the dApp in a real Chromium browser exactly as a judge would — no browser wallet, so every signature takes the dApp's simulated Devnet path and no funds move. A ready-to-run GitHub Actions workflow is included.
| Suite | Coverage |
|---|---|
| Dashboard & Telemetry | Demo disclaimer, KPI metrics, Middle Corridor route stops, Aktau congestion alert, the selected cargo's oracle dwell time against the 72 h trigger. |
| Web3 Wallet (demo mode) | Phantom / Solflare Devnet wallet menu and graceful fallback to simulated signatures. |
| Cargo Filters | In Transit / High Risk Delay / Escrow Triggered filters isolate the right shipments. |
| Parametric Policy Lifecycle | Issue → Lock Collateral & Sign → Trigger Oracle Event → Claim Paid Out (2,500 Demo USDC ≈ 1,250,000 KZTE, illustrative); the trigger is refused for a cargo under 72 h; premium = AI chance of delay at departure × payout + 25% loading. |
| Autonomous Settlement | Review settlement acknowledges the 2,500 Demo USDC payout and settles the cargo selected in the table, not a fixed one; a cargo under the threshold gets no payout. |
| Caspian Risk Vault | Demo USDC deposit updates stake; amounts above the wallet balance are rejected. |
| cNFT Audit Trail | Each policy event is logged as a compressed Merkle checkpoint (leaf + root). |
| On-chain Escrow Program | Policy panel links to the deployed Devnet program and shows its live status. |
Run the suite:
npx playwright install chromium # one-time browser download
npm run test:e2e # against a local dev server (started automatically)
npm run test:e2e:live # against the live dApp at silksol.datariglab.kz
Market data sources. The corridor figures in the pitch deck (and the TAM / SAM / SOM sizing built on them) come from public sources:
Global Web3 benchmarks. Parametric cover on-chain is proven in other verticals: Etherisc (flight-delay and crop insurance), Arbol (parametric weather cover), Nayms (regulated on-chain insurance marketplace). SilkSol AI applies the same model to a corridor nobody covers: Caspian port dwell times (Aktau, Kuryk, Baku), with an AIFC sandbox path and tenge (KZTE) payouts planned.
Business model & risk capital.
Known limitations of the MVP.
OracleIsInsurer), but both keys are still run by one operator (SilkSol AI). Next: an independent oracle (port/rail data provider), then a multi-signer oracle network.coverage_end). Vaults that were locked but never triggered stay open until then; oracle/reclaim-expired.ts returns their collateral to the treasury afterwards.7u1Hy…bAJG, so whoever holds it could change the rules. Before Mainnet the upgrade authority moves to a multisig (e.g. Squads) with a time delay, and after an audit the program is frozen (no upgrade authority), so the rules a shipper buys cannot change under them.oracle/netlify/functions/monitor.mjs, Netlify scheduled function, 09:00 Aqtau) reads the treasury balance, open escrow vaults and the live dApp, and sends a 🟢/🔴 report to the maintainer's Telegram; below 1 SOL it raises an urgent top-up alert. Read-only: it holds no keys.How the premium is priced. At departure the AI forecasts the chance that the cargo's port dwell will exceed 72 h. Premium = chance × payout + 25% insurer loading (expenses, capital, profit). For #JOL-8921: 20% × 2,500 = 500 expected loss, plus 25% = 625 Demo USDC. The live "AI risk" in the dashboard (68% for #JOL-8921 today) is the risk after the cargo got stuck, and cover is never priced on it: nobody can cheaply insure a house that is already on fire. Code: premiumFor. The payout stays a plain on-chain rule (dwell_time > threshold); the AI never decides a claim.
Known weak spots of parametric cover and how we handle them
| Risk | Example | How SilkSol AI handles it | Status |
|---|---|---|---|
| Payout without a loss | Cargo dwelled 73 h, the shipper lost nothing | Sold as cover for frozen cash, not as cargo insurance. The shipper sets the payout from their own cost of delay (demurrage, financing, penalties). Each policy is tied to a real shipment (bill of lading) and capped at its declared value. | 📄 policy terms |
| Loss without a payout | 70 h dwell, a contract was lost, no payout | Tiered payout instead of a cliff (e.g. 48–72 h 25%, 72–96 h 50%, over 96 h 100%) and a threshold the client chooses (48 / 72 / 96 h; a lower threshold costs more, priced by the same AI). SilkSol is a fast top-up next to classic cargo insurance, which still covers large losses. | 📄 next: tiers in the escrow program |
| Who vouches for the number | Insurer and data source are the same party | Today the oracle key is separate from the insurer and the program enforces it (OracleIsInsurer); every payout carries the report hash in its memo. Next: independent data (public AIS positions of Caspian ferries at Aktau and Baku, then port and rail feeds), 2-of-3 oracle signatures, and a 24 h dispute window before payout. | ✅ split keys · 📄 rest |
✅ in code · 📄 planned
| Today (Devnet MVP) | Next | Production | |
|---|---|---|---|
| Escrow | ✅ Anchor program live on Devnet, 13 program tests | Security review and audit | Mainnet deployment |
| Payout currency | ✅ Devnet SOL as a USDC stand-in | SPL USDC escrow vaults | USDC, then KZTE payouts (to be explored) |
| Oracle | ✅ Oracle key separate from the insurer, enforced on-chain | Port and rail telemetry feeds (Aktau, Baku) | Multi-signer / decentralized oracle network |
| Audit trail | 🟡 cNFT logs simulated | Real State Compression (Bubblegum) | Every cargo event logged as a cNFT |
| Risk engine | 🟡 Rule-based scoring on simulated telemetry | Historical dwell-time data from operator partners | Trained model prices premiums live |
| Regulatory | 📄 AIFC Sandbox concept | AIFC Sandbox application | Licensed insurer partner |
✅ live · 🟡 simulated · 📄 planned
Risk model plan. There is no trained model yet: no public dataset of Trans-Caspian dwell times exists. Training starts once operator partners share 12–24 months of historical port and rail events (arrival/departure times, queue length, weather, season, cargo type). For this kind of tabular data the baseline is gradient-boosted trees (e.g. LightGBM or XGBoost), validated on time-based splits so the model is always tested on future shipments. The final choice depends on the data. The model only prices premiums; payouts stay a deterministic on-chain rule (dwell_time > threshold).
dwell_time > threshold).Clone repository:
git clone https://github.com/s0nakh/silksol-ai.git
cd silksol-ai
Install dependencies:
npm install
Configure environment variables:
cp .env.example .env
# VITE_INSURER_URL points at the insurer/oracle Netlify Function (oracle/).
# Its treasury and oracle secrets are set only in Netlify, never in git.
Launch local server:
npm run dev
(Optional) Deploy your own insurer/oracle — a free Netlify Function in oracle/:
cd oracle && netlify sites:create --name <your-oracle>
netlify env:set SILKSOL_TREASURY_SECRET "$(cat <devnet-treasury-keypair>.json)"
netlify env:set SILKSOL_ORACLE_SECRET "$(cat <separate-oracle-keypair>.json)"
./build.sh && netlify deploy --prod --no-build --dir public --functions dist-functions
Copyright © 2026 SilkSol AI / s0nakh. All rights reserved. Published for demonstration and evaluation at:
🌐 Приложение · 🎥 Демо-видео · 🎤 Питч-видео · 📊 Презентация (PDF) · 📚 Документация
SilkSol AI — MVP B2B-приложения (dApp), которое объединяет аналитику рисков на основе телеметрии с автоматическими смарт-контрактами Solana. Оно показывает, как можно мгновенно компенсировать задержки грузов и разрешать споры на Транскаспийском международном транспортном маршруте (ТМТМ / Средний коридор).
Классические страховые выплаты в цепочках поставок занимают 60–90+ дней из-за ручного документооборота и споров. SilkSol AI показывает, как проверенные данные телеметрии запускают автоматические выплаты в USDC по строгим правилам через некастодиальные эскроу-хранилища Solana. В планах изучить выплаты в KZTE, тенговом стейблкоине на Solana.
tx: откроется транзакция в Solana Explorer вместе с пометкой (Memo) SilkSol AI | Parametric payout | Cargo #JOL-8921 | Delay 96h > 72h | …. Теперь выберите груз #TRK-7782 (простой 18 ч) и снова нажмите Review settlement: эскроу-программа отказывает в выплате (NotEligible), деньги не уходят.Без кошелька всё тоже работает — в демо-режиме, с явно помеченными симулированными транзакциями.
[IoT-датчики / GPS-трекеры / ж/д телеметрия]
│ (Симулированный API телеметрии / вебхуки)
▼
╔═════════════════════════════════════════════════════════╗
║ 1. Предиктивный движок рисков (аналитика и скоринг) ║
║ • Динамический индекс риска и прогноз задержек ║
╚═════════════════════════════════════════════════════════╝
│ (Оценка риска / подписанные данные)
▼
╔═════════════════════════════════════════════════════════╗
║ 2. Блокчейн-слой Solana (смарт-контракты в Devnet) ║
║ • Сжатые NFT (cNFT): неизменяемые журналы перевозок ║
║ • Эскроу-хранилище: автоматический залог в USDC ║
║ • Детерминированная выплата: параметрический триггер ║
║ • Выплаты в KZTE: тенговый стейблкоин (изучим) ║
╚═════════════════════════════════════════════════════════╝
│ (RPC кошелька Web3 / логи программы)
▼
╔═════════════════════════════════════════════════════════╗
║ 3. Корпоративный дашборд (React / Tailwind) ║
║ • Отслеживание контейнеров и интерактивная карта ║
║ • Двухвалютный эскроу и журналы выплат ║
╚═════════════════════════════════════════════════════════╝
dwell_time > threshold).Параметрическое ядро работает в Solana как Anchor-программа silksol_escrow — ID программы Gu7gKXNn…Ar9Z.
initialize_vault → submit_telemetry → evaluate_trigger (dwell_time > threshold) → settle_payout → close_vault
При подключённом Phantom/Solflare в Devnet роли разделены, как в реальной работе: казна страховщика SilkSol AI (LxtEpBFN…mv7C) блокирует залог, отдельный ключ оракула (GKu4Dmw4…6RDe) подписывает данные о простое в серверной функции, а подключённый кошелёк — получатель (beneficiary), которому приходит выплата (0.01 Devnet SOL вместо USDC). Программа сама следит за разделением ролей: отклоняет хранилище, где оракул совпадает со страховщиком, и не даёт страховщику забрать залог до конца срока покрытия (coverage_end). В каждой транзакции есть SPL Memo (SilkSol AI | Parametric payout | Cargo #… | Delay 96h > 72h | Policy … | Report sha256:…), поэтому в Explorer сразу видно, что это за операция. Журнал cNFT пока симулируется; суммы в KZTE показаны только для примера. Спецификация: CONTRACT_SPECS.md.
cd anchor && anchor build
solana-test-validator --reset --bpf-program Gu7gKXNnp95qTvaDwoq3NB9JCqBQLmriHQgKrFzJAr9Z target/deploy/silksol_escrow.so &
node --test --experimental-strip-types tests/*.test.ts # 13 тестов программы
@solana/web3.js, @solana/wallet-adapter-reactoracle/)| Проверка | Результат |
|---|---|
Тесты программы Solana (локальный валидатор, anchor/tests) | ✅ 13 / 13 пройдено |
| E2E-набор на локальной сборке | ✅ 17 / 17 пройдено |
| E2E-набор на живом приложении (silksol.datariglab.kz) | ✅ 17 / 17 пройдено |
| Продакшн-сборка и проверка типов TypeScript | ✅ Пройдено |
| Программа развёрнута в Devnet | ✅ Gu7gKXNn…Ar9Z |
| Выплата страховщика на кошелёк пользователя с Memo (Review settlement), подписи страховщика и отдельного ключа оракула | ✅ транзакция выплаты (+0.01 SOL получателю) |
| Живой страховщик/оракул (silksol-oracle.netlify.app): залог → триггер оракула → выплата (#KZL-4107, 110 ч > 72 ч) | ✅ залог · выплата |
| Программа отклоняет хранилище, где оракул = страховщик; отклоняет #TRK-7782 (18 ч ≤ 72 ч) | ✅ OracleIsInsurer · NotEligible (симуляция в Devnet, в сеть ничего не уходит) |
Набор Playwright (17 тестов, e2e/dashboard.spec.ts) проходит по приложению в настоящем браузере Chromium так же, как это сделал бы судья. Кошелька в браузере нет, поэтому все подписи идут по симулированному пути и деньги не двигаются. В репозитории есть готовый workflow GitHub Actions.
| Набор | Что проверяется |
|---|---|
| Дашборд и телеметрия | Демо-предупреждение, KPI, точки маршрута Среднего коридора, оповещение о заторе в Актау, простой выбранного груза по данным оракула против триггера 72 ч. |
| Web3-кошелёк (демо-режим) | Меню кошельков Phantom / Solflare для Devnet и корректный переход к симулированным подписям. |
| Фильтры грузов | Фильтры In Transit / High Risk Delay / Escrow Triggered показывают нужные грузы. |
| Жизненный цикл полиса | Выпуск → блокировка залога → событие оракула → выплата (2 500 Demo USDC ≈ 1 250 000 KZTE, для примера); отказ триггера для груза с простоем меньше 72 ч; премия = шанс задержки по прогнозу ИИ при отправке × выплата + 25% надбавки. |
| Автономная выплата | Review settlement подтверждает выплату 2 500 Demo USDC и проводит её именно по грузу, выбранному в таблице; груз ниже порога выплату не получает. |
| Caspian Risk Vault | Депозит Demo USDC обновляет долю; суммы больше баланса отклоняются. |
| Журнал cNFT | Каждое событие полиса записывается как сжатая контрольная точка Merkle (лист + корень). |
| Эскроу-программа | Панель полиса ссылается на развёрнутую в Devnet программу и показывает её живой статус. |
Запуск:
npx playwright install chromium # один раз скачать браузер
npm run test:e2e # на локальном dev-сервере (запускается автоматически)
npm run test:e2e:live # на живом приложении silksol.datariglab.kz
Источники рыночных данных. Цифры по коридору в презентации (и оценка TAM / SAM / SOM на их основе) взяты из открытых источников:
Глобальные Web3-бенчмарки. Параметрическое страхование в блокчейне уже работает в других отраслях: Etherisc (задержки авиарейсов и агрориски), Arbol (погодные параметрические покрытия), Nayms (регулируемый on-chain рынок страхования). SilkSol AI применяет ту же модель к коридору, который никто не покрывает: простои в каспийских портах (Актау, Курык, Баку), с путём через песочницу МФЦА и планами по выплатам в тенге (KZTE).
Бизнес-модель и страховой капитал.
Известные ограничения MVP.
OracleIsInsurer), но оба ключа пока у одного оператора (SilkSol AI). Дальше: независимый оракул (поставщик данных порта и железной дороги), затем сеть оракулов с несколькими подписантами.coverage_end). Хранилища, где залог заблокирован, но триггер не сработал, остаются открытыми до этого срока; потом скрипт oracle/reclaim-expired.ts возвращает залог в казну.7u1Hy…bAJG, то есть владелец ключа может поменять правила. До Mainnet право обновления перейдёт к мультиподписи (например, Squads) с задержкой по времени, а после аудита программу заморозят (без права обновления), чтобы правила, по которым грузоотправитель купил полис, нельзя было поменять задним числом.oracle/netlify/functions/monitor.mjs, запланированная функция Netlify, 09:00 по Актау) смотрит баланс казны, открытые хранилища и живое приложение и шлёт 🟢/🔴 отчёт мейнтейнеру в Telegram; если в казне меньше 1 SOL — срочное оповещение о пополнении. Только чтение: ключей у неё нет.Как считается цена полиса. При отправке груза ИИ прогнозирует шанс, что простой в порту будет больше 72 ч. Цена = шанс × выплата + 25% надбавки страховщика (расходы, капитал, прибыль). Для #JOL-8921: 20% × 2 500 = 500 ожидаемого убытка, плюс 25% = 625 Demo USDC. «AI risk» на дашборде (68% у #JOL-8921 сейчас) — это риск уже после того, как груз застрял, и цену по нему не считают: нельзя дёшево застраховать дом, который уже горит. Код: premiumFor. Выплата остаётся простым правилом в блокчейне (dwell_time > threshold), ИИ не решает, платить или нет.
Слабые места параметрической страховки и что мы с ними делаем
| Риск | Пример | Как решает SilkSol AI | Статус |
|---|---|---|---|
| Выплата без убытка | Груз простоял 73 ч, экспедитор ничего не потерял | Продукт — защита от замороженных денег, а не страховка груза. Экспедитор сам выбирает сумму выплаты по своим расходам на простой (штрафы за контейнер, кредит, неустойки). Полис привязан к реальной перевозке (накладной), а сумма не больше заявленной стоимости. | 📄 условия полиса |
| Убыток без выплаты | Простой 70 ч, контракт сорван, выплаты нет | Ступенчатая выплата вместо обрыва (например, 48–72 ч — 25%, 72–96 ч — 50%, больше 96 ч — 100%) и порог на выбор клиента (48 / 72 / 96 ч; ниже порог — дороже полис, цену считает тот же ИИ). SilkSol — быстрые деньги в дополнение к классической страховке груза, которая покрывает крупные убытки. | 📄 далее: ступени в эскроу-программе |
| Кто гарантирует число | Страховщик и источник данных — одно лицо | Уже сейчас ключ оракула отделён от страховщика, и программа это проверяет (OracleIsInsurer); в memo каждой выплаты есть хэш отчёта. Далее: независимые данные (открытые AIS-сигналы каспийских паромов в Актау и Баку, затем данные порта и железной дороги), подписи 2 из 3 оракулов и 24 часа на спор до выплаты. | ✅ раздельные ключи · 📄 остальное |
✅ в коде · 📄 в планах
| Сейчас (MVP в Devnet) | Дальше | Продакшен | |
|---|---|---|---|
| Эскроу | ✅ Anchor-программа работает в Devnet, 13 тестов программы | Ревью безопасности и аудит | Развёртывание в Mainnet |
| Валюта выплат | ✅ Devnet SOL вместо USDC | Эскроу-хранилища в SPL USDC | USDC, затем выплаты в KZTE (изучим) |
| Оракул | ✅ Ключ оракула отдельно от страховщика, проверяется в программе | Телеметрия портов и железной дороги (Актау, Баку) | Несколько подписантов / децентрализованная сеть оракулов |
| Журнал аудита | 🟡 Журнал cNFT симулируется | Настоящий State Compression (Bubblegum) | Каждое событие груза записывается как cNFT |
| Оценка риска | 🟡 Скоринг по правилам на симулированной телеметрии | Исторические данные о простоях от операторов-партнёров | Обученная модель рассчитывает премии в реальном времени |
| Регулирование | 📄 Концепция песочницы AIFC | Заявка в песочницу AIFC | Партнёр — лицензированный страховщик |
✅ работает · 🟡 симуляция · 📄 в планах
План модели риска. Обученной модели пока нет: открытого набора данных о простоях на Транскаспийском маршруте не существует. Обучение начнётся, когда операторы-партнёры предоставят 12–24 месяца истории событий в портах и на железной дороге (время прибытия и отправления, длина очереди, погода, сезон, тип груза). Для таких табличных данных базовый подход — градиентный бустинг деревьев (например, LightGBM или XGBoost) с проверкой на временных срезах, чтобы модель всегда тестировалась на будущих отправках. Окончательный выбор зависит от данных. Модель только рассчитывает премии; выплаты остаются детерминированным правилом в блокчейне (dwell_time > threshold).
dwell_time > threshold).Требования: Node.js (v18+), npm / yarn / pnpm.
git clone https://github.com/s0nakh/silksol-ai.git
cd silksol-ai
npm install
cp .env.example .env
# VITE_INSURER_URL указывает на функцию страховщика/оракула в Netlify (oracle/).
# Секреты казны и оракула хранятся только в Netlify и никогда не попадают в git.
npm run dev
oracle/:
cd oracle && netlify sites:create --name <your-oracle>
netlify env:set SILKSOL_TREASURY_SECRET "$(cat <devnet-treasury-keypair>.json)"
netlify env:set SILKSOL_ORACLE_SECRET "$(cat <separate-oracle-keypair>.json)"
./build.sh && netlify deploy --prod --no-build --dir public --functions dist-functions
Copyright © 2026 SilkSol AI / s0nakh. Все права защищены. Опубликовано для демонстрации и оценки на хакатонах:
🌐 Қосымша · 🎥 Демо-бейне · 🎤 Питч-бейне · 📊 Презентация (PDF) · 📚 Құжаттама
SilkSol AI — телеметрияға негізделген тәуекел талдауын Solana-ның автоматты смарт-келісімшарттарымен біріктіретін B2B қосымшасының (dApp) MVP нұсқасы. Ол Транскаспий халықаралық көлік бағытында (ТХКБ / Орта дәліз) жүк кешігуінің өтемін лезде төлеуге және дауларды шешуге болатынын көрсетеді.
Жеткізу тізбегіндегі дәстүрлі сақтандыру төлемдері қолмен жүргізілетін құжаттар мен даулардың салдарынан 60–90+ күнге созылады. SilkSol AI тексерілген телеметрия деректері Solana-ның кастодиалды емес эскроу қоймалары арқылы қатаң ережеге негізделген USDC төлемдерін қалай автоматты түрде іске қосатынын көрсетеді. Жоспарда Solana-дағы теңге стейблкоині KZTE арқылы төлемдерді зерттеу бар.
tx: сілтемесі транзакцияны Solana Explorer-де Memo белгісімен бірге ашады: SilkSol AI | Parametric payout | Cargo #JOL-8921 | Delay 96h > 72h | …. Енді #TRK-7782 жүгін (тұрып қалу 18 сағат) таңдап, Review settlement батырмасын қайта басыңыз: эскроу бағдарламасы төлемнен бас тартады (NotEligible), ақша жіберілмейді.Әмиянсыз да бәрі жұмыс істейді — демо-режимде, симуляция екені анық белгіленген транзакциялармен.
[IoT датчиктері / GPS трекерлер / т/ж телеметриясы]
│ (Симуляцияланған телеметрия API / вебхуктар)
▼
╔═════════════════════════════════════════════════════════╗
║ 1. Болжамды тәуекел қозғалтқышы (талдау және скоринг) ║
║ • Динамикалық тәуекел индексі және кешігу болжамы ║
╚═════════════════════════════════════════════════════════╝
│ (Тәуекел бағасы / қол қойылған деректер)
▼
╔═════════════════════════════════════════════════════════╗
║ 2. Solana блокчейн қабаты (Devnet келісімшарттары) ║
║ • Сығылған NFT (cNFT): өзгермейтін тасымал журналдары ║
║ • Эскроу қоймасы: USDC-дегі автоматты кепіл ║
║ • Детерминирленген төлем: параметрлік триггер ║
║ • KZTE төлемдері: теңге стейблкоині (зерттейміз) ║
╚═════════════════════════════════════════════════════════╝
│ (Web3 әмиян RPC / бағдарлама логтары)
▼
╔═════════════════════════════════════════════════════════╗
║ 3. Корпоративтік дашборд (React / Tailwind) ║
║ • Контейнерлерді бақылау және интерактивті карта ║
║ • Екі валюталы эскроу және төлем журналдары ║
╚═════════════════════════════════════════════════════════╝
dwell_time > threshold).Параметрлік өзек Solana-да silksol_escrow Anchor бағдарламасы ретінде жұмыс істейді — бағдарлама ID Gu7gKXNn…Ar9Z.
initialize_vault → submit_telemetry → evaluate_trigger (dwell_time > threshold) → settle_payout → close_vault
Devnet-те Phantom/Solflare қосылғанда рөлдер нақты жұмыстағыдай бөлінеді: SilkSol AI сақтандырушысының қазынасы (LxtEpBFN…mv7C) кепілді бұғаттайды, жеке оракул кілті (GKu4Dmw4…6RDe) тұрып қалу деректеріне серверлік функцияда қол қояды, ал қосылған әмиян — төлемді алушы (beneficiary) (USDC орнына 0.01 Devnet SOL). Рөлдердің бөлінуін бағдарламаның өзі тексереді: оракулы сақтандырушымен бірдей қойманы қабылдамайды және сақтандырушыға өтелім мерзімі (coverage_end) біткенге дейін кепілді қайтарып алуға жол бермейді. Әр транзакцияда SPL Memo бар (SilkSol AI | Parametric payout | Cargo #… | Delay 96h > 72h | Policy … | Report sha256:…), сондықтан Explorer-де операцияның мәні бірден көрінеді. cNFT журналы әзірге симуляция; KZTE сомалары тек мысал ретінде көрсетілген. Сипаттама: CONTRACT_SPECS.md.
cd anchor && anchor build
solana-test-validator --reset --bpf-program Gu7gKXNnp95qTvaDwoq3NB9JCqBQLmriHQgKrFzJAr9Z target/deploy/silksol_escrow.so &
node --test --experimental-strip-types tests/*.test.ts # бағдарламаның 13 тесті
@solana/web3.js, @solana/wallet-adapter-reactoracle/)| Тексеру | Нәтиже |
|---|---|
Solana бағдарламасының тесттері (жергілікті валидатор, anchor/tests) | ✅ 13 / 13 өтті |
| Жергілікті құрастырмадағы E2E жиынтығы | ✅ 17 / 17 өтті |
| Тірі қосымшадағы E2E жиынтығы (silksol.datariglab.kz) | ✅ 17 / 17 өтті |
| Продакшн құрастырма және TypeScript типтерін тексеру | ✅ Өтті |
| Бағдарлама Devnet-ке орналастырылған | ✅ Gu7gKXNn…Ar9Z |
| Сақтандырушының пайдаланушы әмиянына Memo-мен төлемі (Review settlement), сақтандырушы және жеке оракул кілті қол қойған | ✅ төлем транзакциясы (алушыға +0.01 SOL) |
| Тірі сақтандырушы/оракул (silksol-oracle.netlify.app): кепіл → оракул триггері → төлем (#KZL-4107, 110 сағ > 72 сағ) | ✅ кепіл · төлем |
| Бағдарлама оракулы сақтандырушымен бірдей қойманы қабылдамайды; #TRK-7782 бас тартады (18 сағ ≤ 72 сағ) | ✅ OracleIsInsurer · NotEligible (Devnet-те симуляция, желіге ештеңе жіберілмейді) |
Playwright жиынтығы (17 тест, e2e/dashboard.spec.ts) қосымшаны нақты Chromium браузерінде төреші сияқты тексереді. Браузерде әмиян жоқ, сондықтан барлық қолтаңбалар симуляция жолымен жүреді және ақша қозғалмайды. Репозиторийде дайын GitHub Actions workflow бар.
| Жиынтық | Не тексеріледі |
|---|---|
| Дашборд және телеметрия | Демо-ескерту, KPI, Орта дәліз бағытының нүктелері, Ақтаудағы кептеліс туралы хабарлама, таңдалған жүктің оракул деректері бойынша тұрып қалу уақыты мен 72 сағаттық триггер. |
| Web3 әмиян (демо-режим) | Devnet-ке арналған Phantom / Solflare әмиян мәзірі және симуляцияланған қолтаңбаға дұрыс ауысу. |
| Жүк сүзгілері | In Transit / High Risk Delay / Escrow Triggered сүзгілері қажетті жүктерді көрсетеді. |
| Полистің өмірлік циклі | Шығару → кепілді бұғаттау → оракул оқиғасы → төлем (2 500 Demo USDC ≈ 1 250 000 KZTE, мысал); тұрып қалуы 72 сағаттан аз жүк үшін триггер бас тартады; сыйлықақы = жөнелту кезіндегі ЖИ болжамы бойынша кешігу ықтималдығы × төлем + 25% үстеме. |
| Автономды төлем | Review settlement 2 500 Demo USDC төлемін растайды және оны кестеде таңдалған жүк бойынша жүргізеді; шектен төмен жүк төлем алмайды. |
| Caspian Risk Vault | Demo USDC депозиті үлесті жаңартады; балансынан асатын сомалар қабылданбайды. |
| cNFT журналы | Полистің әр оқиғасы сығылған Merkle бақылау нүктесі (жапырақ + түбір) ретінде жазылады. |
| Эскроу бағдарламасы | Полис панелі Devnet-тегі бағдарламаға сілтеме береді және оның тірі мәртебесін көрсетеді. |
Іске қосу:
npx playwright install chromium # браузерді бір рет жүктеу
npm run test:e2e # жергілікті dev-серверде (автоматты түрде іске қосылады)
npm run test:e2e:live # тірі қосымшада silksol.datariglab.kz
Нарық деректерінің дереккөздері. Презентациядағы дәліз көрсеткіштері (және солардың негізіндегі TAM / SAM / SOM бағасы) ашық дереккөздерден алынған:
Жаһандық Web3 бенчмарктері. Блокчейндегі параметрлік сақтандыру басқа салаларда жұмыс істеп тұр: Etherisc (рейс кешігуі және агротәуекелдер), Arbol (ауа райына байланысты параметрлік өтелім), Nayms (реттелетін on-chain сақтандыру нарығы). SilkSol AI осы модельді ешкім қамтымаған дәлізге қолданады: Каспий порттарындағы тұрып қалу (Ақтау, Құрық, Баку), AIFC құмсалғышы арқылы жол және теңгемен (KZTE) төлем жоспары бар.
Бизнес-модель және сақтандыру капиталы.
MVP-дің белгілі шектеулері.
OracleIsInsurer), бірақ екі кілт те әзірге бір операторда (SilkSol AI). Келесі қадам: тәуелсіз оракул (порт пен теміржол деректерін жеткізуші), содан кейін бірнеше қол қоюшысы бар оракул желісі.coverage_end). Кепіл бұғатталған, бірақ триггер іске қосылмаған қоймалар осы мерзімге дейін ашық қалады; одан кейін oracle/reclaim-expired.ts скрипті кепілді қазынаға қайтарады.7u1Hy…bAJG кілтінде, яғни кілт иесі ережелерді өзгерте алады. Mainnet-ке дейін жаңарту құқығы уақыт кідірісі бар мультиқолтаңбаға (мысалы, Squads) өтеді, ал аудиттен кейін бағдарлама қатырылады (жаңарту құқығынсыз), сондықтан жүк жөнелтуші сатып алған полистің ережелері кейін өзгермейді.oracle/netlify/functions/monitor.mjs, Netlify жоспарланған функциясы, Ақтау уақытымен 09:00) қазына балансын, ашық қоймаларды және тірі қосымшаны тексеріп, жүргізушінің Telegram-ына 🟢/🔴 есеп жібереді; қазынада 1 SOL-дан аз қалса, толтыру туралы шұғыл ескерту береді. Тек оқиды: онда кілттер жоқ.Полис бағасы қалай есептеледі. Жүк жөнелтілгенде ЖИ порттағы тұрып қалудың 72 сағаттан асу ықтималдығын болжайды. Баға = ықтималдық × төлем + сақтандырушының 25% үстемесі (шығын, капитал, пайда). #JOL-8921 үшін: 20% × 2 500 = 500 күтілетін шығын, оған 25% қосылады = 625 Demo USDC. Дашбордтағы «AI risk» (#JOL-8921-де қазір 68%) — жүк тұрып қалғаннан кейінгі тәуекел, баға оған қарап есептелмейді: жанып жатқан үйді арзанға сақтандыру мүмкін емес. Код: premiumFor. Төлем блокчейндегі қарапайым ереже болып қалады (dwell_time > threshold), төлеу-төлемеуді ЖИ шешпейді.
Параметрлік сақтандырудың әлсіз тұстары және оларды қалай шешеміз
| Тәуекел | Мысал | SilkSol AI қалай шешеді | Мәртебе |
|---|---|---|---|
| Шығынсыз төлем | Жүк 73 сағ тұрды, экспедитор ештеңе жоғалтпады | Өнім жүкті сақтандыру емес, тұрып қалған ақшадан қорғау. Экспедитор төлем сомасын тұрып қалудан болатын өз шығынына қарап таңдайды (контейнер айыппұлы, несие, тұрақсыздық айыбы). Полис нақты тасымалға (жүкқұжатқа) байланған, сомасы мәлімделген құнынан аспайды. | 📄 полис шарттары |
| Төлемсіз шығын | 70 сағ тұрды, келісімшарт бұзылды, төлем жоқ | Кенет үзілудің орнына сатылы төлем (мысалы, 48–72 сағ — 25%, 72–96 сағ — 50%, 96 сағаттан көп — 100%) және клиент өзі таңдайтын шек (48 / 72 / 96 сағ; шек төмен болса, полис қымбат, бағаны сол ЖИ есептейді). SilkSol — ірі шығындарды өтейтін классикалық жүк сақтандыруына қосымша жылдам ақша. | 📄 келесі: эскроу бағдарламасындағы сатылар |
| Санға кім кепіл | Сақтандырушы мен дереккөз — бір тарап | Қазірдің өзінде оракул кілті сақтандырушыдан бөлек, бағдарлама мұны тексереді (OracleIsInsurer); әр төлемнің memo-сында есеп хэші бар. Келесі: тәуелсіз деректер (Ақтау мен Бакудегі Каспий паромдарының ашық AIS сигналдары, кейін порт пен темір жол деректері), 3 оракулдың 2 қолы және төлемге дейін дауласуға 24 сағат. | ✅ бөлек кілттер · 📄 қалғаны |
✅ кодта · 📄 жоспарда
| Қазір (Devnet MVP) | Келесі қадам | Өндіріс | |
|---|---|---|---|
| Эскроу | ✅ Anchor бағдарламасы Devnet-те жұмыс істейді, бағдарламаның 13 тесті | Қауіпсіздік шолуы және аудит | Mainnet-ке орналастыру |
| Төлем валютасы | ✅ USDC орнына Devnet SOL | SPL USDC эскроу қоймалары | USDC, кейін KZTE төлемдері (зерттейміз) |
| Оракул | ✅ Оракул кілті сақтандырушыдан бөлек, бағдарламада тексеріледі | Порт пен теміржол телеметриясы (Ақтау, Баку) | Бірнеше қол қоюшы / орталықсыздандырылған оракул желісі |
| Аудит журналы | 🟡 cNFT журналы симуляция | Нақты State Compression (Bubblegum) | Жүктің әр оқиғасы cNFT ретінде жазылады |
| Тәуекелді бағалау | 🟡 Симуляцияланған телеметрия бойынша ережеге негізделген скоринг | Серіктес операторлардан тұрып қалу уақытының тарихи деректері | Оқытылған модель сыйлықақыны нақты уақытта есептейді |
| Реттеу | 📄 AIFC құмсалғышы тұжырымдамасы | AIFC құмсалғышына өтінім | Серіктес — лицензиясы бар сақтандырушы |
✅ жұмыс істейді · 🟡 симуляция · 📄 жоспарда
Тәуекел моделінің жоспары. Оқытылған модель әзірге жоқ: Транскаспий бағыты бойынша тұрып қалу уақытының ашық деректер жиыны жоқ. Оқыту серіктес операторлар порттар мен теміржолдағы оқиғалардың 12–24 айлық тарихын (келу және кету уақыты, кезек ұзындығы, ауа райы, маусым, жүк түрі) бергенде басталады. Мұндай кестелік деректер үшін базалық тәсіл — шешім ағаштарының градиенттік бустингі (мысалы, LightGBM немесе XGBoost), модель әрқашан болашақ жөнелтімдерде тексерілуі үшін уақыт бойынша бөліп тексеріледі. Соңғы таңдау деректерге байланысты. Модель тек сыйлықақыны есептейді; төлемдер блокчейндегі детерминирленген ереже болып қалады (dwell_time > threshold).
dwell_time > threshold).Талаптар: Node.js (v18+), npm / yarn / pnpm.
git clone https://github.com/s0nakh/silksol-ai.git
cd silksol-ai
npm install
cp .env.example .env
# VITE_INSURER_URL Netlify-дағы сақтандырушы/оракул функциясына сілтейді (oracle/).
# Қазына мен оракулдың құпиялары тек Netlify-да сақталады және ешқашан git-ке түспейді.
npm run dev
oracle/ ішіндегі тегін Netlify функциясы:
cd oracle && netlify sites:create --name <your-oracle>
netlify env:set SILKSOL_TREASURY_SECRET "$(cat <devnet-treasury-keypair>.json)"
netlify env:set SILKSOL_ORACLE_SECRET "$(cat <separate-oracle-keypair>.json)"
./build.sh && netlify deploy --prod --no-build --dir public --functions dist-functions
Copyright © 2026 SilkSol AI / s0nakh. Барлық құқықтар қорғалған. Келесі хакатондарда көрсету және бағалау үшін жарияланды: