<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OstriaPay — La plateforme stablecoin B2B pour PME françaises</title>
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-CBERXEXY07"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-CBERXEXY07');
</script>
<style>
:root{
--brand:#1840B8;--brand-d:#112E9A;--brand-lt:#ECF0FC;--brand-mid:#BBCAF5;
--navy:#0A1628;--navy2:#0F2040;
--green:#0A7040;--green-lt:#EBF9F2;--green-mid:#85C9A8;
--red:#B01717;--red-lt:#FEF2F2;
--s50:#F8F9FB;--s100:#EFF1F6;--s200:#E2E6ED;--s300:#C1CBDA;
--s400:#8799AD;--s500:#57687C;--s600:#3C4F63;--s700:#263548;--s800:#162334;--s900:#0D1822;
--border:#E0E6EE;--card:#FFFFFF;--bg:#F4F6F9;
--r:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;
--shadow:0 1px 3px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.04);
--shadow-md:0 4px 12px rgba(0,0,0,.08);
--shadow-lg:0 8px 24px rgba(0,0,0,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--s900);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.6;font-size:15px}
.mono{font-family:'JetBrains Mono',monospace;font-feature-settings:"tnum" 1;letter-spacing:-.01em}
h1,h2,h3,h4{font-family:'Manrope',sans-serif;font-weight:700;line-height:1.15;letter-spacing:-0.03em;color:var(--navy)}
h1{font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1.08}
h2{font-size:clamp(22px,2.8vw,34px);font-weight:700;letter-spacing:-.03em}
h3{font-size:17px;font-weight:600;letter-spacing:-.02em}
h4{font-size:14px;font-weight:600;letter-spacing:-.01em}
a{text-decoration:none;color:inherit}
.container{max-width:1140px;margin:0 auto;padding:0 24px}
section{padding:72px 0}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:var(--r);font-family:'Manrope',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid transparent;white-space:nowrap;line-height:1}
.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand-d)}
.btn-primary:hover{background:var(--brand-d)}
.btn-secondary{background:#fff;color:var(--s700);border-color:var(--s200)}
.btn-secondary:hover{border-color:var(--brand);color:var(--brand)}
.btn-ghost{background:transparent;color:var(--brand);padding:9px 14px}
.btn-ghost:hover{background:var(--brand-lt)}
.btn-lg{padding:12px 24px;font-size:14px}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy2)}
.btn-navy:hover{background:var(--navy2)}
.btn-white{background:#fff;color:var(--navy);border-color:rgba(255,255,255,.2)}
.btn-white:hover{background:var(--s50)}
.btn-outline-w{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.btn-outline-w:hover{border-color:#fff}
/* LABEL */
.label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--brand);margin-bottom:0}
.label-green{color:var(--green)}
/* SECTION HEADERS */
.sh{margin-bottom:48px}
.sh.center{text-align:center}
.sh.center .sh-sub{margin:10px auto 0;max-width:520px}
.sh-title{margin:10px 0 0}
.sh-sub{font-size:15px;color:var(--s400);line-height:1.75;margin-top:12px;max-width:500px;font-weight:400}
/* NAV */
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}
.nav-logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:var(--navy);letter-spacing:-.02em}
.logo-box{width:28px;height:28px;background:var(--brand);border-radius:var(--r);display:flex;align-items:center;justify-content:center}
.logo-box svg{display:block}
.nav-links{display:flex;list-style:none;gap:0}
.nav-links a{font-size:13px;font-weight:500;color:var(--s500);padding:6px 12px;border-radius:var(--r);transition:all .12s}
.nav-links a:hover{color:var(--brand);background:var(--brand-lt)}
.nav-r{display:flex;align-items:center;gap:8px}
.lang-sw{display:flex;background:var(--s100);border-radius:var(--r);padding:2px;gap:1px}
.lang-btn{padding:4px 9px;font-size:11px;font-weight:600;border:none;border-radius:3px;cursor:pointer;background:transparent;color:var(--s500);font-family:inherit;transition:all .12s}
.lang-btn.on{background:#fff;color:var(--navy);box-shadow:var(--shadow)}
.hamburger{display:none;flex-direction:column;gap:4px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{display:block;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:all .2s}
.mob-menu{display:none;position:fixed;top:60px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:12px 24px 20px;z-index:99;flex-direction:column;gap:4px}
.mob-menu.open{display:flex}
.mob-menu a{color:var(--s700);font-size:15px;padding:10px 0;border-bottom:1px solid var(--s100);font-weight:500}
.mob-menu .btn{width:100%;justify-content:center;margin-top:8px}
/* HERO */
.hero{padding:72px 0 64px;background:#fff;border-bottom:2px solid var(--s200);position:relative}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 40%,rgba(24,64,184,.04) 0%,transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr}
.hero-live{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--green);margin-bottom:20px}
.live-dot{width:7px;height:7px;background:var(--green);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{color:var(--navy);margin:0 0 18px}
.hero h1 em{color:var(--brand);font-style:normal}
.hero-desc{font-size:16px;color:var(--s400);line-height:1.8;margin-bottom:28px;max-width:640px;font-weight:400}
.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.hero-stats{display:flex;gap:32px;padding-top:24px;border-top:1px solid var(--s100)}
.hst strong{display:block;font-size:22px;font-weight:800;color:var(--navy);font-family:'JetBrains Mono',monospace;letter-spacing:-.03em}
.hst span{font-size:11px;color:var(--s400);font-weight:500;text-transform:uppercase;letter-spacing:.8px}
/* TRUST */
.trust{padding:18px 0;border-top:2px solid var(--s200);border-bottom:2px solid var(--s200);background:var(--s50)}
.trust-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:28px}
.ti{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--s500)}
.ti svg{color:var(--brand);flex-shrink:0}
/* FEATURES */
.features-section{background:#fff;border-top:2px solid var(--s100)}
.feat-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}
.feat-block{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:32px 28px}
.feat-block:hover{background:var(--s50);border-color:var(--brand)}
.feat-ico{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--brand);margin-bottom:14px}
.feat-block h3{color:var(--navy);margin-bottom:8px}
.feat-block p{font-size:14px;color:var(--s400);line-height:1.75}
.feat-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ftag{font-size:11px;font-weight:500;color:var(--s400);background:var(--s50);border:1px solid var(--border);padding:3px 9px;border-radius:2px}
.feat-connector{display:flex;align-items:center;justify-content:center;gap:16px;margin:36px 0;color:var(--s300)}
.feat-connector span{font-size:12px;font-weight:600;color:var(--s400);letter-spacing:.5px;text-transform:uppercase}
/* FEATURES FULL PAGE */
.feats-full{background:var(--s50)}
.feats-full-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.ff-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:28px}
.ff-card h3{font-size:15px;color:var(--navy);margin:12px 0 6px}
.ff-card p{font-size:13px;color:var(--s400);line-height:1.7}
.ff-ico{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--brand)}
.ff-list{margin-top:12px;list-style:none;display:flex;flex-direction:column;gap:6px}
.ff-list li{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--s400)}
.ff-list li svg{color:var(--green);flex-shrink:0;margin-top:1px}
.cta-mini{font-size:12px;font-weight:500;color:var(--brand);margin-top:14px;display:flex;align-items:center;gap:4px}
/* FLOW CARD */
.flow-section{background:#0D1822;padding:80px 0}
.flow-grid{display:grid;grid-template-columns:1fr 440px;gap:64px;align-items:start}
.flow-section .sh-title{color:#fff}
.flow-section .sh-sub{color:rgba(255,255,255,.5)}
.flow-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);overflow:hidden}
.flow-header{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;align-items:center}
.flow-title-sm{font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:rgba(255,255,255,.4)}
.rate-live{font-family:'JetBrains Mono',monospace;font-size:12px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:6px}
.rate-dot{width:6px;height:6px;background:var(--green-mid);border-radius:50%;animation:pulse 2s infinite}
.flow-steps{padding:20px}
.flow-step{display:flex;gap:14px;margin-bottom:8px}
.flow-step:last-child{margin-bottom:0}
.fs-line{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0}
.fs-num{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:rgba(255,255,255,.5);font-family:'JetBrains Mono',monospace;flex-shrink:0}
.fs-num.active{background:var(--brand);border-color:var(--brand);color:#fff}
.fs-connector{width:1px;flex:1;background:rgba(255,255,255,.08);margin:4px 0}
.fs-body{flex:1;padding-bottom:20px}
.fs-body:last-child{padding-bottom:0}
.fs-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.3);margin-bottom:6px}
.fs-content{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:var(--r);padding:12px 14px}
.fs-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0}
.fs-row span:first-child{color:rgba(255,255,255,.45)}
.fs-row span:last-child{font-family:'JetBrains Mono',monospace;color:rgba(255,255,255,.85);font-weight:500}
.fs-row.highlight span:last-child{color:#7AABFF}
.fs-row.green span:last-child{color:var(--green-mid)}
.fs-row.negative span:last-child{color:#F0B4B4}
.fs-divider{height:1px;background:rgba(255,255,255,.06);margin:8px 0}
.fs-total{background:rgba(22,64,184,.2);border:1px solid rgba(22,64,184,.3);border-radius:var(--r);padding:12px 14px;margin-top:8px}
.fs-total-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.fs-total-row span:first-child{color:rgba(255,255,255,.6);font-weight:500}
.fs-total-row span:last-child{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:600;color:#fff}
.fs-note{font-size:11px;color:rgba(255,255,255,.3);margin-top:6px;font-style:italic}
.convert-toggle{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:10px 14px;margin:6px 0;font-size:12px;color:rgba(255,255,255,.6)}
.convert-toggle svg{color:var(--brand-mid);flex-shrink:0}
.convert-toggle strong{color:#fff;font-weight:600}
.flow-points{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.flow-point{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:rgba(255,255,255,.65);line-height:1.6}
.flow-point-ico{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:rgba(255,255,255,.35)}
.flow-point strong{color:#fff}
/* HOW IT WORKS */
.hiw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.hiw-steps::before{content:'';position:absolute;top:22px;left:calc(16.7% + 4px);right:calc(16.7% + 4px);height:1px;background:var(--s200)}
.hiw-step{padding:0 16px;text-align:center}
.hiw-num{width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--brand);margin:0 auto 20px;position:relative;z-index:1;font-family:'JetBrains Mono',monospace}
.hiw-step h3{font-size:15px;color:var(--navy);margin-bottom:6px}
.hiw-step p{font-size:13px;color:var(--s400);line-height:1.7}
/* CALCULATOR */
.calc-section{background:var(--s50);border-top:2px solid var(--s200);border-bottom:2px solid var(--s200);padding:96px 0}
.calc-box{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:24px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.view-tabs{display:flex;gap:1px;background:var(--s100);border-radius:var(--r);padding:3px;margin-bottom:24px}
.vtab{flex:1;padding:7px;border:none;border-radius:3px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;background:transparent;color:var(--s400);transition:all .12s;text-align:center}
.vtab.on{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.c-group{margin-bottom:22px}
.c-lbl{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.c-lbl span{font-size:11px;font-weight:600;color:var(--s400);text-transform:uppercase;letter-spacing:.7px}
.c-lbl strong{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;color:var(--navy)}
.c-slider{-webkit-appearance:none;width:100%;height:3px;border-radius:2px;background:var(--s200);outline:none;border:none;cursor:pointer}
.c-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--brand);cursor:pointer}
.calc-breakdown{border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-top:4px;background:var(--s50)}
.cbd-row{display:flex;justify-content:space-between;font-size:12px;padding:3px 0}
.cbd-row span:first-child{color:var(--s500)}
.cbd-row span:last-child{font-family:'JetBrains Mono',monospace;font-weight:500;color:var(--s700)}
.cbd-divider{height:1px;background:var(--border);margin:8px 0}
.cbd-total{display:flex;justify-content:space-between;font-size:13px;font-weight:600;padding:3px 0}
.cbd-total span:last-child{font-family:'JetBrains Mono',monospace;color:var(--brand)}
.calc-results{display:flex;flex-direction:column;gap:8px}
.cr-item{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:14px 16px}
.cr-item.ours{border-color:var(--brand);background:var(--brand-lt)}
.cr-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cr-name{font-size:13px;font-weight:500;color:var(--s500);display:flex;align-items:center;gap:7px}
.cr-name.ours{color:var(--brand);font-weight:600}
.cr-tag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:2px;background:var(--s100);color:var(--s400)}
.cr-tag.best{background:var(--green-lt);color:var(--green)}
.cr-val{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:600;color:var(--s800)}
.cr-val.ours{color:var(--brand)}
.cr-pct{font-size:11px;color:var(--s400);margin-left:4px}
.cr-bar{height:2px;background:var(--s100);border-radius:2px;overflow:hidden;margin-bottom:7px}
.cr-fill{height:100%;border-radius:2px;transition:width .4s ease}
.fill-brand{background:var(--brand)}
.fill-gray{background:var(--s200)}
.cr-net{font-size:12px;color:var(--s400)}
.savings-box{background:var(--green-lt);border:1px solid var(--green-mid);border-radius:var(--r);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}
.sb-lbl{font-size:12px;color:var(--s600);font-weight:500}
.sb-val{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;color:var(--green)}
.calc-note{font-size:11px;color:var(--s300);margin-top:10px;line-height:1.6}
.calc-layout{display:grid;grid-template-columns:380px 1fr;gap:40px;align-items:start}
/* COUNTRIES */
.countries-section{background:var(--s50);border-top:2px solid var(--s200)}
.ctry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ctry-card{border:1px solid var(--border);border-radius:var(--r);padding:20px}
.ctry-hd{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--s400);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.ctry-flags{display:flex;flex-direction:column;gap:6px}
.cflag{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--s600)}
.cflag-code{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--s400);min-width:30px}
.ctry-note{font-size:11px;color:var(--s400);margin-top:12px;line-height:1.55;font-style:italic;padding-top:10px;border-top:1px solid var(--s100)}
/* FLAG ICONS (text-based) */
.fi{display:inline-block;width:20px;height:14px;border-radius:2px;border:1px solid var(--s200);font-size:10px;text-align:center;line-height:14px;flex-shrink:0;background:var(--s50)}
/* PRICING */
.pricing-section{background:#fff;border-top:2px solid var(--s200)}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:780px;margin:0 auto}
.price-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:32px}
.price-card.feat{border-color:var(--brand)}
.price-card h3{font-size:18px;color:var(--navy);margin:0 0 6px}
.price-desc{font-size:13px;color:var(--s500);margin-bottom:24px;line-height:1.6}
.price-lines{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:20px}
.pl{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:13px;border-bottom:1px solid var(--s100)}
.pl:last-child{border-bottom:none}
.pl-lbl{color:var(--s600)}
.pl-val{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--navy)}
.pl-val.accent{color:var(--brand)}
.price-total{display:flex;justify-content:space-between;align-items:center;background:var(--brand-lt);border-radius:var(--r);padding:14px 16px;margin-bottom:20px}
.pt-lbl{font-size:13px;font-weight:600;color:var(--s600)}
.pt-val{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;color:var(--brand)}
.price-includes{list-style:none;display:flex;flex-direction:column;gap:8px}
.price-includes li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--s500)}
.price-includes li svg{color:var(--green);flex-shrink:0;margin-top:2px}
.price-note{text-align:center;font-size:12px;color:var(--s300);margin-top:28px;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}
/* ADVANTAGES */
.adv-section{background:var(--s50);border-top:2px solid var(--s200)}
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.adv-card{border:1px solid var(--border);border-radius:var(--r);padding:24px;transition:border-color .15s}
.adv-ico{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--brand);margin-bottom:12px}
.adv-card h3{font-size:15px;color:var(--navy);margin-bottom:6px}
.adv-card p{font-size:13px;color:var(--s400);line-height:1.7}
.vs-note{font-size:11px;color:var(--s300);margin-top:10px;padding-top:10px;border-top:1px solid var(--s100)}
/* WHY */
.why-section{background:#0D1822;padding:80px 0}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.why-section h2{color:#fff}
.why-section .sh-sub{color:rgba(255,255,255,.5);max-width:100%}
.why-values{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.wv{border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:16px}
.wv-ico{width:30px;height:30px;background:rgba(255,255,255,.06);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);margin-bottom:10px}
.wv h4{font-size:13px;color:#fff;margin-bottom:4px;font-weight:700}
.wv p{font-size:12px;color:rgba(255,255,255,.35);line-height:1.65}
.why-right{display:flex;flex-direction:column;gap:14px}
.why-feature{border-top:1px solid rgba(255,255,255,.08);padding:18px 0}
.why-feature h4{font-size:14px;color:#fff;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.why-feature p{font-size:13px;color:rgba(255,255,255,.45);line-height:1.65}
.wf-ico{width:24px;height:24px;background:rgba(22,64,184,.3);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--brand-mid)}
/* SECURITY */
.sec-section{background:#fff;border-top:2px solid var(--s200)}
.sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sec-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:24px}
.sec-ico{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--brand);margin-bottom:12px}
.sec-card h3{font-size:15px;color:var(--navy);margin-bottom:6px}
.sec-card p{font-size:13px;color:var(--s400);line-height:1.7}
/* TESTIMONIALS */
.testi-section{background:var(--s50);border-top:2px solid var(--s200)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testi-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:24px}
.testi-quote{font-size:14px;color:var(--s600);line-height:1.8;margin-bottom:16px;font-weight:400}
.testi-author{display:flex;align-items:center;gap:10px}
.testi-avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-lt);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--brand);flex-shrink:0}
.testi-name{font-size:13px;font-weight:700;color:var(--navy)}
.testi-role{font-size:11px;color:var(--s400)}
.coming-soon-banner{background:var(--s50);border:1px solid var(--border);border-radius:var(--r);padding:16px 20px;margin-top:36px;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--brand)}
.csb-ico{width:32px;height:32px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
/* TEAM */
.team-section{background:#fff;border-top:2px solid var(--s200)}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:600px;margin:0 auto}
.team-card{border:1px solid var(--border);border-radius:var(--r);padding:28px}
.team-av{width:56px;height:56px;border-radius:var(--r-md);background:var(--brand-lt);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:600;color:var(--brand);margin-bottom:14px}
.team-name{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:3px}
.team-role{font-size:11px;font-weight:600;color:var(--s400);margin-bottom:12px;text-transform:uppercase;letter-spacing:.8px}
.team-bio{font-size:13px;color:var(--s400);line-height:1.7}
/* FAQ */
.faq-list{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.faq-item{border:1px solid var(--border);border-radius:var(--r);background:#fff;overflow:hidden}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer;font-weight:600;font-size:14px;color:var(--navy);gap:14px;transition:background .12s}
.faq-q:hover{background:var(--s50)}
.faq-ico{width:22px;height:22px;background:var(--s100);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;color:var(--s500)}
.faq-item.open .faq-ico{transform:rotate(45deg)}
.faq-a{font-size:13px;color:var(--s400);line-height:1.75;max-height:0;overflow:hidden;transition:all .3s;padding:0 18px}
.faq-item.open .faq-a{max-height:300px;padding:0 18px 16px}
/* FINAL CTA */
.cta-fin{background:#0D1822;text-align:center;padding:80px 0}
.cta-fin h2{color:#fff;margin-bottom:12px}
.cta-fin p{font-size:15px;color:rgba(255,255,255,.4);margin-bottom:32px;max-width:440px;margin-left:auto;margin-right:auto}
.cta-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
/* FOOTER */
footer{background:#060D18;color:rgba(255,255,255,.4);padding:48px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:36px}
.footer-logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px;color:#fff;margin-bottom:12px;letter-spacing:-.02em}
.footer-desc{font-size:13px;line-height:1.7;max-width:240px}
.fc h4{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.4);margin-bottom:14px}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.fc ul a{font-size:13px;color:rgba(255,255,255,.35);transition:color .12s}
.fc ul a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px}
.mica-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,.25)}
/* RESPONSIVE */
@media(max-width:1024px){
.hero-grid{grid-template-columns:1fr}
.flow-grid{grid-template-columns:1fr}
.why-grid{grid-template-columns:1fr}
.feats-full-grid{grid-template-columns:1fr 1fr}
.ctry-grid{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
section{padding:48px 0}
nav .nav-links,.nav-r .btn{display:none}
.hamburger{display:flex}
.mob-hide{display:none !important}
.hero-stats{flex-wrap:wrap;gap:20px}
.hero-ctas{flex-direction:column}
.hero-ctas .btn{width:100%;justify-content:center}
.hiw-steps{grid-template-columns:1fr;gap:20px}
.hiw-steps::before{display:none}
.feat-overview{grid-template-columns:1fr}
#fonctionnalites-detail{display:none}
#calculateur{display:none}
.calc-layout{grid-template-columns:1fr}
.countries-section{display:none}
.price-card div[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
.price-card ul[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important}
.adv-section{display:none}
.why-section{display:none}
.sec-section{display:none}
.team-section{display:none}
.testi-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr;gap:24px}
.flow-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
.container{padding:0 16px}
.hero{padding:52px 0 44px}
.hero h1{font-size:28px}
}
/* ===== LEGAL OVERLAY ===== */
.legal-overlay{position:fixed;inset:0;z-index:1000;display:none;flex-direction:column}
.legal-overlay.open{display:flex}
.legal-bg{position:absolute;inset:0;background:rgba(10,22,40,.5);backdrop-filter:blur(4px)}
.legal-panel{position:relative;z-index:1;background:#fff;width:100%;height:100%;overflow-y:auto;display:flex;flex-direction:column}
.legal-topbar{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid #E0E6EE;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;flex-shrink:0;z-index:10}
.legal-topbar-logo{font-family:'Manrope',sans-serif;font-weight:800;font-size:17px;color:#0A1628;letter-spacing:-.02em}
.legal-close{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#57687C;cursor:pointer;background:none;border:none;font-family:'Manrope',sans-serif;transition:color .12s;padding:0}
.legal-close:hover{color:#1840B8}
.legal-body{flex:1;max-width:1100px;margin:0 auto;width:100%;padding:0 24px;display:grid;grid-template-columns:220px 1fr;gap:56px;padding-top:48px;padding-bottom:80px}
/* Legal doc typography (scoped) */
.legal-toc{position:sticky;top:80px;height:fit-content;max-height:calc(100vh - 120px);overflow-y:auto}
.legal-toc .toc-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#8799AD;margin-bottom:14px}
.legal-toc ul{list-style:none;padding:0;margin:0}
.legal-toc li{margin-bottom:2px}
.legal-toc a{font-size:12px;font-weight:500;color:#57687C;display:block;padding:4px 0;transition:color .12s;line-height:1.4;text-decoration:none}
.legal-toc a:hover{color:#1840B8}
.legal-content .doc-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#1840B8;margin-bottom:12px}
.legal-content .doc-header{margin-bottom:48px;padding-bottom:32px;border-bottom:2px solid #E2E6ED}
.legal-content .doc-header h1{font-size:28px;font-weight:800;color:#0A1628;letter-spacing:-.03em;margin-bottom:8px;line-height:1.1}
.legal-content .doc-header p{font-size:14px;color:#8799AD;margin-bottom:16px}
.legal-content .meta-table{border:1px solid #E0E6EE;border-radius:4px;overflow:hidden;font-size:13px}
.legal-content .meta-row{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid #EFF1F6}
.legal-content .meta-row:last-child{border-bottom:none}
.legal-content .meta-key{padding:9px 14px;font-weight:600;color:#3C4F63;background:#F8F9FB}
.legal-content .meta-val{padding:9px 14px;color:#263548}
.legal-content .warning-box{background:#FFF8E5;border:1px solid #F5D98A;border-left:3px solid #D4A017;border-radius:4px;padding:16px 18px;margin-bottom:40px;font-size:13px;color:#263548;line-height:1.65}
.legal-content .warning-box strong{color:#8A5C00;display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.7px}
.legal-content .commitment-box{background:#EBF9F2;border:1px solid #85C9A8;border-left:3px solid #0A7040;border-radius:4px;padding:16px 18px;margin-bottom:40px;font-size:13px;color:#263548;line-height:1.65}
.legal-content .commitment-box strong{color:#0A7040;display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.7px}
.legal-content .article{margin-bottom:48px}
.legal-content .article-header{background:#0A1628;color:#fff;padding:10px 16px;border-radius:4px;margin-bottom:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}
.legal-content h2{font-size:17px;font-weight:700;color:#0A1628;margin:24px 0 10px;letter-spacing:-.02em}
.legal-content h3{font-size:14px;font-weight:600;color:#263548;margin:16px 0 8px}
.legal-content p{margin-bottom:12px;color:#3C4F63;font-size:14px}
.legal-content ul,.legal-content ol{margin:10px 0 14px 0;padding-left:0;list-style:none}
.legal-content ul li,.legal-content ol li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#3C4F63;margin-bottom:7px;line-height:1.65}
.legal-content ul li::before{content:'—';color:#C1CBDA;flex-shrink:0;margin-top:1px;font-size:13px}
.legal-content ol{counter-reset:item}
.legal-content ol li::before{counter-increment:item;content:counter(item)'.';color:#1840B8;flex-shrink:0;font-weight:700;font-family:'JetBrains Mono',monospace;font-size:12px;margin-top:2px}
.legal-content a{color:#1840B8;text-decoration:none}
.legal-content a:hover{text-decoration:underline}
.legal-content .table-wrap{overflow-x:auto;margin:14px 0 20px;border:1px solid #E0E6EE;border-radius:4px}
.legal-content table{border-collapse:collapse;width:100%;font-size:13px}
.legal-content th{text-align:left;padding:10px 14px;background:#F8F9FB;font-weight:700;color:#3C4F63;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #E0E6EE;white-space:nowrap}
.legal-content td{padding:10px 14px;color:#3C4F63;border-bottom:1px solid #EFF1F6;vertical-align:top;line-height:1.55}
.legal-content tr:last-child td{border-bottom:none}
.legal-content td strong{color:#162334;font-weight:600}
.legal-content .note-box{background:#F8F9FB;border:1px solid #E0E6EE;border-left:3px solid #1840B8;border-radius:4px;padding:14px 16px;margin:16px 0;font-size:13px;color:#3C4F63;line-height:1.65}
.legal-content .info-box{background:#ECF0FC;border:1px solid #BBCAF5;border-left:3px solid #1840B8;border-radius:4px;padding:14px 16px;margin:16px 0;font-size:13px;color:#263548;line-height:1.65}
.legal-content .info-box strong{color:#1840B8;display:block;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.7px}
.legal-content .annex-label{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#8799AD;background:#EFF1F6;padding:3px 9px;border-radius:2px;margin-bottom:8px}
.legal-content .rights-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.legal-content .right-card{border:1px solid #E0E6EE;border-radius:4px;padding:14px}
.legal-content .right-card h4{font-size:13px;font-weight:600;color:#0A1628;margin-bottom:6px}
.legal-content .right-card p{font-size:12px;color:#57687C;margin:0}
.legal-content .toc-section{font-size:11px;font-weight:700;color:#C1CBDA;text-transform:uppercase;letter-spacing:.7px;margin:10px 0 4px;padding-top:6px;border-top:1px solid #EFF1F6}
.legal-content .doc-footer{margin-top:64px;padding-top:24px;border-top:2px solid #E2E6ED;font-size:12px;color:#8799AD;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
@media(max-width:768px){
.legal-body{grid-template-columns:1fr;gap:0;padding-top:32px}
.legal-toc{display:none}
.legal-content .doc-header h1{font-size:22px}
.legal-content .rights-grid{grid-template-columns:1fr}
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<div class="container">
<div class="nav-inner">
<a href="#" class="nav-logo" onclick="goTo('hero');return false;">
OstriaPay
</a>
<ul class="nav-links">
<li><a href="#fonctionnalites" data-k="nav_feat" onclick="goTo('fonctionnalites');return false;">Fonctionnalités</a></li>
<li><a href="#comment" data-k="nav_how" onclick="goTo('comment');return false;">Comment ça marche</a></li>
<li><a href="#tarifs" data-k="nav_pricing" onclick="goTo('tarifs');return false;">Tarifs</a></li>
<li><a href="#faq" data-k="nav_faq" onclick="goTo('faq');return false;">FAQ</a></li>
</ul>
<div class="nav-r">
<div class="lang-sw">
<button class="lang-btn on" onclick="setL('fr',this)">FR</button>
<button class="lang-btn" onclick="setL('en',this)">EN</button>
</div>
<a href="mailto:info@ostriapay.com" class="btn btn-ghost" data-k="nav_demo" onclick="sendMail();return false;">Contactez-nous</a>
<a href="https://app.ostriapay.com/" class="btn btn-primary" data-k="nav_cta">Créer un compte</a>
</div>
<button class="hamburger" onclick="toggleMob()">
<span></span><span></span><span></span>
</button>
</div>
</div>
<div class="mob-menu" id="mobMenu">
<a href="#fonctionnalites" data-k="nav_feat" onclick="toggleMob();goTo('fonctionnalites');return false;">Fonctionnalités</a>
<a href="#comment" data-k="nav_how" onclick="toggleMob();goTo('comment');return false;">Comment ça marche</a>
<a href="#tarifs" data-k="nav_pricing" onclick="toggleMob();goTo('tarifs');return false;">Tarifs</a>
<a href="#faq" data-k="nav_faq" onclick="toggleMob();goTo('faq');return false;">FAQ</a>
<a href="mailto:info@ostriapay.com" class="btn btn-secondary" data-k="nav_demo" onclick="toggleMob();sendMail();return false;">Contactez-nous</a>
<a href="https://app.ostriapay.com/" class="btn btn-primary" data-k="nav_cta" onclick="toggleMob();goTo('signup');return false;">Créer un compte</a>
</div>
</nav>
<!-- HERO -->
<section class="hero">
<div class="container">
<div class="hero-grid">
<div>
<div class="hero-live">
<div class="live-dot"></div>
<span data-k="hero_live">Solution disponible · Inscription ouverte</span>
</div>
<h1 data-k="hero_h1">La plateforme stablecoin<br>qui donne aux <em>entreprises françaises</em><br>le contrôle de leurs encaissements.</h1>
<p class="hero-desc" data-k="hero_desc">Encaissez en USDC, gérez votre solde, convertissez quand vous le décidez, exportez votre comptabilité. Tout depuis une interface centralisée, pensée pour les professionnels.</p>
<div class="hero-ctas">
<a href="#signup" class="btn btn-primary btn-lg" data-k="hero_cta1" onclick="goTo('signup');return false;">Créer mon compte gratuitement</a>
<a href="mailto:info@ostriapay.com" class="btn btn-secondary btn-lg" data-k="hero_cta2" onclick="sendMail();return false;">Contactez-nous</a>
</div>
<div class="hero-stats">
<div class="hst"><strong>0.40%</strong><span data-k="st1">Frais d'encaissement</span></div>
<div class="hst"><strong>40+</strong><span data-k="st2">Pays couverts</span></div>
<div class="hst mob-hide"><strong>24h</strong><span data-k="st3">Virement SEPA</span></div>
<div class="hst mob-hide"><strong>0</strong><span data-k="st4">Abonnement</span></div>
</div>
</div>
</div>
</div>
</section>
<!-- TRUST BAR -->
<div class="trust">
<div class="container">
<div class="trust-row">
<div class="ti">
<svg width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
<span data-k="t1">Cadre réglementaire MiCA</span>
</div>
<div class="ti">
<svg width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75"/></svg>
<span data-k="t2">15+ entreprises clientes</span>
</div>
<div class="ti">
<svg width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
<span data-k="t3">Virement SEPA sous 24h à 48h</span>
</div>
<div class="ti mob-hide">
<svg width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
<span data-k="t4" class="ti-hide">Export comptable automatisé</span>
</div>
<div class="ti mob-hide">
<svg width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>
<span data-k="t5" class="ti-hide">Compatible tout wallet USDC</span>
</div>
</div>
</div>
</div>
<!-- FEATURES OVERVIEW -->
<section class="features-section" id="fonctionnalites">
<div class="container">
<div class="sh">
<div class="label" data-k="feat_label">Plateforme</div>
<h2 class="sh-title" data-k="feat_title">Contrôle. Confiance. Clarté. Simplicité.</h2>
<p class="sh-sub" data-k="feat_sub">OstriaPay est une interface centralisée qui relie vos factures, vos encaissements en USDC, vos conversions et votre comptabilité en un flux unique, tracé et réconciliable.</p>
</div>
<div class="feat-overview">
<div class="feat-block">
<div class="feat-ico">
<svg width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"/><line x1="7" y1="7" x2="7.01" y2="7"/></svg>
</div>
<h3 data-k="fb1_t">Demandes de paiement liées aux factures</h3>
<p data-k="fb1_p">Créez une demande de paiement USDC directement rattachée à votre facture. Un lien sécurisé est généré. Votre client paie depuis son wallet en quelques secondes. La réconciliation facture-paiement est automatique.</p>
<div class="feat-tags">
<span class="ftag" data-k="fb1_tag1">Lien de paiement sécurisé</span>
<span class="ftag" data-k="fb1_tag2">Rattachement facture</span>
<span class="ftag" data-k="fb1_tag3">Suivi statut en temps réel</span>
</div>
</div>
<div class="feat-block">
<div class="feat-ico">
<svg width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><rect x="1" y="4" width="22" height="16" rx="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>
</div>
<h3 data-k="fb2_t">Réception USDC avec traçabilité complète</h3>
<p data-k="fb2_p">Chaque encaissement est tracé, horodaté et réconcilié avec sa facture et ses documents comptables. Votre solde USDC est visible en temps réel. Historique complet, exportable, conforme.</p>
<div class="feat-tags">
<span class="ftag" data-k="fb2_tag1">Traçabilité totale</span>
<span class="ftag" data-k="fb2_tag2">Solde temps réel</span>
<span class="ftag" data-k="fb2_tag3">0.40% d'encaissement</span>
</div>
</div>
<div class="feat-block">
<div class="feat-ico">
<svg width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M17 1l4 4-4 4"/><path d="M3 11V9a4 4 0 0 1 4-4h14"/><path d="M7 23l-4-4 4-4"/><path d="M21 13v2a4 4 0 0 1-4 4H3"/></svg>
</div>
<h3 data-k="fb3_t">Conversion maîtrisée, à votre rythme</h3>
<p data-k="fb3_p">Vous décidez quand et combien convertir. Partiellement ou totalement, une fois par jour à l'heure que vous configurez — ou manuellement à tout moment. Aucune conversion automatique imposée. Vous gardez le contrôle.</p>
<div class="feat-tags">
<span class="ftag" data-k="fb3_tag1">Partielle ou totale</span>
<span class="ftag" data-k="fb3_tag2">Heure configurable</span>
<span class="ftag" data-k="fb3_tag3">0.80% conversion</span>
</div>
</div>
<div class="feat-block">
<div class="feat-ico">
<svg width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg>
</div>
<h3 data-k="fb4_t">Comptabilité automatisée et exportable</h3>
<p data-k="fb4_p">Journaux, balance et documents de clôture générés automatiquement. Tout est lié, tracé, réconcilié avec vos factures et opérations. Export dans les formats compatibles avec vos logiciels ou cabinet comptable.</p>
<div class="feat-tags">
<span class="ftag" data-k="fb4_tag1">Journaux & balance</span>
<span class="ftag" data-k="fb4_tag2">Clôture automatique</span>
<span class="ftag" data-k="fb4_tag3">Export Sage, Pennylane…</span>
</div>
</div>
</div>
</div>
</section>
<!-- FEATURES FULL PAGE -->
<section class="feats-full" id="fonctionnalites-detail">
<div class="container">
<div class="sh">
<div class="label" data-k="ff_label">Toutes les fonctionnalités</div>
<h2 class="sh-title" data-k="ff_title">Tout ce dont votre entreprise a besoin, connecté.</h2>
<p class="sh-sub" data-k="ff_sub">Chaque fonctionnalité est conçue pour fonctionner ensemble. Vos données ne sont jamais en silo — elles sont reliées, tracées et réconciliables à tout moment.</p>
</div>
<div class="feats-full-grid">
<div class="ff-card">
<div class="ff-ico">
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
</div>
<h3 data-k="ff1_t">Tableau de bord analytique</h3>
<p data-k="ff1_p">Synthèse intelligente de votre activité stablecoin. Volumes encaissés, conversions effectuées, évolution du solde, performances par période.</p>
<ul class="ff-list">
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff1_l1">KPIs en temps réel</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff1_l2">Graphiques de tendances</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff1_l3">Alertes et notifications</span></li>
</ul>
</div>
<div class="ff-card">
<div class="ff-ico">
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M22 2L11 13M22 2L15 22 11 13 2 9l20-7z"/></svg>
</div>
<h3 data-k="ff3_t">Virements SEPA vers votre banque</h3>
<p data-k="ff3_p">Une fois la conversion effectuée, virement SEPA automatique vers votre compte bancaire français. Sous 24h à 48h en jours ouvrés.</p>
<ul class="ff-list">
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff3_l1">Virement automatique post-conversion</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff3_l2">Sous 24h à 48h ouvrés</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff3_l3">Traçabilité complète</span></li>
</ul>
</div>
<div class="ff-card">
<div class="ff-ico">
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>
</div>
<h3 data-k="ff4_t">Réconciliation facture-paiement automatique</h3>
<p data-k="ff4_p">Chaque paiement USDC est automatiquement rattaché à sa facture. Statut mis à jour en temps réel. Historique complet, tracé, auditable.</p>
<ul class="ff-list">
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff4_l1">Lien facture ↔ paiement garanti</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff4_l2">Statuts : en attente / reçu / converti</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff4_l3">Historique horodaté et exportable</span></li>
</ul>
</div>
<div class="ff-card">
<div class="ff-ico">
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
</div>
<h3 data-k="ff5_t">Suivi en temps réel</h3>
<p data-k="ff5_p">Statut de chaque transaction mis à jour en direct. Notifications configurables. Aucune opération ne passe inaperçue.</p>
<ul class="ff-list">
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff5_l1">Statuts : en attente / confirmé / converti</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff5_l2">Notifications configurables</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff5_l3">Historique horodaté</span></li>
</ul>
</div>
<div class="ff-card">
<div class="ff-ico">
<svg width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="21 15 21 21 15 21"/><path d="M21 21L15 15M3 9V3h6M3 3l6 6"/></svg>
</div>
<h3 data-k="ff6_t">Export comptable & intégrations</h3>
<p data-k="ff6_p">Documents disponibles : journaux, balance, documents de clôture. Export dans les formats compatibles Sage, QuickBooks, Pennylane, ou votre cabinet comptable.</p>
<ul class="ff-list">
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff6_l1">Journaux, balance, clôture</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff6_l2">Formats comptables standards</span></li>
<li><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="ff6_l3">Compatible logiciels & cabinets</span></li>
</ul>
</div>
</div>
</div>
</section>
<!-- PAYMENT FLOW -->
<section class="flow-section" id="comment">
<div class="container">
<div class="flow-grid">
<div>
<div class="label label-green" style="background:rgba(10,112,64,.15);border-color:var(--green-mid);" data-k="flow_label">Comment ça marche</div>
<h2 class="sh-title" style="color:#fff;margin:10px 0 12px" data-k="flow_title">Encaissez plus vite, moins cher, sans friction comptable.</h2>
<p class="sh-sub" data-k="flow_sub">Votre client paie en USDC. Vous gardez la main sur tout le reste : quand convertir, combien, et vers quel compte.</p>
<div class="flow-points">
<div class="flow-point">
<div class="flow-point-ico">
<svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg>
</div>
<div><strong data-k="fp1_t">Aucun compte requis pour votre client.</strong> <span data-k="fp1_p">Il paie depuis n'importe quel wallet USDC ou exchange. MetaMask, Trust Wallet, Coinbase Wallet, Binance — tout est compatible.</span></div>
</div>
<div class="flow-point">
<div class="flow-point-ico">
<svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M17 1l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 23l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3"/></svg>
</div>
<div><strong data-k="fp2_t">Vous décidez de la conversion.</strong> <span data-k="fp2_p">Partiellement ou totalement, une fois par jour à l'heure que vous configurez — ou manuellement. Aucune conversion imposée.</span></div>
</div>
<div class="flow-point">
<div class="flow-point-ico">
<svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
</div>
<div><strong data-k="fp3_t">Tout est lié et exportable.</strong> <span data-k="fp3_p">Chaque opération est tracée, rattachée à sa facture et intégrée dans votre comptabilité. Rien à ressaisir.</span></div>
</div>
</div>
</div>
<div>
<div class="flow-card">
<div class="flow-header">
<span class="flow-title-sm" data-k="fc_title">Exemple de flux — 5 000 USDC</span>
<div class="rate-live">
<div class="rate-dot"></div>
<span>1 USDC = <span id="rateDisplay" class="mono">0.9200</span> EUR</span>
</div>
</div>
<div class="flow-steps" style="padding:18px">
<div class="flow-step">
<div class="fs-line">
<div class="fs-num active">1</div>
<div class="fs-connector"></div>
</div>
<div class="fs-body">
<div class="fs-label" data-k="fcs1">Client envoie</div>
<div class="fs-content">
<div class="fs-row"><span data-k="fs1_a">Montant envoyé</span><span>5 000.00 USDC</span></div>
<div class="fs-row negative"><span data-k="fs1_b">Frais OstriaPay (0.40%)</span><span>– 20.00 USDC</span></div>
<div class="fs-divider"></div>
<div class="fs-row highlight"><span data-k="fs1_c">Solde reçu sur votre compte</span><span>4 980.00 USDC</span></div>
</div>
</div>
</div>
<div class="flow-step">
<div class="fs-line">
<div class="fs-num active">2</div>
<div class="fs-connector"></div>
</div>
<div class="fs-body">
<div class="fs-label" data-k="fcs2">Votre décision</div>
<div class="convert-toggle">
<svg width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M17 1l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 23l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3"/></svg>
<span data-k="fc_decide">Vous choisissez de convertir <strong data-k="fc_pct">100%</strong> — à l'heure configurée ou manuellement</span>
</div>
</div>
</div>
<div class="flow-step">
<div class="fs-line">
<div class="fs-num active">3</div>
<div class="fs-connector"></div>
</div>
<div class="fs-body">
<div class="fs-label" data-k="fcs3">Conversion USDC → EUR</div>
<div class="fs-content">
<div class="fs-row"><span data-k="fs3_a">USDC à convertir</span><span>4 980.00 USDC</span></div>
<div class="fs-row negative"><span data-k="fs3_b">Marge OstriaPay (0.30%)</span><span>– 14.94 USDC</span></div>
<div class="fs-row negative"><span data-k="fs3_c">Frais partenaire (0.50%)</span><span>– 24.90 USDC</span></div>
<div class="fs-divider"></div>
<div class="fs-row highlight"><span data-k="fs3_d">Net converti au taux actuel</span><span id="netEUR">4 580.26 EUR</span></div>
</div>
</div>
</div>
<div class="flow-step">
<div class="fs-line">
<div class="fs-num active">4</div>
</div>
<div class="fs-body">
<div class="fs-label" data-k="fcs4">Virement SEPA</div>
<div class="fs-content">
<div class="fs-row green"><span data-k="fs4_a">Sur votre compte bancaire</span><span data-k="fs4_b">Sous 24h à 48h</span></div>
</div>
</div>
</div>
</div>
<div style="padding:0 18px 18px">
<div class="fs-total">
<div class="fs-total-row">
<span data-k="fs_total_lbl">Total frais (encaissement + conversion)</span>
<span>1.20%</span>
</div>
<div class="fs-note" data-k="fs_note">Dont 0.40% encaissement + 0.30% OstriaPay + 0.50% partenaire de conversion</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- HOW IT WORKS STEPS -->
<section style="background:#fff;border-top:2px solid var(--s200)">
<div class="container">
<div class="sh center">
<div class="label" data-k="hiw_label">En 3 étapes</div>
<h2 class="sh-title" data-k="hiw_title">Opérationnel en 5 minutes</h2>
</div>
<div class="hiw-steps">
<div class="hiw-step">
<div class="hiw-num">01</div>
<h3 data-k="hiw1_t">Vous créez votre compte</h3>
<p data-k="hiw1_p">Inscription gratuite. Vérification KYB simple approuvée sous 24h à 48h. Aucun abonnement, aucun frais d'ouverture. Accès immédiat à l'interface OstriaPay.</p>
</div>
<div class="hiw-step">
<div class="hiw-num">02</div>
<h3 data-k="hiw2_t">Vous créez une demande de paiement</h3>
<p data-k="hiw2_p">Rattachez-la à votre facture. Un lien sécurisé est généré. Envoyez-le à votre client. Il paie depuis son wallet USDC en moins de 30 secondes.</p>
</div>
<div class="hiw-step">
<div class="hiw-num">03</div>
<h3 data-k="hiw3_t">Vous gérez, convertissez, exportez</h3>
<p data-k="hiw3_p">Depuis votre tableau de bord : suivez votre solde, décidez quand convertir, virez en euros vers votre banque, exportez votre comptabilité.</p>
</div>
</div>
</div>
</section>
<!-- CALCULATOR -->
<section class="calc-section" id="calculateur">
<div class="container">
<div class="sh">
<div class="label" data-k="calc_label">Calculateur</div>
<h2 class="sh-title" data-k="calc_title">Estimez vos frais réels</h2>
<p class="sh-sub" data-k="calc_sub">Ajustez le montant encaissé et la part convertie en euros. Comparez avec les solutions alternatives.</p>
</div>
<div class="calc-layout">
<div>
<div class="calc-box">
<div class="view-tabs">
<button class="vtab on" onclick="setView('ticket',this)" data-k="vt1">Par transaction</button>
<button class="vtab" onclick="setView('monthly',this)" data-k="vt2">Par mois</button>
<button class="vtab" onclick="setView('annual',this)" data-k="vt3">Par an</button>
</div>
<div class="c-group">
<div class="c-lbl"><span data-k="cl1">Montant encaissé</span><strong id="vAmt">5 000 USDC</strong></div>
<input type="range" class="c-slider" id="sAmt" min="500" max="50000" step="500" value="5000" oninput="doCalc()">
</div>
<div class="c-group">
<div class="c-lbl"><span data-k="cl2">Part convertie en EUR</span><strong id="vPct">100%</strong></div>
<input type="range" class="c-slider" id="sPct" min="0" max="100" step="5" value="100" oninput="doCalc()">
</div>
<div class="calc-breakdown">
<div class="cbd-row"><span data-k="cb1">Frais encaissement (0.40%)</span><span id="cbEnc">20.00 USDC</span></div>
<div class="cbd-row"><span data-k="cb2">Frais conversion OstriaPay (0.30%)</span><span id="cbConvOp">—</span></div>
<div class="cbd-row"><span data-k="cb3">Frais conversion partenaire (0.50%)</span><span id="cbConvPart">—</span></div>
<div class="cbd-divider"></div>
<div class="cbd-total"><span data-k="cb4">Total frais</span><span id="cbTotal">20.00 USDC</span></div>
<div class="cbd-row" style="margin-top:6px;padding-top:6px;border-top:1px solid var(--s100)"><span data-k="cb5">Vous recevez</span><span id="cbNet" style="color:var(--green);font-weight:600;font-family:'JetBrains Mono',monospace"></span></div>
</div>
</div>
<div class="calc-note" id="rateNote" data-k="rate_note">Taux USD/EUR en cours de chargement…</div>
</div>
<div>
<div class="calc-results" id="calcResults"></div>
<div class="savings-box" id="savBox">
<div><div class="sb-lbl" data-k="sav_lbl">Économie vs virement SWIFT bancaire classique</div><div style="font-size:11px;color:var(--s400);margin-top:2px" id="savSub"></div></div>
<div class="sb-val" id="savVal">—</div>
</div>
<div class="calc-note" data-k="calc_note_comp">* Virement SWIFT bancaire : estimé à ~4% (commission 0.10% min. 23€ + change 0.50% min. 15€ + frais fixes 25€ + spread banque émettrice ~2.5%) — tarifs bancaires FR collectés en mars 2026. PayPal Business : 2.99% + 1.5% cross-border = ~4.5% hors spread FX de ~3.5% intégré dans le taux (source : PayPal merchant fees, mars 2026). Payoneer : 1% encaissement + 0.5% conversion = ~1.5% (source : payoneer.com/about/pricing, mars 2026). Stripe : 5.25% pour paiement international hors EEA avec conversion devise (1.5% base + 1.75% carte étrangère + 2% FX — source : stripe.com/fr/pricing, mars 2026).</div>
</div>
</div>
</div>
</section>
<!-- COUNTRIES -->
<section class="countries-section">
<div class="container">
<div class="sh center">
<div class="label" data-k="ctr_label">Couverture universelle</div>
<h2 class="sh-title" data-k="ctr_title">L'USDC ne connaît pas de frontières.</h2>
<p class="sh-sub" data-k="ctr_sub">Contrairement aux virements bancaires, les stablecoins sont universels. Tout détenteur d'USDC, où qu'il soit dans le monde, peut régler vos factures en quelques secondes. Sans SWIFT. Sans intermédiaire. Sans friction. Ci-dessous, quelques exemples de marchés où vos clients paient aujourd'hui des frais élevés avec les solutions classiques — et où OstriaPay est jusqu'à 6× moins cher.</p>
</div>
<div class="ctry-grid">
<div class="ctry-card">
<div class="ctry-hd" data-k="cz1">Golfe & Moyen-Orient</div>
<div class="ctry-flags">
<div class="cflag"><span class="cflag-code">AE</span>Émirats Arabes Unis</div>
<div class="cflag"><span class="cflag-code">SA</span>Arabie Saoudite</div>
<div class="cflag"><span class="cflag-code">QA</span>Qatar</div>
<div class="cflag"><span class="cflag-code">KW</span>Koweït</div>
<div class="cflag"><span class="cflag-code">BH</span>Bahreïn</div>
</div>
<p class="ctry-note" data-k="czn1">SWIFT obligatoire depuis ces pays · Frais fixes 25–50€ + spread · OstriaPay : frais prévisibles, montant garanti</p>
</div>
<div class="ctry-card">
<div class="ctry-hd" data-k="cz2">Afrique francophone</div>
<div class="ctry-flags">
<div class="cflag"><span class="cflag-code">MA</span>Maroc</div>
<div class="cflag"><span class="cflag-code">DZ</span>Algérie</div>
<div class="cflag"><span class="cflag-code">TN</span>Tunisie</div>
<div class="cflag"><span class="cflag-code">SN</span>Sénégal</div>
<div class="cflag"><span class="cflag-code">CI</span>Côte d'Ivoire</div>
<div class="cflag"><span class="cflag-code">CM</span>Cameroun</div>
</div>
<p class="ctry-note" data-k="czn2">Wise et Stripe indisponibles sur ces marchés · OstriaPay : seul canal B2B fiable et direct</p>
</div>
<div class="ctry-card">
<div class="ctry-hd" data-k="cz3">Asie du Sud-Est</div>
<div class="ctry-flags">
<div class="cflag"><span class="cflag-code">TH</span>Thaïlande</div>
<div class="cflag"><span class="cflag-code">ID</span>Indonésie · Bali</div>
<div class="cflag"><span class="cflag-code">VN</span>Vietnam</div>
<div class="cflag"><span class="cflag-code">SG</span>Singapour</div>
<div class="cflag"><span class="cflag-code">PH</span>Philippines</div>
</div>
<p class="ctry-note" data-k="czn3">Forte adoption USDC · SWIFT lent (3–5 jours) et coûteux · OstriaPay : 30 secondes, sans intermédiaire bancaire</p>
</div>
<div class="ctry-card">
<div class="ctry-hd" data-k="cz4">Asie de l'Est</div>
<div class="ctry-flags">
<div class="cflag"><span class="cflag-code">JP</span>Japon</div>
<div class="cflag"><span class="cflag-code">KR</span>Corée du Sud</div>
<div class="cflag"><span class="cflag-code">HK</span>Hong Kong</div>
</div>
<p class="ctry-note" data-k="czn4">Partenaires B2B sérieux · Frais correspondants SWIFT élevés · Adoption USDC en forte croissance</p>
</div>
<div class="ctry-card">
<div class="ctry-hd" data-k="cz5">Amériques</div>
<div class="ctry-flags">
<div class="cflag"><span class="cflag-code">US</span>États-Unis</div>
<div class="cflag"><span class="cflag-code">CA</span>Canada</div>
<div class="cflag"><span class="cflag-code">BR</span>Brésil</div>
<div class="cflag"><span class="cflag-code">MX</span>Mexique</div>
</div>
<p class="ctry-note" data-k="czn5">PayPal à 8%+ tout compris · OstriaPay jusqu'à 6× moins cher sur les paiements facture B2B</p>
</div>
<div class="ctry-card">
<div class="ctry-hd" data-k="cz6">Europe hors SEPA</div>
<div class="ctry-flags">
<div class="cflag"><span class="cflag-code">GB</span>Royaume-Uni</div>
<div class="cflag"><span class="cflag-code">CH</span>Suisse</div>
<div class="cflag"><span class="cflag-code">TR</span>Turquie</div>
<div class="cflag"><span class="cflag-code">NO</span>Norvège</div>
</div>
<p class="ctry-note" data-k="czn6">Hors SEPA · Frais SWIFT applicables post-Brexit (UK) · OstriaPay : frais unifiés quel que soit le pays</p>
</div>
</div>
</div>
</section>
<!-- PRICING -->
<section class="pricing-section" id="tarifs">
<div class="container">
<div class="sh center">
<div class="label" data-k="price_label">Tarification</div>
<h2 class="sh-title" data-k="price_title">Simple, transparent, sans abonnement.</h2>
<p class="sh-sub" data-k="price_sub">Vous ne payez que ce que vous utilisez. Le coût exact est affiché avant chaque opération. Aucun frais fixe, aucune mauvaise surprise.</p>
</div>
<div style="max-width:680px;margin:0 auto">
<div class="price-card feat" style="padding:36px">
<div style="display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:28px">
<div>
<div class="label" style="margin-bottom:14px;font-size:10px" data-k="pc1_badge">Encaissement USDC</div>
<p class="price-desc" style="margin-bottom:16px" data-k="pc1_d">Prélevé à chaque paiement reçu, quelle que soit la localisation ou le wallet de votre client.</p>
<div class="price-lines">
<div class="pl"><span class="pl-lbl" data-k="pl1">Frais OstriaPay</span><span class="pl-val accent">0.40%</span></div>
</div>
</div>
<div>
<div class="label" style="margin-bottom:14px;font-size:10px" data-k="pc2_badge">Conversion & virement EUR</div>
<p class="price-desc" style="margin-bottom:16px" data-k="pc2_d">Uniquement si vous décidez de convertir votre solde USDC en euros et de le virer vers votre compte bancaire.</p>
<div class="price-lines">
<div class="pl"><span class="pl-lbl" data-k="pl2">Marge OstriaPay</span><span class="pl-val accent">0.30%</span></div>
<div class="pl"><span class="pl-lbl" data-k="pl3">Frais partenaire</span><span class="pl-val">0.50%</span></div>
<div class="pl"><span class="pl-lbl" data-k="pl4">Virement SEPA</span><span class="pl-val" data-k="pl4_v">Inclus</span></div>
</div>
</div>
</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px">
<div class="price-total" style="margin-bottom:0">
<span class="pt-lbl" data-k="pt1">Si vous conservez vos USDC</span>
<span class="pt-val">0.40%</span>
</div>
<div class="price-total" style="margin-bottom:0">
<span class="pt-lbl" data-k="pt2">Si vous convertissez en EUR</span>
<span class="pt-val">1.20%</span>
</div>
</div>
<div style="border-top:1px solid var(--border);padding-top:22px">
<ul class="price-includes" style="display:grid;grid-template-columns:1fr 1fr;gap:8px">
<li><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="pi1">Demandes de paiement illimitées</span></li>
<li><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="pi2">Traçabilité et réconciliation automatique</span></li>
<li><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="pi5">Taux mid-market, sans spread caché</span></li>
<li><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="pi4">Export comptable inclus</span></li>
<li><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="pi6">Conversion partielle ou totale, à votre heure</span></li>
<li><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg><span data-k="pi8">Montant net affiché avant confirmation</span></li>
</ul>
</div>
</div>
</div>
<p class="price-note" data-k="price_note">Aucun abonnement mensuel · Aucun frais d'inscription · Aucun frais fixe par transaction · L'accès à toutes les fonctionnalités (tableau de bord, comptabilité, multi-utilisateurs, export) est inclus dans ces frais. Vous ne payez que ce que vous utilisez.</p>
</div>
</section>
<!-- ADVANTAGES -->
<section class="adv-section">
<div class="container">
<div class="sh center">
<div class="label" data-k="adv_label">Pourquoi OstriaPay</div>
<h2 class="sh-title" data-k="adv_title">Des dirigeants rassurés. Une comptabilité sans friction.</h2>
<p class="sh-sub" data-k="adv_sub">Avec OstriaPay, c'est encaisser plus vite, moins cher, avec une traçabilité totale. Voici ce qui nous distingue concrètement.</p>
</div>
<div class="adv-grid">
<div class="adv-card">
<div class="adv-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 8v4M12 16h.01"/></svg>
</div>
<h3 data-k="adv1_t">Aucune installation pour votre client</h3>
<p data-k="adv1_p">Votre client n'a pas à installer OstriaPay, créer un compte ou passer par une plateforme tierce. Il paie depuis le wallet ou l'exchange qu'il utilise déjà. La barrière à l'entrée est nulle.</p>
<p class="vs-note" data-k="adv1_vs">Vs PayPal : compte PayPal obligatoire. Vs Wise : compte Wise + virement bancaire requis.</p>
</div>
<div class="adv-card">
<div class="adv-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>
</div>
<h3 data-k="adv2_t">Compatible tout wallet USDC</h3>
<p data-k="adv2_p">MetaMask, Trust Wallet, Coinbase Wallet, Binance, Kraken, OKX — OstriaPay accepte les paiements depuis n'importe quelle source USDC. Sans restriction ni partenariat exclusif.</p>
<p class="vs-note" data-k="adv2_vs">Contrairement à certaines solutions crypto de paiement qui nécessitent que vos deux parties utilisent la même plateforme, OstriaPay accepte n'importe quelle source USDC.</p>
</div>
<div class="adv-card">
<div class="adv-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
</div>
<h3 data-k="adv3_t">Frais transparents, sans surprise</h3>
<p data-k="adv3_p">Vous voyez le montant exact que vous allez recevoir avant de valider chaque conversion. Aucun spread caché dans le taux, aucun frais de correspondant bancaire imprévisible.</p>
<p class="vs-note" data-k="adv3_vs">Vs SWIFT classique : frais correspondants 15–50€ imprévisibles. Vs PayPal : spread FX 3–4% intégré silencieusement dans le taux.</p>
</div>
<div class="adv-card">
<div class="adv-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M17 1l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 23l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3"/></svg>
</div>
<h3 data-k="adv4_t">Rapide : euros sous 24h</h3>
<p data-k="adv4_p">Dès que la conversion est effectuée, le virement SEPA vers votre compte bancaire est initié sous 24h ouvrés. Pas de délai de 3 à 5 jours comme avec un SWIFT international.</p>
<p class="vs-note" data-k="adv4_vs">Vs SWIFT bancaire : 3–5 jours ouvrés minimum. Vs Wise SWIFT : 2–6 jours + frais correspondants.</p>
</div>
<div class="adv-card">
<div class="adv-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
</div>
<h3 data-k="adv5_t">Comptabilité intégrée, rien à ressaisir</h3>
<p data-k="adv5_p">Chaque transaction génère automatiquement les écritures comptables. Journaux, balance, clôture — tout est lié à vos factures et exportable pour votre comptable ou votre logiciel.</p>
<p class="vs-note" data-k="adv5_vs">Aucune autre solution de paiement crypto B2B ne propose une comptabilité intégrée et exportable au même niveau.</p>
</div>
<div class="adv-card">
<div class="adv-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><circle cx="12" cy="12" r="3"/><path d="M19.07 4.93A10 10 0 0 1 21 12a10 10 0 0 1-2.93 7.07M16.24 7.76A6 6 0 0 1 18 12a6 6 0 0 1-1.76 4.24M4.93 4.93A10 10 0 0 0 3 12a10 10 0 0 0 2.93 7.07M7.76 7.76A6 6 0 0 0 6 12a6 6 0 0 0 1.76 4.24"/></svg>
</div>
<h3 data-k="adv6_t">Marchés non couverts par les autres</h3>
<p data-k="adv6_p">Sénégal, Côte d'Ivoire, Maroc, Indonésie, Thaïlande — des marchés où Wise et Stripe sont indisponibles ou impraticables. OstriaPay fonctionne partout où votre client détient des USDC.</p>
<p class="vs-note" data-k="adv6_vs">Stripe : non disponible dans la majorité des pays africains. Wise : pas de rails locaux sur nombreux marchés émergents.</p>
</div>
</div>
</div>
</section>
<!-- WHY / VALUES -->
<section class="why-section" id="apropos">
<div class="container">
<div class="why-grid">
<div>
<div class="label" style="background:rgba(255,255,255,.08);color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.15)" data-k="why_label">Nos valeurs</div>
<h2 style="color:#fff;font-size:clamp(22px,2.8vw,32px);margin:10px 0 12px" data-k="why_title">Une fintech construite sur la confiance et la clarté.</h2>
<p class="sh-sub" data-k="why_sub">OstriaPay est née d'un constat simple : les PME françaises perdent chaque année des milliers d'euros en frais de paiement international opaques. Nous avons construit l'alternative — transparente, conforme, et facile à utiliser.</p>
<div class="why-values">
<div class="wv">
<div class="wv-ico"><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"/></svg></div>
<h4 data-k="wv1_t">Innovation</h4>
<p data-k="wv1_p">Nous construisons les outils que les PME méritaient depuis longtemps dans l'écosystème stablecoin.</p>
</div>
<div class="wv">
<div class="wv-ico"><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 8v4M12 16h.01"/></svg></div>
<h4 data-k="wv2_t">Simplicité</h4>
<p data-k="wv2_p">La complexité des stablecoins ne doit pas reposer sur les épaules du dirigeant. On s'en occupe.</p>
</div>
<div class="wv">
<div class="wv-ico"><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg></div>
<h4 data-k="wv3_t">Transparence</h4>
<p data-k="wv3_p">Chaque frais est affiché avant validation. Aucun spread caché, aucune ligne de facturation surprise.</p>
</div>
<div class="wv">
<div class="wv-ico"><svg width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div>
<h4 data-k="wv4_t">Conformité</h4>
<p data-k="wv4_p">Cadre réglementaire MiCA, KYC/AML intégrés. Vous opérez sereinement, en toute légalité.</p>
</div>
</div>
</div>
<div class="why-right">
<div class="why-feature">
<h4><div class="wf-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div><span data-k="wf1_t">Pensé pour les professionnels, pas pour les experts crypto</span></h4>
<p data-k="wf1_p">Interface conçue pour des dirigeants, comptables et commerciaux — pas pour des développeurs blockchain. Si vous savez utiliser un logiciel de facturation, vous saurez utiliser OstriaPay.</p>
</div>
<div class="why-feature">
<h4><div class="wf-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div><span data-k="wf2_t">De nouvelles fonctionnalités arrivent régulièrement</span></h4>
<p data-k="wf2_p">Nos équipes travaillent en continu pour enrichir la plateforme et franchir la barrière des stablecoins avec de nouvelles fonctionnalités pensées pour une expérience optimale.</p>
</div>
<div class="why-feature">
<h4><div class="wf-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div><span data-k="wf3_t">Support dédié en français et en anglais</span></h4>
<p data-k="wf3_p">Notre équipe est disponible pour vous accompagner dans l'onboarding, répondre à vos questions réglementaires et vous aider à tirer le meilleur d'OstriaPay.</p>
</div>
</div>
</div>
</div>
</section>
<!-- SECURITY -->
<section class="sec-section">
<div class="container">
<div class="sh center">
<div class="label" data-k="sec_label">Sécurité & Conformité</div>
<h2 class="sh-title" data-k="sec_title">Votre argent, protégé à chaque étape.</h2>
<p class="sh-sub" data-k="sec_sub">OstriaPay opère via un partenaire bancaire agréé dans le cadre du règlement européen MiCA. Vos fonds et vos données sont sécurisés selon les standards bancaires les plus élevés.</p>
</div>
<div class="sec-grid">
<div class="sec-card">
<div class="sec-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
</div>
<h3 data-k="sc1_t">Cadre réglementaire MiCA</h3>
<p data-k="sc1_p">Nous opérons via un partenaire bancaire agréé sous le règlement européen MiCA (Markets in Crypto-Assets), le cadre réglementaire de référence pour les services sur actifs numériques dans l'UE.</p>
</div>
<div class="sec-card">
<div class="sec-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/></svg>
</div>
<h3 data-k="sc2_t">KYC / AML intégrés</h3>
<p data-k="sc2_p">Processus de vérification d'identité et de lutte contre le blanchiment conformes aux exigences réglementaires européennes. Chaque utilisateur est vérifié lors de l'inscription.</p>
</div>
<div class="sec-card">
<div class="sec-ico">
<svg width="17" height="17" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" viewbox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg>
</div>
<h3 data-k="sc3_t">Données ségrégées et auditables</h3>
<p data-k="sc3_p">Vos fonds sont ségrégués des fonds propres d'OstriaPay. Chaque opération est journalisée et auditable. Vos données comptables vous appartiennent et sont exportables à tout moment.</p>
</div>
</div>
</div>
</section>
<!-- TESTIMONIALS -->
<section class="testi-section">
<div class="container">
<div class="sh center">
<div class="label-green label" data-k="testi_label">Ils nous font confiance</div>
<h2 class="sh-title" data-k="testi_title">Des clients qui ont franchi le pas — et ne reviennent pas en arrière.</h2>
</div>
<div class="testi-grid">
<div class="testi-card">
<p class="testi-quote" data-k="test1_q">"Nous encaissons des clients à Dubai et à Singapour. Avant OstriaPay, chaque virement SWIFT nous coûtait entre 80 et 150€ de frais, sans compter les délais. Aujourd'hui, c'est réglé en 24h, les frais sont prévisibles et notre comptable exporte directement depuis l'interface."</p>
<div class="testi-author">
<div class="testi-avatar">SC</div>
<div><div class="testi-name">Sophie C.</div><div class="testi-role" data-k="test1_r">CEO — Cabinet de conseil international, Paris</div></div>
</div>
</div>
<div class="testi-card mob-hide">
<p class="testi-quote" data-k="test2_q">"Freelance dans le digital, j'ai des clients au Maroc, en Turquie et aux États-Unis. PayPal me prenait entre 6 et 8% tout compris. Avec OstriaPay, mes clients paient depuis leur wallet, et je reçois mes euros rapidement avec une traçabilité parfaite. Simple, propre, conforme."</p>
<div class="testi-author">
<div class="testi-avatar">AK</div>
<div><div class="testi-name">Alexandre K.</div><div class="testi-role" data-k="test2_r">Freelance développeur — Lyon</div></div>
</div>
</div>
<div class="testi-card mob-hide">
<p class="testi-quote" data-k="test3_q">"On importe des produits d'Asie du Sud-Est et on travaille avec des prestataires à Bali et en Thaïlande. OstriaPay nous a permis de fluidifier nos règlements internationaux tout en gardant une comptabilité propre. C'est le genre d'outil qu'on aurait voulu avoir depuis des années."</p>
<div class="testi-author">
<div class="testi-avatar">MB</div>
<div><div class="testi-name">Marc B.</div><div class="testi-role" data-k="test3_r">Directeur — PME import-export, Bordeaux</div></div>
</div>
</div>
</div>
<div class="coming-soon-banner">
<div class="csb-ico">
<svg width="15" height="15" fill="none" stroke="var(--brand)" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"/></svg>
</div>
<span data-k="csb">De nouvelles fonctionnalités sont en cours de développement pour proposer une expérience encore plus complète et franchir la barrière des stablecoins pour vos collaborateurs et clients. <strong data-k="csb_s">Restez informé — inscrivez-vous et soyez les premiers à en bénéficier.</strong></span>
</div>
</div>
</section>
<!-- TEAM -->
<section class="team-section">
<div class="container">
<div class="sh center">
<div class="label" data-k="team_label">L'équipe fondatrice</div>
<h2 class="sh-title" data-k="team_title">Construite par des experts du paiement international.</h2>
<p class="sh-sub" data-k="team_sub">OstriaPay est née de la frustration de voir des PME françaises perdre chaque année des milliers d'euros en frais de paiement international opaques et complexes.</p>
</div>
<div class="team-grid">
<div class="team-card">
<div class="team-av">PL</div>
<div class="team-name">Pierre-Louis</div>
<div class="team-role" data-k="t1_r">Co-fondateur & CEO</div>
<div class="team-bio" data-k="t1_b">Expert en fintech et blockchain avec plus de 10 ans d'expérience dans le développement de solutions de paiement innovantes. Passionné par l'adoption des technologies crypto dans le commerce.</div>
</div>
<div class="team-card">
<div class="team-av">CH</div>
<div class="team-name">Christophe</div>
<div class="team-role" data-k="t2_r">Co-fondateur & CTO</div>
<div class="team-bio" data-k="t2_b">Ingénieur blockchain et architecte de systèmes financiers. Spécialisé dans la sécurité et la conformité réglementaire des applications crypto.</div>
</div>
</div>
</div>
</section>
<!-- FAQ -->
<section id="faq" style="background:#fff;border-top:2px solid var(--s200)">
<div class="container">
<div class="sh center">
<div class="label">FAQ</div>
<h2 class="sh-title" data-k="faq_title">Questions fréquentes</h2>
</div>
<div class="faq-list">
<div class="faq-item">
<div class="faq-q" onclick="toggleFaq(this)">
<span data-k="fq1">Mon client doit-il créer un compte OstriaPay ou installer quelque chose ?</span>
<div class="faq-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
</div>
<div class="faq-a" data-k="fa1">Non. Votre client paie depuis n'importe quel wallet USDC existant (MetaMask, Trust Wallet, Coinbase Wallet) ou directement depuis un exchange (Binance, Kraken, OKX…). Aucune inscription, aucun téléchargement, aucune friction côté client.</div>
</div>
<div class="faq-item">
<div class="faq-q" onclick="toggleFaq(this)">
<span data-k="fq2">La conversion en euros est-elle automatique ?</span>
<div class="faq-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
</div>
<div class="faq-a" data-k="fa2">Non — vous gardez le contrôle. Vous décidez quand convertir et quelle part de votre solde USDC convertir. Vous pouvez configurer une conversion automatique quotidienne à l'heure de votre choix, ou effectuer des conversions manuelles à tout moment depuis votre tableau de bord.</div>
</div>
<div class="faq-item">
<div class="faq-q" onclick="toggleFaq(this)">
<span data-k="fq3">Quels sont les frais exacts ? Y a-t-il des frais cachés ?</span>
<div class="faq-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
</div>
<div class="faq-a" data-k="fa3">Aucun frais caché. Encaissement : 0.40% (toujours). Si vous convertissez en EUR : +0.30% (OstriaPay) + 0.50% (partenaire). Le montant net est affiché avant chaque validation. Pas d'abonnement, pas de frais d'inscription, pas de frais fixe par transaction.</div>
</div>
<div class="faq-item">
<div class="faq-q" onclick="toggleFaq(this)">
<span data-k="fq4">OstriaPay est-il conforme et réglementé ?</span>
<div class="faq-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
</div>
<div class="faq-a" data-k="fa4">OstriaPay opère via un partenaire bancaire agréé dans le cadre du règlement européen MiCA. Des processus KYC et AML sont intégrés à l'inscription. Vos fonds sont ségrégués des fonds propres d'OstriaPay.</div>
</div>
<div class="faq-item">
<div class="faq-q" onclick="toggleFaq(this)">
<span data-k="fq5">Combien de temps pour recevoir les euros sur mon compte bancaire ?</span>
<div class="faq-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
</div>
<div class="faq-a" data-k="fa5">Sous 24h en jours ouvrés, dès que vous avez validé la conversion. Un virement SEPA est initié automatiquement vers votre compte bancaire français. Pas de délai de 3 à 5 jours comme avec un SWIFT international.</div>
</div>
<div class="faq-item">
<div class="faq-q" onclick="toggleFaq(this)">
<span data-k="fq6">Comment fonctionne la comptabilité dans OstriaPay ?</span>
<div class="faq-ico"><svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" viewbox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg></div>
</div>
<div class="faq-a" data-k="fa6">Chaque opération génère automatiquement des écritures comptables liées à votre facture. Documents disponibles : journaux, balance, documents de clôture. Export dans les formats compatibles avec Sage, QuickBooks, Pennylane ou votre cabinet comptable.</div>
</div>
</div>
</div>
</section>
<!-- FINAL CTA -->
<section class="cta-fin" id="signup">
<div class="container">
<h2 data-k="cta_t">Prêt à prendre le contrôle de vos encaissements internationaux ?</h2>
<p data-k="cta_p">Rejoignez les professionnels qui encaissent plus vite, moins cher et sans friction comptable.</p>
<div class="cta-btns">
<a href="#signup" class="btn btn-white btn-lg" data-k="cta_b1" onclick="goTo('signup');return false;">Créer mon compte gratuitement</a>
<a href="mailto:info@ostriapay.com" class="btn btn-outline-w btn-lg" data-k="cta_b2" onclick="sendMail();return false;">Contactez-nous</a>
</div>
</div>
</section>
<!-- FOOTER -->
<footer id="contact">
<div class="container">
<div class="footer-grid">
<div>
<div class="footer-logo">
OstriaPay
</div>
<p class="footer-desc" data-k="footer_desc">La plateforme stablecoin B2B pour les PME, TPE et freelances français. Simple, transparent, sans abonnement.</p>
</div>
<div class="fc">
<h4 data-k="fc1">Produit</h4>
<ul>
<li><a href="#fonctionnalites" data-k="fl1" onclick="goTo('fonctionnalites');return false;">Fonctionnalités</a></li>
<li><a href="#tarifs" data-k="fl2" onclick="goTo('tarifs');return false;">Tarifs</a></li>
<li><a href="#calculateur" data-k="fl3" onclick="goTo('calculateur');return false;">Calculateur</a></li>
<li><a href="#comment" data-k="fl4" onclick="goTo('comment');return false;">Comment ça marche</a></li>
</ul>
</div>
<div class="fc">
<h4 data-k="fc2">Entreprise</h4>
<ul>
<li><a href="#apropos" data-k="fl5" onclick="goTo('apropos');return false;">À propos</a></li>
<li><a href="mailto:info@ostriapay.com" data-k="fl7" onclick="sendMail();return false;">Contact</a></li>
</ul>
</div>
<div class="fc">
<h4 data-k="fc3">Légal</h4>
<ul>
<li><a href="#" onclick="openLegal('cgu');return false;" data-k="fl9">CGU</a></li>
<li><a href="#" onclick="openLegal('pc');return false;" data-k="fl10">Politique de confidentialité</a></li>
<li><a href="#" onclick="openLegal('ml');return false;" data-k="fl11">Mentions légales</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<span>© 2026 OstriaPay. <span data-k="fr_rights">Tous droits réservés.</span></span>
<div class="mica-tag">
<svg width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
<span data-k="fr_mica">Opère sous cadre MiCA via partenaire bancaire agréé</span>
</div>
</div>
</div>
</footer>
<script>
// ===== I18N =====
const T={
fr:{
nav_feat:"Fonctionnalités",nav_how:"Comment ça marche",nav_pricing:"Tarifs",nav_faq:"FAQ",nav_demo:"Contactez-nous",nav_cta:"Créer un compte",
hero_live:"Solution disponible · Inscription ouverte",
hero_h1:"La plateforme stablecoin<br>qui donne aux <em>entreprises françaises</em><br>le contrôle de leurs encaissements.",
hero_desc:"Encaissez en USDC, gérez votre solde, convertissez quand vous le décidez, exportez votre comptabilité. Tout depuis une interface centralisée, pensée pour les professionnels.",
hero_cta1:"Créer mon compte gratuitement",hero_cta2:"Contactez-nous",
st1:"Frais d'encaissement",st2:"Pays couverts",st3:"Virement SEPA",st4:"Abonnement",
t1:"Cadre réglementaire MiCA",t2:"15+ entreprises clientes",t3:"Virement SEPA sous 24h à 48h",t4:"Export comptable automatisé",t5:"Compatible tout wallet USDC",
feat_label:"Plateforme",feat_title:"Contrôle. Confiance. Clarté. Simplicité.",
feat_sub:"OstriaPay est une interface centralisée qui relie vos factures, vos encaissements en USDC, vos conversions et votre comptabilité en un flux unique, tracé et réconciliable.",
fb1_t:"Demandes de paiement liées aux factures",fb1_p:"Créez une demande de paiement USDC directement rattachée à votre facture. Un lien sécurisé est généré. Votre client paie depuis son wallet en quelques secondes. La réconciliation facture-paiement est automatique.",
fb1_tag1:"Lien de paiement sécurisé",fb1_tag2:"Rattachement facture",fb1_tag3:"Suivi statut en temps réel",
fb2_t:"Réception USDC avec traçabilité complète",fb2_p:"Chaque encaissement est tracé, horodaté et réconcilié avec sa facture et ses documents comptables. Votre solde USDC est visible en temps réel. Historique complet, exportable, conforme.",
fb2_tag1:"Traçabilité totale",fb2_tag2:"Solde temps réel",fb2_tag3:"0.40% d'encaissement",
fb3_t:"Conversion maîtrisée, à votre rythme",fb3_p:"Vous décidez quand et combien convertir. Partiellement ou totalement, une fois par jour à l'heure que vous configurez — ou manuellement à tout moment. Aucune conversion automatique imposée.",
fb3_tag1:"Partielle ou totale",fb3_tag2:"Heure configurable",fb3_tag3:"0.80% conversion",
fb4_t:"Comptabilité automatisée et exportable",fb4_p:"Journaux, balance et documents de clôture générés automatiquement. Tout est lié, tracé, réconcilié avec vos factures. Export dans les formats compatibles avec vos logiciels ou cabinet comptable.",
fb4_tag1:"Journaux & balance",fb4_tag2:"Clôture automatique",fb4_tag3:"Export Sage, Pennylane…",
ff_label:"Toutes les fonctionnalités",ff_title:"Tout ce dont votre entreprise a besoin, connecté.",
ff_sub:"Chaque fonctionnalité est conçue pour fonctionner ensemble. Vos données ne sont jamais en silo — elles sont reliées, tracées et réconciliables à tout moment.",
ff1_t:"Tableau de bord analytique",ff1_p:"Synthèse intelligente de votre activité stablecoin. Volumes encaissés, conversions effectuées, évolution du solde, performances par période.",
ff1_l1:"KPIs en temps réel",ff1_l2:"Graphiques de tendances",ff1_l3:"Alertes et notifications",
ff2_t:"Gestion des clients & des factures",ff2_p:"Carnet de clients, historique des transactions par client, rattachement systématique des paiements aux références de factures.",
ff2_l1:"Réconciliation auto facture-paiement",ff2_l2:"Historique par client",ff2_l3:"Statuts : en attente / reçu / converti",
ff3_t:"Virements SEPA vers votre banque",ff3_p:"Une fois la conversion effectuée, virement SEPA automatique vers votre compte bancaire français. Sous 24h en jours ouvrés.",
ff3_l1:"Virement automatique post-conversion",ff3_l2:"Sous 24h ouvrés",ff3_l3:"Traçabilité complète",
ff4_t:"Gestion multi-utilisateurs & rôles",ff4_p:"Définissez des rôles distincts pour vos collaborateurs : comptable, commercial, gestionnaire. Chacun accède uniquement à ce dont il a besoin.",
ff4_l1:"Rôles Owner / Finance / Comptable",ff4_l2:"Permissions granulaires",ff4_l3:"Journaux d'audit",
ff5_t:"Suivi en temps réel",ff5_p:"Statut de chaque transaction mis à jour en direct. Notifications configurables. Aucune opération ne passe inaperçue.",
ff5_l1:"Statuts : en attente / confirmé / converti",ff5_l2:"Notifications configurables",ff5_l3:"Historique horodaté",
ff6_t:"Export comptable & intégrations",ff6_p:"Documents disponibles : journaux, balance, documents de clôture. Export dans les formats compatibles Sage, QuickBooks, Pennylane, ou votre cabinet comptable.",
ff6_l1:"Journaux, balance, clôture",ff6_l2:"Formats comptables standards",ff6_l3:"Compatible logiciels & cabinets",
flow_label:"Comment ça marche",flow_title:"Encaissez plus vite, moins cher, sans friction comptable.",
flow_sub:"Votre client paie en USDC. Vous gardez la main sur tout le reste : quand convertir, combien, et vers quel compte.",
fp1_t:"Aucun compte requis pour votre client.",fp1_p:"Il paie depuis n'importe quel wallet USDC ou exchange. MetaMask, Trust Wallet, Coinbase Wallet, Binance — tout est compatible.",
fp2_t:"Vous décidez de la conversion.",fp2_p:"Partiellement ou totalement, une fois par jour à l'heure que vous configurez — ou manuellement. Aucune conversion imposée.",
fp3_t:"Tout est lié et exportable.",fp3_p:"Chaque opération est tracée, rattachée à sa facture et intégrée dans votre comptabilité. Rien à ressaisir.",
fc_title:"Exemple de flux — 5 000 USDC",
fcs1:"Client envoie",fcs2:"Votre décision",fcs3:"Conversion USDC → EUR",fcs4:"Virement SEPA",
fs1_a:"Montant envoyé",fs1_b:"Frais OstriaPay (0.40%)",fs1_c:"Solde reçu sur votre compte",
fc_decide:"Vous choisissez de convertir",fc_pct:"100%",
fs3_a:"USDC à convertir",fs3_b:"Marge OstriaPay (0.30%)",fs3_c:"Frais partenaire (0.50%)",fs3_d:"Net converti au taux actuel",
fs4_a:"Sur votre compte bancaire",fs4_b:"Sous 24h",
fs_total_lbl:"Total frais (encaissement + conversion)",fs_note:"Dont 0.40% encaissement + 0.30% OstriaPay + 0.50% partenaire de conversion",
hiw_label:"En 3 étapes",hiw_title:"Opérationnel en 5 minutes",
hiw1_t:"Vous créez votre compte",hiw1_p:"Inscription gratuite. Vérification KYB simple approuvée sous 24h à 48h. Vérification KYB simple. Aucun abonnement, aucun frais d'ouverture. Accès immédiat à l'interface OstriaPay.",
hiw2_t:"Vous créez une demande de paiement",hiw2_p:"Rattachez-la à votre facture. Un lien sécurisé est généré. Envoyez-le à votre client. Il paie depuis son wallet USDC en moins de 30 secondes.",
hiw3_t:"Vous gérez, convertissez, exportez",hiw3_p:"Depuis votre tableau de bord : suivez votre solde, décidez quand convertir, virez en euros vers votre banque, exportez votre comptabilité.",
calc_label:"Calculateur",calc_title:"Estimez vos frais réels",
calc_sub:"Ajustez le montant encaissé et la part convertie en euros. Comparez avec les solutions alternatives.",
vt1:"Par transaction",vt2:"Par mois",vt3:"Par an",
cl1:"Montant encaissé",cl2:"Part convertie en EUR",
cb1:"Frais encaissement (0.40%)",cb2:"Frais conversion OstriaPay (0.30%)",cb3:"Frais conversion partenaire (0.50%)",cb4:"Total frais",cb5:"Vous recevez",
rate_note:"Taux USD/EUR en cours de chargement…",
sav_lbl:"Économie vs virement SWIFT bancaire classique",
calc_note_comp:"* Virement SWIFT bancaire : estimé à ~4% — tarifs bancaires FR, mars 2026. PayPal Business : ~4.5% hors spread FX 3.5% — source : PayPal merchant fees, mars 2026. Payoneer : ~1.5% (1% encaissement + 0.5% conversion) — source : payoneer.com/about/pricing, mars 2026. Stripe : ~5.25% (carte hors EEA + conversion FX) — source : stripe.com/fr/pricing, mars 2026.",
ctr_label:"Couverture universelle",ctr_title:"L'USDC ne connaît pas de frontières.",
ctr_sub:"Contrairement aux virements bancaires, les stablecoins sont universels. Tout détenteur d'USDC, où qu'il soit dans le monde, peut régler vos factures en quelques secondes. Sans SWIFT. Sans intermédiaire. Ci-dessous, quelques marchés où vos clients paient aujourd'hui des frais élevés avec les solutions classiques.",
cz1:"Golfe & Moyen-Orient",cz2:"Afrique francophone",cz3:"Asie du Sud-Est",cz4:"Asie de l'Est",cz5:"Amériques",cz6:"Europe hors SEPA",
czn1:"SWIFT obligatoire depuis ces pays · Frais fixes 25–50€ + spread · OstriaPay : frais prévisibles, montant garanti",
czn2:"Wise et Stripe indisponibles sur ces marchés · OstriaPay : seul canal B2B fiable et direct",
czn3:"Forte adoption USDC · SWIFT lent (3–5 jours) et coûteux · OstriaPay : 30 secondes, sans intermédiaire bancaire",
czn4:"Partenaires B2B sérieux · Frais correspondants SWIFT élevés · Adoption USDC en forte croissance",
czn5:"PayPal à 8%+ tout compris · OstriaPay jusqu'à 6× moins cher sur les paiements facture B2B",
czn6:"Hors SEPA · Frais SWIFT applicables post-Brexit (UK) · OstriaPay : frais unifiés quel que soit le pays",
price_label:"Tarification",price_title:"Simple, transparent, sans abonnement.",
price_sub:"Vous ne payez que ce que vous utilisez. Le coût exact est affiché avant chaque opération. Aucun frais fixe, aucune mauvaise surprise.",
pc1_badge:"Encaissement",pc1_t:"Vous recevez des USDC",pc1_d:"À chaque paiement reçu de votre client. Quelle que soit sa localisation, son wallet, son montant.",
pl1:"Frais OstriaPay sur encaissement",pt1:"Si vous conservez vos USDC",
pc2_badge:"Conversion & virement",pc2_t:"Vous convertissez en euros",
pc2_d:"Uniquement si vous choisissez de convertir votre solde USDC en euros et de le virer vers votre compte bancaire.",
pl2:"Marge OstriaPay sur conversion",pl3:"Frais partenaire de conversion",pl4:"Virement SEPA vers votre banque",pt2:"Total si conversion complète",
pi1:"Demandes de paiement illimitées",pi2:"Traçabilité et réconciliation automatique",pi3:"Tableau de bord, gestion clients",pi4:"Export comptable inclus",
pi5:"Taux mid-market, sans spread caché",pi6:"Partielle ou totale, à votre heure",pi7:"Virement SEPA sous 24h à 48h",pi8:"Montant net affiché avant confirmation",
price_note:"Aucun abonnement mensuel · Aucun frais d'inscription · Aucun frais fixe par transaction · L'accès à toutes les fonctionnalités est inclus dans ces frais.",
adv_label:"Pourquoi OstriaPay",adv_title:"Des dirigeants rassurés. Une comptabilité sans friction.",
adv_sub:"Avec OstriaPay, c'est encaisser plus vite, moins cher, avec une traçabilité totale. Voici ce qui nous distingue concrètement.",
adv1_t:"Aucune installation pour votre client",adv1_p:"Votre client n'a pas à installer OstriaPay, créer un compte ou passer par une plateforme tierce. Il paie depuis le wallet ou l'exchange qu'il utilise déjà.",
adv1_vs:"Vs PayPal : compte PayPal obligatoire. Vs Wise : compte Wise + virement bancaire requis.",
adv2_t:"Compatible tout wallet USDC",adv2_p:"MetaMask, Trust Wallet, Coinbase Wallet, Binance, Kraken, OKX — OstriaPay accepte les paiements depuis n'importe quelle source USDC.",
adv2_vs:"Vs Binance Pay : client ET marchand doivent être sur Binance. Vs Coinbase Commerce : compte Coinbase requis.",
adv3_t:"Frais transparents, sans surprise",adv3_p:"Vous voyez le montant exact que vous allez recevoir avant de valider chaque conversion. Aucun spread caché dans le taux, aucun frais de correspondant bancaire imprévisible.",
adv3_vs:"Vs SWIFT classique : frais correspondants 15–50€ imprévisibles. Vs PayPal : spread FX 3–4% intégré silencieusement.",
adv4_t:"Rapide : euros sous 24h",adv4_p:"Dès que la conversion est effectuée, le virement SEPA vers votre compte bancaire est initié sous 24h ouvrés.",
adv4_vs:"Vs SWIFT bancaire : 3–5 jours ouvrés minimum. Vs Wise SWIFT : 2–6 jours + frais correspondants.",
adv5_t:"Comptabilité intégrée, rien à ressaisir",adv5_p:"Chaque transaction génère automatiquement les écritures comptables. Journaux, balance, clôture — tout est lié à vos factures et exportable.",
adv5_vs:"Aucune autre solution crypto B2B ne propose une comptabilité intégrée et exportable à ce niveau.",
adv6_t:"Marchés non couverts par les autres",adv6_p:"Sénégal, Côte d'Ivoire, Maroc, Indonésie, Thaïlande — des marchés où Wise et Stripe sont indisponibles ou impraticables.",
adv6_vs:"Stripe : non disponible dans la majorité des pays africains. Wise : pas de rails locaux sur nombreux marchés émergents.",
why_label:"Nos valeurs",why_title:"Une fintech construite sur la confiance et la clarté.",
why_sub:"OstriaPay est née d'un constat simple : les PME françaises perdent chaque année des milliers d'euros en frais de paiement international opaques.",
wv1_t:"Innovation",wv1_p:"Nous construisons les outils que les PME méritaient dans l'écosystème stablecoin.",
wv2_t:"Simplicité",wv2_p:"La complexité des stablecoins ne doit pas reposer sur le dirigeant. On s'en occupe.",
wv3_t:"Transparence",wv3_p:"Chaque frais est affiché avant validation. Aucun spread caché, aucune ligne surprise.",
wv4_t:"Conformité",wv4_p:"Cadre MiCA, KYC/AML intégrés. Vous opérez sereinement, en toute légalité.",
wf1_t:"Pensé pour les professionnels, pas pour les experts crypto",wf1_p:"Interface conçue pour des dirigeants, comptables et commerciaux — pas pour des développeurs blockchain.",
wf2_t:"De nouvelles fonctionnalités arrivent régulièrement",wf2_p:"Nos équipes enrichissent la plateforme en continu pour franchir la barrière des stablecoins.",
wf3_t:"Support dédié en français et en anglais",wf3_p:"Notre équipe vous accompagne dans l'onboarding et répond à vos questions réglementaires.",
sec_label:"Sécurité & Conformité",sec_title:"Votre argent, protégé à chaque étape.",
sec_sub:"OstriaPay opère via un partenaire bancaire agréé dans le cadre du règlement européen MiCA.",
sc1_t:"Cadre réglementaire MiCA",sc1_p:"Partenaire bancaire agréé sous le règlement MiCA, le cadre de référence pour les services sur actifs numériques dans l'UE.",
sc2_t:"KYC / AML intégrés",sc2_p:"Processus de vérification d'identité et AML conformes aux exigences réglementaires européennes.",
sc3_t:"Données ségrégées et auditables",sc3_p:"Vos fonds sont ségrégués. Chaque opération est journalisée et auditable. Vos données vous appartiennent.",
testi_label:"Ils nous font confiance",testi_title:"Des clients qui ont franchi le pas — et ne reviennent pas en arrière.",
test1_q:"\"Nous encaissons des clients à Dubai et à Singapour. Avant OstriaPay, chaque virement SWIFT nous coûtait entre 80 et 150€. Aujourd'hui, c'est réglé en 24h, les frais sont prévisibles et notre comptable exporte directement depuis l'interface.\"",
test1_r:"CEO — Cabinet de conseil international, Paris",
test2_q:"\"Freelance dans le digital avec des clients au Maroc, en Turquie et aux États-Unis. PayPal me prenait entre 6 et 8% tout compris. Avec OstriaPay, mes clients paient depuis leur wallet, et je reçois mes euros rapidement avec une traçabilité parfaite.\"",
test2_r:"Freelance développeur — Lyon",
test3_q:"\"On importe des produits d'Asie du Sud-Est. OstriaPay nous a permis de fluidifier nos règlements internationaux tout en gardant une comptabilité propre. C'est le genre d'outil qu'on aurait voulu depuis des années.\"",
test3_r:"Directeur — PME import-export, Bordeaux",
csb:"De nouvelles fonctionnalités sont en cours de développement pour proposer une expérience encore plus complète.",csb_s:"Inscrivez-vous et soyez les premiers à en bénéficier.",
team_label:"L'équipe fondatrice",team_title:"Construite par des experts du paiement international.",
team_sub:"OstriaPay est née de la frustration de voir des PME françaises perdre chaque année des milliers d'euros en frais de paiement international opaques.",
t1_r:"Co-fondateur & CEO",t1_b:"Expert en fintech et blockchain avec plus de 10 ans d'expérience dans le développement de solutions de paiement innovantes. Passionné par l'adoption des technologies crypto dans le commerce.",
t2_r:"Co-fondateur & CTO",t2_b:"Ingénieur blockchain et architecte de systèmes financiers. Spécialisé dans la sécurité et la conformité réglementaire des applications crypto.",
faq_title:"Questions fréquentes",
fq1:"Mon client doit-il créer un compte OstriaPay ou installer quelque chose ?",fa1:"Non. Votre client paie depuis n'importe quel wallet USDC existant ou directement depuis un exchange. Aucune inscription, aucun téléchargement, aucune friction.",
fq2:"La conversion en euros est-elle automatique ?",fa2:"Non — vous gardez le contrôle. Vous décidez quand convertir et quelle part de votre solde USDC convertir. Conversion automatique quotidienne configurable, ou manuelle à tout moment.",
fq3:"Quels sont les frais exacts ? Y a-t-il des frais cachés ?",fa3:"Aucun frais caché. Encaissement : 0.40%. Si vous convertissez : +0.30% (OstriaPay) + 0.50% (partenaire). Affiché avant chaque validation. Pas d'abonnement, pas de frais fixe.",
fq4:"OstriaPay est-il conforme et réglementé ?",fa4:"OstriaPay opère via un partenaire bancaire agréé dans le cadre MiCA. KYC et AML intégrés à l'inscription. Vos fonds sont ségrégués.",
fq5:"Combien de temps pour recevoir les euros sur mon compte bancaire ?",fa5:"Sous 24h en jours ouvrés, dès que vous avez validé la conversion. Virement SEPA automatique vers votre compte bancaire français.",
fq6:"Comment fonctionne la comptabilité dans OstriaPay ?",fa6:"Journaux, balance, clôture générés automatiquement et liés à vos factures. Export dans les formats compatibles Sage, QuickBooks, Pennylane ou votre cabinet.",
cta_t:"Prêt à prendre le contrôle de vos encaissements internationaux ?",
cta_p:"Rejoignez les professionnels qui encaissent plus vite, moins cher et sans friction comptable.",
cta_b1:"Créer mon compte gratuitement",cta_b2:"Contactez-nous",
footer_desc:"La plateforme stablecoin B2B pour les PME, TPE et freelances français.",
fc1:"Produit",fc2:"Entreprise",fc3:"Légal",
fl1:"Fonctionnalités",fl2:"Tarifs",fl3:"Calculateur",fl4:"Comment ça marche",
fl5:"À propos",fl7:"Contact",
fl9:"CGU",fl10:"Politique de confidentialité",fl11:"Mentions légales",
fr_rights:"Tous droits réservés.",fr_mica:"Opère sous cadre MiCA via partenaire bancaire agréé"
},
en:{
nav_feat:"Features",nav_how:"How it works",nav_pricing:"Pricing",nav_faq:"FAQ",nav_demo:"Contact us",nav_cta:"Create account",
hero_live:"Available now · Open registration",
hero_h1:"The stablecoin platform<br>that gives <em>French businesses</em><br>control over their receivables.",
hero_desc:"Collect in USDC, manage your balance, convert when you decide, export your accounting. All from one centralized interface built for professionals.",
hero_cta1:"Create my free account",hero_cta2:"Contact us",
st1:"Collection fee",st2:"Countries covered",st3:"SEPA transfer",st4:"Subscription",
t1:"MiCA regulatory framework",t2:"15+ business clients",t3:"SEPA transfer within 24–48h",t4:"Automated accounting export",t5:"Compatible with any USDC wallet",
feat_label:"Platform",feat_title:"Control. Trust. Clarity. Simplicity.",
feat_sub:"OstriaPay is a centralized interface that connects your invoices, USDC collections, conversions and accounting into one single, traced and reconcilable flow.",
fb1_t:"Payment requests linked to invoices",fb1_p:"Create a USDC payment request directly linked to your invoice. A secure link is generated. Your client pays from their wallet in seconds. Invoice-payment reconciliation is automatic.",
fb1_tag1:"Secure payment link",fb1_tag2:"Invoice attachment",fb1_tag3:"Real-time status tracking",
fb2_t:"USDC collection with full traceability",fb2_p:"Every collection is traced, timestamped and reconciled with its invoice and accounting documents. Your USDC balance is visible in real time.",
fb2_tag1:"Full traceability",fb2_tag2:"Real-time balance",fb2_tag3:"0.40% collection fee",
fb3_t:"Controlled conversion, at your pace",fb3_p:"You decide when and how much to convert. Partially or fully, once a day at the time you configure — or manually at any time. No forced automatic conversion.",
fb3_tag1:"Partial or full",fb3_tag2:"Configurable time",fb3_tag3:"0.80% conversion",
fb4_t:"Automated, exportable accounting",fb4_p:"Journals, balance and closing documents generated automatically. Everything is linked, traced and reconciled with your invoices. Export in formats compatible with your software or accountant.",
fb4_tag1:"Journals & balance",fb4_tag2:"Auto closing",fb4_tag3:"Export Sage, Pennylane…",
ff_label:"All features",ff_title:"Everything your business needs, connected.",
ff_sub:"Every feature is designed to work together. Your data is never siloed — it's connected, traced and reconcilable at any time.",
ff1_t:"Analytics dashboard",ff1_p:"Smart summary of your stablecoin activity. Collected volumes, conversions, balance evolution, performance by period.",
ff1_l1:"Real-time KPIs",ff1_l2:"Trend charts",ff1_l3:"Alerts and notifications",
ff2_t:"Client & invoice management",ff2_p:"Client directory, transaction history per client, automatic linking of payments to invoice references.",
ff2_l1:"Auto invoice-payment reconciliation",ff2_l2:"Per-client history",ff2_l3:"Statuses: pending / received / converted",
ff3_t:"SEPA transfers to your bank",ff3_p:"Once conversion is done, automatic SEPA transfer to your French bank account within 24 business hours.",
ff3_l1:"Automatic post-conversion transfer",ff3_l2:"Within 24 business hours",ff3_l3:"Full traceability",
ff4_t:"Multi-user & role management",ff4_p:"Assign distinct roles to your team: accountant, sales, finance manager. Each person accesses only what they need.",
ff4_l1:"Owner / Finance / Accountant roles",ff4_l2:"Granular permissions",ff4_l3:"Audit trails",
ff5_t:"Real-time tracking",ff5_p:"Every transaction status updated live. Configurable notifications. No operation goes unnoticed.",
ff5_l1:"Statuses: pending / confirmed / converted",ff5_l2:"Configurable notifications",ff5_l3:"Timestamped history",
ff6_t:"Accounting export & integrations",ff6_p:"Documents available: journals, balance, closing documents. Export in formats compatible with Sage, QuickBooks, Pennylane or your accountant.",
ff6_l1:"Journals, balance, closing",ff6_l2:"Standard accounting formats",ff6_l3:"Compatible with software & firms",
flow_label:"How it works",flow_title:"Collect faster, cheaper, without accounting friction.",
flow_sub:"Your client pays in USDC. You control the rest: when to convert, how much, and to which account.",
fp1_t:"No account required for your client.",fp1_p:"They pay from any USDC wallet or exchange. MetaMask, Trust Wallet, Coinbase Wallet, Binance — all compatible.",
fp2_t:"You decide the conversion.",fp2_p:"Partially or fully, once a day at the time you configure — or manually. No imposed conversion.",
fp3_t:"Everything is linked and exportable.",fp3_p:"Every operation is traced, linked to its invoice and integrated into your accounting. Nothing to re-enter.",
fc_title:"Flow example — 5,000 USDC",
fcs1:"Client sends",fcs2:"Your decision",fcs3:"USDC → EUR conversion",fcs4:"SEPA transfer",
fs1_a:"Amount sent",fs1_b:"OstriaPay fee (0.40%)",fs1_c:"Balance received on your account",
fc_decide:"You choose to convert",fc_pct:"100%",
fs3_a:"USDC to convert",fs3_b:"OstriaPay margin (0.30%)",fs3_c:"Partner fee (0.50%)",fs3_d:"Net converted at current rate",
fs4_a:"To your bank account",fs4_b:"Within 24h",
fs_total_lbl:"Total fees (collection + conversion)",fs_note:"Of which: 0.40% collection + 0.30% OstriaPay + 0.50% conversion partner",
hiw_label:"In 3 steps",hiw_title:"Up and running in 5 minutes",
hiw1_t:"Create your account",hiw1_p:"Free registration. Simple KYB verification approved within 24–48h. Simple KYB verification. No subscription, no opening fees. Immediate access.",
hiw2_t:"Create a payment request",hiw2_p:"Link it to your invoice. A secure link is generated. Your client pays from their USDC wallet in under 30 seconds.",
hiw3_t:"Manage, convert, export",hiw3_p:"From your dashboard: track your balance, decide when to convert, transfer euros to your bank, export your accounting.",
calc_label:"Calculator",calc_title:"Estimate your real fees",
calc_sub:"Adjust the collected amount and the portion converted to euros. Compare with alternative solutions.",
vt1:"Per transaction",vt2:"Per month",vt3:"Per year",
cl1:"Amount collected",cl2:"Portion converted to EUR",
cb1:"Collection fee (0.40%)",cb2:"OstriaPay conversion fee (0.30%)",cb3:"Partner conversion fee (0.50%)",cb4:"Total fees",cb5:"You receive",
rate_note:"Loading USD/EUR rate…",
sav_lbl:"Savings vs classic bank SWIFT wire",
calc_note_comp:"* Bank SWIFT wire: estimated at ~4% — French bank tariffs, March 2026. PayPal Business: ~4.5% excl. FX spread 3.5% — source: PayPal merchant fees, March 2026. Payoneer: ~1.5% (1% collection + 0.5% conversion) — source: payoneer.com/about/pricing, March 2026. Stripe: ~5.25% (non-EEA card + FX conversion) — source: stripe.com/pricing, March 2026.",
ctr_label:"Universal coverage",ctr_title:"USDC knows no borders.",
ctr_sub:"Unlike bank wires, stablecoins are universal. Any USDC holder, anywhere in the world, can settle your invoices in seconds. No SWIFT. No intermediary. Below are key markets where your clients currently pay high fees with classic solutions.",
cz1:"Gulf & Middle East",cz2:"Francophone Africa",cz3:"Southeast Asia",cz4:"East Asia",cz5:"Americas",cz6:"Europe outside SEPA",
czn1:"SWIFT mandatory · Fixed fees 25–50€ + spread · OstriaPay: predictable fees, guaranteed amount",
czn2:"Wise and Stripe unavailable · OstriaPay: only reliable direct B2B channel",
czn3:"High USDC adoption · SWIFT slow (3–5 days) and costly · OstriaPay: 30 seconds, no bank intermediary",
czn4:"Serious B2B partners · High SWIFT correspondent fees · USDC adoption growing fast",
czn5:"PayPal at 8%+ all-in · OstriaPay up to 6× cheaper on B2B invoice payments",
czn6:"Outside SEPA · SWIFT fees apply post-Brexit (UK) · OstriaPay: unified fees regardless of country",
price_label:"Pricing",price_title:"Simple, transparent, no subscription.",
price_sub:"You only pay for what you use. The exact cost is shown before every operation. No fixed fees, no surprises.",
pc1_badge:"Collection",pc1_t:"You receive USDC",pc1_d:"On every payment received from your client. Regardless of their location, wallet or amount.",
pl1:"OstriaPay collection fee",pt1:"If you keep your USDC",
pc2_badge:"Conversion & transfer",pc2_t:"You convert to euros",
pc2_d:"Only if you choose to convert your USDC balance to euros and transfer it to your bank account.",
pl2:"OstriaPay conversion margin",pl3:"Partner conversion fee",pl4:"SEPA transfer to your bank",pt2:"Total if full conversion",
pi1:"Unlimited payment requests",pi2:"Automatic traceability and reconciliation",pi3:"Dashboard, client management",pi4:"Accounting export included",
pi5:"Mid-market rate, no hidden spread",pi6:"Partial or full, at your time",pi7:"SEPA transfer within 24–48h",pi8:"Net amount shown before confirmation",
price_note:"No monthly subscription · No registration fee · No fixed fee per transaction · Access to all features is included in these fees.",
adv_label:"Why OstriaPay",adv_title:"Reassured managers. Accounting without friction.",
adv_sub:"With OstriaPay, collect faster, cheaper, with full traceability. Here's what concretely sets us apart.",
adv1_t:"No installation required for your client",adv1_p:"Your client doesn't need to install OstriaPay, create an account or use a third-party platform.",
adv1_vs:"Vs PayPal: PayPal account required. Vs Wise: Wise account + bank transfer required.",
adv2_t:"Compatible with any USDC wallet",adv2_p:"MetaMask, Trust Wallet, Coinbase Wallet, Binance, Kraken, OKX — OstriaPay accepts payments from any USDC source.",
adv2_vs:"Unlike some crypto payment solutions that require both parties to use the same platform, OstriaPay accepts any USDC source.",
adv3_t:"Transparent fees, no surprises",adv3_p:"You see the exact net amount before validating each conversion. No hidden spread in the rate, no unpredictable correspondent fees.",
adv3_vs:"Vs classic SWIFT: 15–50€ unpredictable correspondent fees. Vs PayPal: 3–4% FX spread silently embedded in rate.",
adv4_t:"Fast: euros within 24h",adv4_p:"Once conversion is done, SEPA transfer to your bank is initiated within 24 business hours.",
adv4_vs:"Vs bank SWIFT: 3–5 business days minimum. Vs Wise SWIFT: 2–6 days + correspondent fees.",
adv5_t:"Integrated accounting, nothing to re-enter",adv5_p:"Every transaction automatically generates accounting entries linked to your invoices. Journals, balance, closing — all exportable.",
adv5_vs:"No other B2B crypto payment solution offers integrated, exportable accounting at this level.",
adv6_t:"Markets not covered by others",adv6_p:"Senegal, Ivory Coast, Morocco, Indonesia, Thailand — markets where Wise and Stripe are unavailable or impractical.",
adv6_vs:"Stripe: not available in most African countries. Wise: no local rails on many emerging markets.",
why_label:"Our values",why_title:"A fintech built on trust and clarity.",
why_sub:"OstriaPay was born from a simple observation: French SMEs lose thousands of euros every year in opaque international payment fees.",
wv1_t:"Innovation",wv1_p:"We build the tools SMEs deserved in the stablecoin ecosystem.",
wv2_t:"Simplicity",wv2_p:"The complexity of stablecoins shouldn't rest on the manager's shoulders. We handle it.",
wv3_t:"Transparency",wv3_p:"Every fee is shown before validation. No hidden spread, no surprise billing lines.",
wv4_t:"Compliance",wv4_p:"MiCA framework, integrated KYC/AML. Operate serenely, legally.",
wf1_t:"Built for professionals, not crypto experts",wf1_p:"Interface designed for managers, accountants and sales teams — not blockchain developers.",
wf2_t:"New features arrive regularly",wf2_p:"Our teams continuously enrich the platform to break down stablecoin barriers.",
wf3_t:"Dedicated support in French and English",wf3_p:"Our team accompanies you through onboarding and answers your regulatory questions.",
sec_label:"Security & Compliance",sec_title:"Your money, protected at every step.",
sec_sub:"OstriaPay operates via a licensed banking partner under the European MiCA regulation.",
sc1_t:"MiCA regulatory framework",sc1_p:"Licensed banking partner under the EU MiCA regulation, the reference framework for digital asset services in the EU.",
sc2_t:"Integrated KYC / AML",sc2_p:"Identity verification and AML processes compliant with European regulatory requirements.",
sc3_t:"Segregated and auditable data",sc3_p:"Your funds are segregated from OstriaPay's own funds. Every operation is logged and auditable.",
testi_label:"They trust us",testi_title:"Clients who took the leap — and never looked back.",
test1_q:"\"We collect from clients in Dubai and Singapore. Before OstriaPay, every SWIFT wire cost 80 to 150€ in fees. Now it's settled in 24h, fees are predictable and our accountant exports directly from the interface.\"",
test1_r:"CEO — International consulting firm, Paris",
test2_q:"\"Freelancer in digital with clients in Morocco, Turkey and the US. PayPal took 6 to 8% all-in. With OstriaPay, my clients pay from their wallet, I receive euros quickly with perfect traceability.\"",
test2_r:"Freelance developer — Lyon",
test3_q:"\"We import products from Southeast Asia. OstriaPay allowed us to streamline international settlements while keeping clean accounting. It's the tool we've wanted for years.\"",
test3_r:"Director — Import-export SME, Bordeaux",
csb:"New features are in development to provide an even more complete experience.",csb_s:"Sign up and be the first to benefit.",
team_label:"The founding team",team_title:"Built by international payment experts.",
team_sub:"OstriaPay was born from the frustration of seeing French SMEs pay exorbitant fees to collect from international clients.",
t1_r:"Co-founder & CEO",t1_b:"Fintech and blockchain expert with over 10 years of experience building innovative payment solutions. Passionate about crypto adoption in commerce.",
t2_r:"Co-founder & CTO",t2_b:"Blockchain engineer and financial systems architect. Specialized in security and regulatory compliance of crypto applications.",
faq_title:"Frequently asked questions",
fq1:"Does my client need to create an OstriaPay account or install anything?",fa1:"No. Your client pays from any existing USDC wallet or directly from an exchange. No registration, no download, no friction.",
fq2:"Is the euro conversion automatic?",fa2:"No — you stay in control. You decide when to convert and what portion of your USDC balance to convert. Configure daily auto-conversion or do it manually anytime.",
fq3:"What are the exact fees? Are there hidden charges?",fa3:"No hidden fees. Collection: 0.40%. If you convert: +0.30% (OstriaPay) + 0.50% (partner). Shown before every validation. No subscription, no fixed fee.",
fq4:"Is OstriaPay compliant and regulated?",fa4:"OstriaPay operates via a licensed banking partner under the EU MiCA framework. KYC and AML integrated at registration. Your funds are segregated.",
fq5:"How long to receive euros in my bank account?",fa5:"Within 24 business hours, once you validate the conversion. Automatic SEPA transfer to your French bank account.",
fq6:"How does accounting work in OstriaPay?",fa6:"Journals, balance, closing documents generated automatically and linked to your invoices. Export in formats compatible with Sage, QuickBooks, Pennylane or your accountant.",
cta_t:"Ready to take control of your international collections?",
cta_p:"Join the professionals who collect faster, cheaper and without accounting friction.",
cta_b1:"Create my free account",cta_b2:"Contact us",
footer_desc:"The B2B stablecoin platform for French SMEs, freelancers and businesses.",
fc1:"Product",fc2:"Company",fc3:"Legal",
fl1:"Features",fl2:"Pricing",fl3:"Calculator",fl4:"How it works",
fl5:"About",fl7:"Contact",
fl9:"Terms & Conditions",fl10:"Privacy policy",fl11:"Legal notice",
fr_rights:"All rights reserved.",fr_mica:"Operates under MiCA framework via licensed banking partner"
}};
let lang='fr';
function setL(l,btn){
lang=l;
document.querySelectorAll('.lang-btn').forEach(b=>b.classList.remove('on'));
btn.classList.add('on');
document.documentElement.lang=l;
document.querySelectorAll('[data-k]').forEach(el=>{
const k=el.getAttribute('data-k');
if(T[l][k]!==undefined) el.innerHTML=T[l][k];
});
updateRateNote();
doCalc();
}
// ===== LIVE RATE =====
let usdRate=0.9200;
async function fetchRate(){
try{
const r=await fetch('https://api.frankfurter.app/latest?from=USD&to=EUR');
const d=await r.json();
if(d.rates&&d.rates.EUR){
usdRate=d.rates.EUR;
document.getElementById('rateDisplay').textContent=usdRate.toFixed(4);
updateFlowCard();
updateRateNote();
doCalc();
}
}catch(e){}
}
function updateFlowCard(){
const net=4940.16;
const eur=(net*usdRate).toFixed(2);
const el=document.getElementById('netEUR');
if(el) el.textContent=parseFloat(eur).toLocaleString('fr-FR',{minimumFractionDigits:2})+' EUR';
}
function updateRateNote(){
const el=document.getElementById('rateNote');
if(!el) return;
const txt=lang==='fr'
?`Taux USD/EUR en direct : 1 USDC ≈ ${usdRate.toFixed(4)} € (source : api.frankfurter.app)`
:`Live USD/EUR rate: 1 USDC ≈ ${usdRate.toFixed(4)} € (source: api.frankfurter.app)`;
el.textContent=txt;
}
// ===== CALCULATOR =====
const COMP=[
{id:'op',pct:()=>{
const a=parseInt(document.getElementById('sAmt').value);
const p=parseInt(document.getElementById('sPct').value)/100;
const encFee=a*0.004;
const toConvert=(a-encFee)*p;
const convFee=toConvert*(0.003+0.005);
return (encFee+convFee)/a*100;
},ours:true},
{id:'swift',pct:()=>4.0,fixed:0,ours:false},
{id:'paypal',pct:()=>4.5,fixed:0,ours:false},
{id:'payoneer',pct:()=>1.5,fixed:0,ours:false},
{id:'stripe',pct:()=>5.25,fixed:0,ours:false}
];
const NAMES={fr:{op:'OstriaPay',swift:'Virement SWIFT bancaire',paypal:'PayPal Business',payoneer:'Payoneer',stripe:'Stripe (paiement international)'},
en:{op:'OstriaPay',swift:'Bank SWIFT wire',paypal:'PayPal Business',payoneer:'Payoneer',stripe:'Stripe (international payment)'}};
const TAGS={fr:{op:'Notre offre',swift:'Estimé*',paypal:'Estimé*',payoneer:'Estimé*',stripe:'Estimé*'},
en:{op:'Our offer',swift:'Estimated*',paypal:'Estimated*',payoneer:'Estimated*',stripe:'Estimated*'}};
let viewMode='ticket';
function setView(v,btn){
viewMode=v;
document.querySelectorAll('.vtab').forEach(b=>b.classList.remove('on'));
btn.classList.add('on');
doCalc();
}
function fmtN(n){
if(n>=1000) return Math.round(n).toLocaleString('fr-FR');
return n.toFixed(2);
}
function doCalc(){
const amt=parseInt(document.getElementById('sAmt').value)||5000;
const pct=parseInt(document.getElementById('sPct').value)||100;
document.getElementById('vAmt').textContent=amt.toLocaleString('fr-FR')+' USDC';
document.getElementById('vPct').textContent=pct+'%';
const encFee=amt*0.004;
const toConvert=(amt-encFee)*(pct/100);
const convOp=toConvert*0.003;
const convPart=toConvert*0.005;
const totalFee=encFee+convOp+convPart;
const netUSDC=amt-totalFee;
const netEUR=netUSDC*usdRate;
document.getElementById('cbEnc').textContent=encFee.toFixed(2)+' USDC';
document.getElementById('cbConvOp').textContent=pct>0?convOp.toFixed(2)+' USDC':'—';
document.getElementById('cbConvPart').textContent=pct>0?convPart.toFixed(2)+' USDC':'—';
document.getElementById('cbTotal').textContent=totalFee.toFixed(2)+' USDC';
const rcvd=pct>0
?`${netUSDC.toFixed(2)} USDC (≈ ${netEUR.toFixed(0)} EUR)`
:`${netUSDC.toFixed(2)} USDC`;
document.getElementById('cbNet').textContent=rcvd;
const opTotalPct=(totalFee/amt)*100;
const rows=[];
const competitors=[
{id:'op',pctVal:opTotalPct,ours:true},
{id:'payoneer',pctVal:1.5,ours:false},
{id:'swift',pctVal:4.0,ours:false},
{id:'paypal',pctVal:4.5,ours:false},
{id:'stripe',pctVal:5.25,ours:false},
];
competitors.sort((a,b)=>a.pctVal-b.pctVal);
const maxFee=Math.max(...competitors.map(c=>c.pctVal));
const swiftFee=competitors.find(c=>c.id==='swift')?.pctVal||4.0;
const opFee=opTotalPct;
const saving=(swiftFee-opFee)/100*amt*usdRate;
document.getElementById('calcResults').innerHTML=competitors.map(c=>{
const feeAmt=(c.pctVal/100)*amt*usdRate;
const netAmt=amt*usdRate-feeAmt;
const barW=Math.min(100,(c.pctVal/maxFee)*100);
const name=NAMES[lang][c.id];
const tag=TAGS[lang][c.id];
const isOurs=c.ours;
return`<div class="cr-item${isOurs?' ours':''}">
<div class="cr-top">
<span class="cr-name${isOurs?' ours':''}">${name} <span class="cr-tag${isOurs?' best':''}">${tag}</span></span>
<span><span class="cr-val${isOurs?' ours':''}">${fmtN(feeAmt)} €</span><span class="cr-pct">${c.pctVal.toFixed(2)}%</span></span>
</div>
<div class="cr-bar"><div class="cr-fill ${isOurs?'fill-brand':'fill-gray'}" style="width:${barW}%"></div></div>
<div class="cr-net">${lang==='fr'?'Reçu ≈':'Received ≈'} <strong>${fmtN(netAmt)} €</strong></div>
</div>`;
}).join('');
document.getElementById('savVal').textContent=saving>0?`${fmtN(saving)} €`:'—';
const sub=lang==='fr'
?`sur ${amt.toLocaleString('fr-FR')} USDC encaissés`
:`on ${amt.toLocaleString('fr-FR')} USDC collected`;
document.getElementById('savSub').textContent=sub;
}
// ===== FAQ =====
function toggleFaq(el){
const item=el.parentElement;
const wasOpen=item.classList.contains('open');
document.querySelectorAll('.faq-item.open').forEach(i=>i.classList.remove('open'));
if(!wasOpen) item.classList.add('open');
}
// ===== MOBILE MENU =====
function toggleMob(){
document.getElementById('mobMenu').classList.toggle('open');
}
// ===== INIT =====
fetchRate();
doCalc();
function goTo(id) {
var el = document.getElementById(id);
if (!el) {
// try by section class or common ids
var map = {
'hero': document.querySelector('.hero'),
'fonctionnalites': document.getElementById('fonctionnalites') || document.querySelector('.features-section'),
'comment': document.getElementById('comment') || document.querySelector('.flow-section'),
'tarifs': document.getElementById('tarifs') || document.querySelector('.pricing-section'),
'faq': document.getElementById('faq'),
'calculateur': document.getElementById('calculateur') || document.querySelector('.calc-section'),
'apropos': document.getElementById('apropos') || document.querySelector('.why-section'),
'signup': document.getElementById('signup') || document.querySelector('.cta-fin'),
};
el = map[id];
}
if (el) {
var offset = 64; // nav height
var top = el.getBoundingClientRect().top + window.pageYOffset - offset;
window.scrollTo({top: top, behavior: 'smooth'});
}
}
function sendMail() {
var a = document.createElement('a');
a.href = 'mailto:info@ostriapay.com';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
</script>
<!-- ===== LEGAL OVERLAY ===== -->
<div class="legal-overlay" id="legalOverlay">
<div class="legal-panel">
<div class="legal-topbar">
<span class="legal-topbar-logo">OstriaPay</span>
<button class="legal-close" onclick="closeLegal()">
<svg width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" viewbox="0 0 24 24"><polyline points="15 18 9 12 15 6"/></svg>
Retour au site
</button>
</div>
<!-- CGU content -->
<div id="legalCGU" style="display:none;flex:1">
<div class="legal-body">
<!-- TOC -->
<aside class="legal-toc">
<div class="toc-title">Sommaire</div>
<ul>
<li class="toc-section">Préambule</li>
<li><a href="#art0">0. Contexte et nature du service</a></li>
<li><a href="#art1">1. Définitions</a></li>
<li class="toc-section">Conditions générales</li>
<li><a href="#art2">2. Champ d'application</a></li>
<li><a href="#art3">3. Documents contractuels</a></li>
<li><a href="#art4">4. Description du service</a></li>
<li><a href="#art5">5. Rôle des prestataires tiers</a></li>
<li><a href="#art6">6. Onboarding — KYB/KYC</a></li>
<li><a href="#art7">7. Processus de paiement</a></li>
<li><a href="#art8">8. Conversion et virement EUR</a></li>
<li><a href="#art9">9. Frais — Facturation</a></li>
<li><a href="#art10">10. Obligations du client</a></li>
<li><a href="#art11">11. Obligations d'Ostria</a></li>
<li><a href="#art12">12. Responsabilités</a></li>
<li><a href="#art13">13. LCB-FT — Sanctions</a></li>
<li><a href="#art14">14. Protection des données</a></li>
<li><a href="#art15">15. Propriété intellectuelle</a></li>
<li><a href="#art16">16. Sécurité</a></li>
<li><a href="#art17">17. Suspension — Résiliation</a></li>
<li><a href="#art18">18. Support — Réclamations</a></li>
<li><a href="#art19">19. Dispositions diverses</a></li>
<li><a href="#art20">20. Droit applicable</a></li>
<li class="toc-section">Annexes</li>
<li><a href="#annexeA">Annexe A — Répartition des rôles</a></li>
<li><a href="#annexeB">Annexe B — Onboarding & statuts</a></li>
<li><a href="#annexeC">Annexe C — Usage acceptable</a></li>
<li><a href="#annexeD">Annexe D — SLA & support</a></li>
<li><a href="#annexeE">Annexe E — Tarification</a></li>
<li><a href="#annexeF">Annexe F — Glossaire</a></li>
</ul>
</aside>
<!-- CONTENT -->
<main class="legal-content">
<div class="doc-header">
<div class="doc-badge">Document légal</div>
<h1>Conditions Générales d'Utilisation</h1>
<p>Solution d'acceptation de paiements en stablecoins — Marché B2B</p>
<div class="meta-table">
<div class="meta-row"><div class="meta-key">Éditeur</div><div class="meta-val">OSTRIA SAS — éditeur du logiciel OstriaPay</div></div>
<div class="meta-row"><div class="meta-key">Forme juridique</div><div class="meta-val">SAS — Capital : 500 EUR — RCS BASTIA : 992610618</div></div>
<div class="meta-row"><div class="meta-key">Siège social</div><div class="meta-val">VILLA LA MAISON BLEUE, 286 CARRUGHJU DI GUGLIELMU, 20620 BIGUGLIA</div></div>
<div class="meta-row"><div class="meta-key">Contact</div><div class="meta-val"><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></div></div>
<div class="meta-row"><div class="meta-key">Partenaire tiers</div><div class="meta-val">Bridge (bridge.xyz) — Conditions EEE applicables</div></div>
<div class="meta-row"><div class="meta-key">Version</div><div class="meta-val">v1.0 — Entrée en vigueur : 28/02/2026 — Droit applicable : France</div></div>
</div>
</div>
<div class="warning-box">
<strong>Avertissement important</strong>
Les présentes CGU régissent exclusivement l'accès et l'utilisation du logiciel OstriaPay en tant que service logiciel (SaaS). Certaines fonctionnalités reposent sur des services fournis par des prestataires tiers, notamment Bridge. Les opérations exécutées par Bridge sont soumises aux conditions propres de Bridge, que le Client accepte lors de l'ouverture de son Compte Bridge via OstriaPay.<br><br>
Ostria ne détient, ne reçoit et ne conserve aucun fonds pour le compte du Client. OstriaPay n'est pas un prestataire de services de paiement agréé et n'effectue pas d'opérations de paiement réglementées au sens de la DSP2, ni un CASP agréé au sens de MiCA.
</div>
<!-- ARTICLE 0 -->
<div class="article" id="art0">
<div class="article-header">Article 0 — Préambule</div>
<h2>0.1 Contexte et finalité</h2>
<p>OstriaPay est une solution logicielle B2B fournie en mode SaaS permettant aux professionnels d'accepter des paiements en stablecoins, d'en suivre le cycle de vie (statuts, confirmations, conversions et off-ramp) et de générer des rapports et exports, notamment à vocation comptable.</p>
<p>OstriaPay s'adresse exclusivement à des personnes morales ou à des personnes physiques agissant dans le cadre de leur activité professionnelle, à l'exclusion de tout consommateur au sens du droit applicable.</p>
<h2>0.2 Nature du Service et limites</h2>
<ul>
<li>OstriaPay est un logiciel et une couche d'orchestration : il met à disposition une interface, des paramètres de configuration, un suivi de statuts et des exports de données.</li>
<li>Ostria ne détient, ne reçoit et ne conserve aucun fonds pour le compte du Client (ni stablecoins, ni monnaie fiat).</li>
<li>Ostria n'exécute pas de services de paiement réglementés : OstriaPay ne réalise pas de virement, n'opère pas la compensation, n'effectue pas la conversion fiat et n'exerce pas d'activité de custody d'actifs numériques.</li>
<li>Lorsque des fonctions d'exécution existent (KYB/KYC, wallet/custody, transferts on-chain, conversion, off-ramp), elles sont fournies exclusivement par des prestataires tiers (notamment Bridge) sous leur propre responsabilité.</li>
</ul>
<h2>0.3 Documents contractuels</h2>
<p>La relation contractuelle entre Ostria et le Client est constituée des documents suivants, par ordre de priorité décroissante :</p>
<ol>
<li>Les Conditions Particulières ou Bon de Commande signé(e)(s) entre Ostria et le Client, le cas échéant.</li>
<li>Les présentes Conditions Générales d'Utilisation (CGU) et leurs Annexes A à F.</li>
<li>La Politique de Confidentialité d'Ostria.</li>
<li>Les conditions générales des prestataires tiers (notamment les Conditions Bridge).</li>
</ol>
<h2>0.4 Hiérarchie des documents</h2>
<p>Pour l'accès et l'usage du logiciel OstriaPay, les présentes CGU prévalent sur tout document de même rang. Pour les opérations exécutées par Bridge, les conditions du prestataire concerné prévalent sur les présentes CGU quant à la qualification et aux effets de l'opération concernée.</p>
</div>
<!-- ARTICLE 1 -->
<div class="article" id="art1">
<div class="article-header">Article 1 — Définitions</div>
<p>Les termes ci-dessous, commençant par une lettre majuscule, ont la signification suivante dans les présentes CGU :</p>
<div class="table-wrap">
<table>
<thead><tr><th style="width:180px">Terme</th><th>Définition</th></tr></thead>
<tbody>
<tr><td><strong>Administrateur</strong></td><td>Utilisateur désigné par le Client pour administrer le Compte OstriaPay (gestion des habilitations, paramétrage, génération d'exports). Responsable des accès et paramètres qu'il configure.</td></tr>
<tr><td><strong>Bridge</strong></td><td>Prestataire tiers de services sur crypto-actifs, filiale du groupe Stripe Inc. depuis octobre 2024. Entité EEE : Bridge Building sp. z o.o. (Pologne), enregistré PSAV sous le numéro RDWW-794. Bénéficie de la période transitoire MiCA jusqu'au 1er juillet 2026.</td></tr>
<tr><td><strong>Client / Commerçant</strong></td><td>Personne morale ou physique agissant dans le cadre de son activité professionnelle, titulaire d'un Compte OstriaPay, ayant accepté les présentes CGU.</td></tr>
<tr><td><strong>Compte OstriaPay</strong></td><td>Espace logiciel sécurisé, accessible en ligne, permettant au Client d'accéder au Service (tableau de bord, paramétrage, historique, exports).</td></tr>
<tr><td><strong>Conditions Bridge</strong></td><td>Conditions générales de Bridge disponibles à l'adresse bridge.xyz/legal/overview, régissant l'ensemble des services fournis par Bridge.</td></tr>
<tr><td><strong>QR Code</strong></td><td>Code graphique bidimensionnel généré par OstriaPay, contenant les informations nécessaires à un paiement en stablecoin (adresse, réseau, token, montant).</td></tr>
<tr><td><strong>Stablecoin / USDC</strong></td><td>Crypto-actif dont la valeur est généralement indexée sur une monnaie fiat. L'USDC est émis par Circle, qualifié de jeton de monnaie électronique (JME/EMT) au sens de MiCA.</td></tr>
<tr><td><strong>Transaction</strong></td><td>Toute opération initiée ou suivie via OstriaPay : demandes de paiement, encaissements on-chain, conversions fiat, opérations off-ramp/payout.</td></tr>
<tr><td><strong>MiCA</strong></td><td>Règlement (UE) 2023/1114 sur les marchés de crypto-actifs, applicable depuis le 30 décembre 2024, établissant un cadre réglementaire harmonisé pour les CASP dans l'UE.</td></tr>
</tbody>
</table>
</div>
</div>
<!-- ARTICLE 2 -->
<div class="article" id="art2">
<div class="article-header">Article 2 — Champ d'application — Éligibilité</div>
<h2>2.1 Service B2B exclusif</h2>
<p>Le Service est strictement réservé à des professionnels agissant dans le cadre de leur activité commerciale, industrielle, artisanale, libérale ou agricole. En acceptant les présentes CGU, le Client déclare expressément agir en cette qualité et non en tant que consommateur.</p>
<h2>2.2 Restrictions géographiques et sectorielles</h2>
<p>L'accès au Service peut être restreint ou refusé en fonction du pays d'établissement du Client, de son secteur d'activité, des exigences de conformité légale (sanctions internationales, LCB-FT), ou des restrictions imposées par Bridge quant à l'éligibilité de certains Clients.</p>
<h2>2.3 Prérequis techniques</h2>
<ul>
<li>Un terminal connecté à Internet avec navigateur web récent et à jour.</li>
<li>Une adresse email professionnelle valide et, le cas échéant, un numéro de téléphone pour l'authentification renforcée (MFA).</li>
<li>La capacité de conserver, archiver et sécuriser les communications électroniques et les exports générés via OstriaPay.</li>
</ul>
<h2>2.4 Mise à jour des CGU</h2>
<p>Ostria se réserve le droit de modifier les présentes CGU à tout moment. En cas de modification substantielle, Ostria notifiera le Client par voie électronique dans un délai raisonnable avant l'entrée en vigueur. La poursuite de l'utilisation du Service après l'entrée en vigueur vaut acceptation.</p>
</div>
<!-- ARTICLE 3 -->
<div class="article" id="art3">
<div class="article-header">Article 3 — Documents contractuels associés</div>
<h2>3.1 Politique d'usage acceptable</h2>
<p>La Politique d'Usage Acceptable (Annexe C) précise les activités interdites. Son non-respect constitue une cause de suspension ou de résiliation immédiate du Contrat aux torts du Client.</p>
<h2>3.2 Documentation technique et espace Client</h2>
<p>Ostria peut publier dans l'espace Client des documents techniques informatifs (formats d'exports, règles de rapprochement, description des statuts). Ces documents ont un rôle purement indicatif et ne constituent pas des engagements contractuels.</p>
<h2>3.3 Acceptation et preuve</h2>
<p>L'acceptation des CGU est matérialisée par un acte positif et non équivoque du Client ou de son représentant légal. Ostria conserve un horodatage électronique de cette acceptation, qui fait foi entre les Parties.</p>
</div>
<!-- ARTICLE 4 -->
<div class="article" id="art4">
<div class="article-header">Article 4 — Description du Service OstriaPay</div>
<h2>4.1 Fonctionnalités principales</h2>
<ul>
<li>Création de demandes de paiement en USDC via génération d'un QR Code et des informations de paiement associées.</li>
<li>Suivi en temps quasi-réel des statuts des Transactions, sur la base des informations disponibles (données on-chain et/ou événements Bridge).</li>
<li>Tableau de bord interactif et historique complet des opérations.</li>
<li>Génération d'exports et de rapports (dont exports au format comptable) destinés à la pré-comptabilité et au rapprochement interne du Client.</li>
</ul>
<h2>4.2 Options activables</h2>
<ul>
<li>Conversion des stablecoins en EUR et virement sur compte bancaire (off-ramp) via Bridge.</li>
<li>Gestion multi-utilisateurs avec système de rôles et d'habilitations.</li>
<li>Notifications par webhook vers les systèmes du Client.</li>
<li>Accès à l'API OstriaPay selon les modalités définies dans la documentation technique.</li>
</ul>
<h2>4.3 Limitations connues du Service</h2>
<ul>
<li>Latence inhérente aux réseaux blockchain (temps de confirmation variable selon la congestion du réseau).</li>
<li>Dépendance à des infrastructures externes susceptibles de connaître des indisponibilités imprévisibles.</li>
<li>Interruptions temporaires dues à des opérations de maintenance planifiée ou corrective.</li>
<li>Absence de garantie de traitement exhaustif en cas de volume exceptionnel ou de circonstances anormales.</li>
</ul>
</div>
<!-- ARTICLE 5 -->
<div class="article" id="art5">
<div class="article-header">Article 5 — Rôle des prestataires tiers — Focus Bridge</div>
<h2>5.1 Répartition des rôles</h2>
<div class="table-wrap">
<table>
<thead><tr><th>Fonction</th><th>Ostria — OstriaPay</th><th>Bridge</th><th>Client</th></tr></thead>
<tbody>
<tr><td>Tableau de bord / Exports</td><td>Interface, paramétrage, exports</td><td>—</td><td>Utilise et gère ses accès</td></tr>
<tr><td>Onboarding KYB/KYC</td><td>Orchestre le parcours ; restitue les statuts</td><td>Vérifications et décisions KYB/KYC</td><td>Fournit les informations ; accepte les Conditions Bridge</td></tr>
<tr><td>Wallet / Custody</td><td>Ostria ne détient pas de wallet</td><td>Mise à disposition et gestion en custody</td><td>Assume l'usage et les risques</td></tr>
<tr><td>Encaissement on-chain</td><td>Génère la demande/QR Code ; affiche les statuts</td><td>Exécute/suit selon intégration</td><td>Vérifie montant/devise/réseau</td></tr>
<tr><td>Conversion & virement EUR</td><td>Affiche les statuts ; génère les exports</td><td>Exécute la conversion et le virement</td><td>Fournit coordonnées bancaires</td></tr>
</tbody>
</table>
</div>
<h2>5.2 Responsabilité exclusive de Bridge pour les conversions et virements</h2>
<p>Les conversions de stablecoins en monnaie fiat et les virements des fonds en EUR sont exécutés sous la responsabilité exclusive de Bridge, conformément aux Conditions Bridge. OstriaPay intervient uniquement en tant qu'interface de suivi et d'orchestration, sans détenir les fonds à aucun moment.</p>
<h2>5.3 Prévalence des Conditions Bridge</h2>
<p>En cas d'écart entre l'affichage dans OstriaPay et les statuts ou rapports Bridge concernant une opération exécutée par Bridge, les informations fournies par Bridge prévalent.</p>
<h2>5.4 Statut réglementaire de Bridge</h2>
<p>Bridge Building sp. z o.o. est enregistré en Pologne en qualité de PSAV sous le numéro <strong>RDWW-794</strong>. Bridge bénéficie de la période transitoire prévue à l'article 143 de MiCA, autorisant les PSAV préalablement enregistrés à continuer d'exercer jusqu'au <strong>1er juillet 2026</strong> au plus tard. Bridge n'est pas un établissement de monnaie électronique ni un PSP agréé au sens de la DSP2.</p>
</div>
<!-- ARTICLE 6 -->
<div class="article" id="art6">
<div class="article-header">Article 6 — Onboarding — KYB/KYC — Activation du Service</div>
<h2>6.1 Inscription au Service</h2>
<p>L'accès au Service est conditionné à la création d'un Compte OstriaPay par un représentant légal ou un mandataire dûment habilité du Client. Toute information inexacte peut entraîner la suspension ou la résiliation immédiate du Contrat aux torts exclusifs du Client.</p>
<h2>6.2 KYB/KYC via Bridge</h2>
<p>L'activation des fonctionnalités dépendant de Bridge est subordonnée à l'ouverture d'un Compte Bridge et à la complétion satisfaisante de la procédure KYB/KYC conduite par Bridge. Les délais de vérification, les documents requis et les décisions relèvent de la compétence exclusive de Bridge. Ostria n'intervient pas dans ces décisions.</p>
<h2>6.3 Obligation de mise à jour des informations</h2>
<p>Le Client s'engage à maintenir à jour l'ensemble des informations fournies à Ostria et à Bridge (données d'identification, coordonnées bancaires, représentants légaux, bénéficiaires effectifs). Le Client coopère sans délai à toute demande de mise à jour.</p>
<h2>6.4 Activation, suspension et réactivation</h2>
<ul>
<li>Ostria peut activer les fonctionnalités de manière progressive selon l'éligibilité du Client et les résultats des procédures KYB/KYC.</li>
<li>Ostria peut suspendre l'accès au Service, sans préavis ni indemnité, en cas de non-conformité, de suspicion de fraude, d'incident de sécurité, d'impayé, ou de décision de suspension par Bridge.</li>
<li>La réactivation est conditionnée à la remédiation complète de la cause de suspension.</li>
</ul>
</div>
<!-- ARTICLE 7 -->
<div class="article" id="art7">
<div class="article-header">Article 7 — Processus de paiement en USDC</div>
<h2>7.1 Création d'une demande de paiement (QR Code)</h2>
<p>Le Client initie une demande de paiement depuis le tableau de bord OstriaPay. OstriaPay génère un QR Code contenant l'adresse de réception, le réseau blockchain, le token et le montant exact. Le Client est seul responsable de la vérification de l'exactitude des informations saisies avant de présenter le QR Code au payeur.</p>
<h2>7.2 Durée de validité du QR Code</h2>
<p>Chaque QR Code est actif pendant <strong>cinq (5) minutes</strong> à compter de sa génération. À l'expiration, si aucune Transaction correspondante n'a été détectée, le statut passe automatiquement à « Échoué ». Le Client pourra créer une nouvelle demande de paiement.</p>
<div class="note-box">💡 Il est recommandé de ne présenter le QR Code au payeur qu'au moment effectif du paiement afin d'éviter toute expiration.</div>
<h2>7.3 Confirmation de réception</h2>
<p>OstriaPay confirme la réception lorsqu'une Transaction correspondant aux paramètres de la demande est détectée dans les données on-chain et/ou les événements Bridge. La confirmation intervient généralement en moins d'une (1) minute, sans que ce délai constitue une garantie contractuelle.</p>
<p>Le Client reconnaît expressément le <strong>caractère irréversible des Transactions on-chain</strong>. Une Transaction confirmée ne peut être annulée par voie technique. Toute rectification nécessite une nouvelle Transaction.</p>
<h2>7.4 Statut « Échoué » malgré un débit effectif — Procédure de vérification</h2>
<p>En cas d'anomalie, le Client peut solliciter une vérification manuelle via <a href="mailto:info@ostriapay.com">info@ostriapay.com</a>, en communiquant : l'adresse blockchain d'envoi du payeur, le hash de transaction (tx hash), le montant, le réseau et l'horodatage.</p>
</div>
<!-- ARTICLE 8 -->
<div class="article" id="art8">
<div class="article-header">Article 8 — Conversion et virement en EUR (off-ramp)</div>
<h2>8.1 Exécution par Bridge — Responsabilité exclusive</h2>
<p>La conversion des stablecoins en EUR et le virement sur le compte bancaire désigné sont exécutés <strong>exclusivement par Bridge</strong> sous sa responsabilité propre. OstriaPay joue exclusivement un rôle d'interface de suivi et d'orchestration.</p>
<h2>8.2 Statut « Confirmé »</h2>
<p>Ce statut matérialise l'exécution de la conversion par Bridge, mais ne préjuge pas du crédit effectif des fonds sur le compte bancaire du Client.</p>
<h2>8.3 Statut « Terminé »</h2>
<p>Ce statut indique que les fonds en EUR ont été crédités sur le compte bancaire désigné, selon les informations disponibles via Bridge. Les délais de crédit bancaire dépendent des délais interbancaires, des horaires de cut-off et des éventuels contrôles de conformité.</p>
<h2>8.4 Anomalies relatives à la conversion/au virement</h2>
<p>En cas d'anomalie (statut « Confirmé » sans crédit bancaire observé au-delà de cinq (5) Jours Ouvrés), le Client peut solliciter l'assistance d'OstriaPay. Ostria s'efforcera de faciliter l'escalade auprès de Bridge, sans garantir les délais ni le résultat.</p>
</div>
<!-- ARTICLE 9 -->
<div class="article" id="art9">
<div class="article-header">Article 9 — Frais — Facturation — Taxes</div>
<h2>9.1 Frais OstriaPay</h2>
<p>Les frais applicables sont décrits en détail à l'Annexe E. Tout Bon de Commande ou Conditions Particulières signés prévaut sur l'Annexe E pour le Client concerné.</p>
<h2>9.2 Frais Bridge, frais de réseau et frais bancaires</h2>
<p>Des frais supplémentaires peuvent être appliqués par Bridge (et/ou ses partenaires), par le réseau blockchain (Gas) et par les établissements bancaires. Ces frais sont distincts des frais OstriaPay et définis par les Conditions Bridge.</p>
<h2>9.3 Traitement du spread de change (FX)</h2>
<p>Le taux de change appliqué par Bridge peut inclure une marge commerciale (spread). Dans la version initiale du Service (V1), lorsque Bridge ne fournit pas le détail des frais de change en ligne séparée, OstriaPay peut ne pas isoler un poste « frais FX » distinct. Le Client demeure seul responsable de la qualification comptable et fiscale finale.</p>
<h2>9.4 Facturation et conséquences des impayés</h2>
<p>En cas d'impayé non régularisé dans un délai de 30 Jours Ouvrés suivant une mise en demeure, Ostria se réserve le droit de suspendre l'accès au Service sans préavis supplémentaire ni indemnité.</p>
<h2>9.5 TVA et obligations fiscales</h2>
<p>OstriaPay ne calcule pas la TVA applicable aux ventes réalisées par le Client. Le Client demeure seul responsable de l'identification, du calcul et du reversement de toute taxe applicable à ses opérations.</p>
</div>
<!-- ARTICLE 10 -->
<div class="article" id="art10">
<div class="article-header">Article 10 — Obligations du Client</div>
<p>Le Client s'engage irrévocablement à :</p>
<ul>
<li>Fournir des informations exactes, complètes et à jour lors de l'inscription, au cours de la procédure KYB/KYC Bridge, et tout au long de la relation contractuelle.</li>
<li>Respecter l'ensemble des lois et réglementations applicables à son activité, les présentes CGU, l'Annexe C (Politique d'Usage Acceptable) et les Conditions Bridge.</li>
<li>Assurer la sécurité et la confidentialité des accès au Compte OstriaPay : gestion rigoureuse des mots de passe, activation du MFA lorsque disponible.</li>
<li>Mettre en place des contrôles opérationnels internes adéquats avant toute Transaction (vérification du montant, de la devise, du réseau et de l'adresse).</li>
<li>Conserver et archiver les communications électroniques, les exports et les justificatifs relatifs aux Transactions pendant toute la durée légale applicable.</li>
<li>Signaler sans délai à Ostria (<a href="mailto:info@ostriapay.com">info@ostriapay.com</a>) toute anomalie, fraude avérée ou suspectée, accès non autorisé ou incident de sécurité affectant son Compte OstriaPay.</li>
<li>Ne pas utiliser le Service à des fins illicites, frauduleuses, ou contraires à la Politique d'Usage Acceptable.</li>
</ul>
</div>
<!-- ARTICLE 11 -->
<div class="article" id="art11">
<div class="article-header">Article 11 — Obligations d'Ostria</div>
<p>Dans les limites définies aux présentes CGU, Ostria s'engage à :</p>
<ul>
<li>Fournir le Service OstriaPay selon une obligation de moyens (« best efforts ») et s'efforcer d'assurer la disponibilité du Service aux conditions décrites à l'Annexe D.</li>
<li>Mettre en œuvre des mesures de sécurité techniques et organisationnelles raisonnables, conformément à l'article 16.</li>
<li>Assurer un support au Client selon les modalités et les horaires décrits à l'Annexe D.</li>
<li>Notifier le Client, dans un délai raisonnable, de toute maintenance planifiée susceptible d'affecter la disponibilité du Service.</li>
<li>Traiter les Données à Caractère Personnel du Client conformément à la Politique de Confidentialité et au RGPD applicable.</li>
</ul>
</div>
<!-- ARTICLE 12 -->
<div class="article" id="art12">
<div class="article-header">Article 12 — Responsabilités — Limitations — Allocation des risques</div>
<h2>12.1 Principe général</h2>
<p>Ostria est responsable du bon fonctionnement du logiciel OstriaPay dans la limite des présentes CGU. Bridge est seul responsable des opérations qu'il exécute (conversion de stablecoins et virement en EUR) dans les conditions définies par les Conditions Bridge.</p>
<h2>12.2 Exclusions de responsabilité d'Ostria</h2>
<ul>
<li>Dysfonctionnements, congestions, forks ou indisponibilités des réseaux blockchain.</li>
<li>Défaillances de prestataires tiers (Bridge, banques, fournisseurs d'infrastructure cloud).</li>
<li>Actes, omissions, erreurs ou fraudes imputables au Client, à ses Utilisateurs ou aux payeurs.</li>
<li>Perte ou vol des identifiants d'accès résultant d'une négligence du Client.</li>
<li>Cas de force majeure au sens de l'article 19.2 des présentes.</li>
</ul>
<h2>12.3 Exclusion des dommages indirects</h2>
<p>Dans toute la mesure permise par le droit applicable, Ostria ne saurait être tenu responsable de dommages indirects, consécutifs ou immatériels, y compris : pertes de chiffre d'affaires, perte de marge, perte de données, atteinte à l'image.</p>
<h2>12.4 Plafond de responsabilité d'Ostria</h2>
<p>La responsabilité totale et cumulée d'Ostria est plafonnée au montant le plus faible entre : (i) le total des frais effectivement payés par le Client à Ostria au cours des 12 mois précédant l'événement générateur du dommage, et (ii) cinq mille (5 000) EUR.</p>
<h2>12.5 Risques spécifiques liés aux stablecoins</h2>
<ul>
<li><strong>Risque de dépeg :</strong> risque que la valeur d'un stablecoin s'écarte significativement de sa valeur de référence.</li>
<li><strong>Risque de gel ou de blacklist :</strong> risque qu'un émetteur gèle ou blackliste une adresse blockchain.</li>
<li><strong>Risques réseau :</strong> congestion, interruptions, forks pouvant affecter les délais de confirmation.</li>
<li><strong>Caractère irréversible</strong> des Transactions confirmées on-chain.</li>
<li><strong>Risque réglementaire :</strong> évolution du cadre légal applicable aux crypto-actifs.</li>
</ul>
</div>
<!-- ARTICLES 13-20 condensés -->
<div class="article" id="art13">
<div class="article-header">Article 13 — Lutte contre le blanchiment et le financement du terrorisme</div>
<p>Ostria et/ou Bridge se réservent le droit de refuser, suspendre, bloquer ou signaler aux autorités compétentes toute opération présentant des caractéristiques incompatibles avec leurs obligations LCB-FT, ou en cas de suspicion de violation de sanctions internationales (OFAC, gel des avoirs).</p>
<p>Le Client s'engage à coopérer pleinement à toute demande de documentation, à ne pas utiliser le Service pour des activités contraires à la législation LCB-FT, et à notifier immédiatement Ostria en cas de suspicion d'utilisation frauduleuse.</p>
</div>
<div class="article" id="art14">
<div class="article-header">Article 14 — Protection des données — Principes généraux</div>
<p>Les modalités détaillées de traitement des Données à Caractère Personnel sont décrites dans la . Le Client demeure responsable de traitement des données de ses propres clients. Ostria traite les données des Utilisateurs du Client en qualité de sous-traitant. Ostria applique un principe de minimisation des données. Pour toute demande : <a href="mailto:info@ostriapay.com">info@ostriapay.com</a>.</p>
</div>
<div class="article" id="art15">
<div class="article-header">Article 15 — Propriété intellectuelle</div>
<p>Ostria est et demeure le seul titulaire de l'ensemble des droits de propriété intellectuelle portant sur le Service OstriaPay. Les présentes CGU confèrent au Client une licence d'utilisation strictement limitée : non exclusive, non transférable, non sous-licenciable, révocable, personnelle au Client, limitée à la durée du Contrat.</p>
<p>Il est expressément interdit au Client de reproduire, modifier, adapter, effectuer de l'ingénierie inverse, contourner les mesures de sécurité, effectuer du scraping automatisé, ou céder les droits d'accès au Service à des tiers.</p>
</div>
<div class="article" id="art16">
<div class="article-header">Article 16 — Sécurité — Incidents — Continuité</div>
<p>Ostria met en œuvre : chiffrement des communications via HTTPS/TLS ; contrôles d'accès basés sur les rôles (RBAC) et traçabilité via Logs ; processus formalisé de gestion des Incidents de Sécurité ; mesures de sauvegarde et de continuité raisonnables ; surveillance continue des infrastructures critiques.</p>
<p>En cas d'Incident de Sécurité susceptible d'affecter les données du Client, Ostria s'engage à notifier le Client dans les meilleurs délais et, si applicable, à procéder aux notifications RGPD requises dans les délais légaux.</p>
</div>
<div class="article" id="art17">
<div class="article-header">Article 17 — Suspension — Résiliation — Réversibilité</div>
<h2>17.1 Suspension par Ostria</h2>
<p>Ostria peut suspendre l'accès au Service, sans préavis ni indemnité, en cas de : non-conformité aux CGU, suspicion de fraude ou d'activité illicite, Incident de Sécurité, impayé non régularisé après mise en demeure, ou décision de suspension par Bridge.</p>
<h2>17.2 Résiliation par le Client</h2>
<p>Le Client peut résilier le Contrat à tout moment, sous réserve d'un préavis de 30 jours calendaires adressé par écrit à <a href="mailto:info@ostriapay.com">info@ostriapay.com</a>. La résiliation ne donne pas lieu à remboursement des frais déjà facturés.</p>
<h2>17.3 Résiliation par Ostria</h2>
<p>Ostria peut résilier avec un préavis de 30 jours pour toute raison légitime, ou sans préavis en cas de manquement grave du Client. En cas de résiliation à l'initiative d'Ostria sans faute du Client, les frais d'abonnement proratisés non consommés seront remboursés.</p>
<h2>17.4 Réversibilité</h2>
<p>Le Client dispose d'une période de 60 jours à compter de la notification de résiliation pour exporter l'ensemble de ses Données via les exports OstriaPay. À l'issue de ce délai, Ostria procédera à la suppression ou à l'anonymisation des Données.</p>
</div>
<div class="article" id="art18">
<div class="article-header">Article 18 — Support — Réclamations — Litiges opérationnels</div>
<p>Pour toute question ou réclamation : <a href="mailto:info@ostriapay.com">info@ostriapay.com</a>. En cas de contestation relative à une Transaction, le Client fournit les preuves disponibles (référence interne, hash de Transaction, adresse d'envoi du payeur, horodatage et montant).</p>
<p>En cas de litige non résolu dans un délai de 30 jours calendaires à compter de la première réclamation formelle, les Parties s'engagent à tenter une médiation amiable préalablement à tout recours judiciaire.</p>
</div>
<div class="article" id="art19">
<div class="article-header">Article 19 — Dispositions diverses</div>
<h2>19.1 Cession du Contrat</h2>
<p>Ostria peut céder tout ou partie du Contrat sans accord préalable du Client dans le cadre d'une fusion, acquisition ou cession d'activité. Le Client ne peut céder le Contrat sans l'accord préalable et écrit d'Ostria.</p>
<h2>19.2 Force majeure</h2>
<p>Aucune des Parties ne sera tenue responsable de l'inexécution résultant d'un événement de force majeure au sens de l'article 1218 du Code civil. Si l'événement se prolonge au-delà de 30 jours, chaque Partie pourra résilier sans indemnité.</p>
<h2>19.3 Confidentialité</h2>
<p>Chaque Partie s'engage à maintenir strictement confidentielle toute information désignée comme telle, pendant la durée du Contrat et pendant une période de 5 ans à compter de son expiration.</p>
<h2>19.4 Preuve par enregistrements électroniques</h2>
<p>Les Parties reconnaissent que les enregistrements électroniques (Logs, horodatages, emails, données on-chain) constituent des preuves valables et recevables entre elles.</p>
<h2>19.5 Divisibilité</h2>
<p>Si une clause des présentes CGU est déclarée nulle ou inapplicable, les autres clauses demeurent pleinement en vigueur.</p>
</div>
<div class="article" id="art20">
<div class="article-header">Article 20 — Droit applicable — Juridiction — Langue</div>
<p>Les présentes CGU sont régies et interprétées conformément au <strong>droit français</strong>, sans égard aux règles de conflits de lois. En cas de litige, les Parties s'efforceront de résoudre le différend amiablement. À défaut d'accord amiable, tout litige sera soumis à la compétence exclusive des <strong>tribunaux compétents d'Aix-en-Provence</strong>.</p>
<p>La <strong>version française</strong> des présentes CGU fait foi. En cas de traduction dans une autre langue, la version française prévaut en cas de contradiction.</p>
</div>
<!-- ANNEXES -->
<div class="article" id="annexeA">
<div class="annex-label">Annexe A</div>
<div class="article-header">Répartition des rôles et responsabilités</div>
<div class="table-wrap">
<table>
<thead><tr><th>Fonction / Étape</th><th>Ostria (OstriaPay)</th><th>Bridge</th><th>Client</th></tr></thead>
<tbody>
<tr><td>Ouverture du Compte OstriaPay</td><td>Crée et paramètre le Compte ; fournit l'accès à l'interface</td><td>—</td><td>Fournit des informations exactes ; désigne un Administrateur</td></tr>
<tr><td>Onboarding KYB/KYC</td><td>Orchestre le parcours ; restitue les statuts</td><td>Conduit les vérifications KYB/KYC ; prend les décisions</td><td>Fournit les documents ; accepte les Conditions Bridge</td></tr>
<tr><td>Wallet / Custody</td><td>N'ouvre, ne détient ni ne gère aucun wallet</td><td>Met à disposition et gère les wallets en custody</td><td>Assume la responsabilité de l'usage et les risques</td></tr>
<tr><td>Génération demande de paiement / QR Code</td><td>Génère la demande et le QR Code ; affiche les statuts</td><td>—</td><td>Vérifie l'exactitude des paramètres ; présente le QR Code</td></tr>
<tr><td>Encaissement on-chain</td><td>Détecte la Transaction ; met à jour les statuts et exports</td><td>Exécute et suit les opérations on-chain</td><td>Vérifie la cohérence du montant ; conserve les preuves</td></tr>
<tr><td>Conversion stablecoin → EUR (off-ramp)</td><td>Affiche les statuts ; génère les exports comptables</td><td>Exécute la conversion et le virement sur le compte bancaire du Client</td><td>Fournit des coordonnées bancaires exactes ; assume les contraintes de délai</td></tr>
<tr><td>Contrôles LCB-FT / Sanctions</td><td>Contrôles de premier niveau ; escalade vers Bridge</td><td>Réalise les contrôles LCB-FT approfondis ; prend les décisions de blocage</td><td>Coopère sans délai à toute demande de justification</td></tr>
</tbody>
</table>
</div>
</div>
<div class="article" id="annexeB">
<div class="annex-label">Annexe B</div>
<div class="article-header">Parcours d'onboarding et statuts de suivi</div>
<h2>B.1 Parcours d'onboarding</h2>
<ol>
<li>Inscription et création du Compte OstriaPay.</li>
<li>Acceptation des présentes CGU par le Client.</li>
<li>Initiation du parcours KYB/KYC via Bridge dans l'interface OstriaPay.</li>
<li>Soumission des documents requis par Bridge.</li>
<li>Traitement et décision de Bridge (généralement 1 à 5 Jours Ouvrés).</li>
<li>Activation du Compte Bridge et des fonctionnalités associées en cas d'approbation.</li>
<li>Configuration opérationnelle du Compte OstriaPay par l'Administrateur.</li>
</ol>
<h2>B.2 Statuts d'onboarding (Bridge)</h2>
<div class="table-wrap">
<table>
<thead><tr><th>Statut</th><th>Description</th><th>Actions disponibles</th></tr></thead>
<tbody>
<tr><td><strong>En attente (Pending)</strong></td><td>Dossier soumis, en attente de traitement par Bridge.</td><td>Attendre la mise à jour ; s'assurer que tous les documents ont été fournis.</td></tr>
<tr><td><strong>En revue (In Review)</strong></td><td>Dossier en cours d'analyse par Bridge.</td><td>Répondre sans délai à toute demande de complément.</td></tr>
<tr><td><strong>Approuvé (Approved)</strong></td><td>Vérification KYB/KYC réussie ; Compte Bridge activé.</td><td>Procéder à la configuration opérationnelle sur OstriaPay.</td></tr>
<tr><td><strong>Rejeté (Rejected)</strong></td><td>Dossier rejeté par Bridge.</td><td>Contacter le support OstriaPay pour comprendre les motifs.</td></tr>
<tr><td><strong>Suspendu (Suspended)</strong></td><td>Compte Bridge suspendu suite à une décision de Bridge.</td><td>Contacter le support OstriaPay pour faciliter l'escalade vers Bridge.</td></tr>
</tbody>
</table>
</div>
<h2>B.3 Statuts des Transactions (OstriaPay)</h2>
<div class="table-wrap">
<table>
<thead><tr><th>Statut</th><th>Description</th></tr></thead>
<tbody>
<tr><td><strong>En attente (Pending)</strong></td><td>Demande de paiement créée ; QR Code généré et actif. En attente de détection d'une Transaction on-chain correspondante.</td></tr>
<tr><td><strong>Confirmé (Confirmed)</strong></td><td>Transaction on-chain détectée et correspondant aux paramètres de la demande. Pour les opérations off-ramp : conversion exécutée par Bridge.</td></tr>
<tr><td><strong>Terminé (Completed)</strong></td><td>Opération intégralement achevée (fonds EUR crédités sur le compte bancaire du Client selon les informations Bridge).</td></tr>
<tr><td><strong>Échoué (Failed)</strong></td><td>Aucune Transaction correspondante détectée dans le délai de validité du QR Code (5 minutes), ou opération ne pouvant être confirmée.</td></tr>
<tr><td><strong>En cours de vérification</strong></td><td>Anomalie détectée ou signalée par le Client ; vérification manuelle en cours par le support OstriaPay.</td></tr>
</tbody>
</table>
</div>
</div>
<div class="article" id="annexeC">
<div class="annex-label">Annexe C</div>
<div class="article-header">Politique d'Usage Acceptable</div>
<h2>C.1 Activités illicites ou frauduleuses</h2>
<p>Il est strictement interdit d'utiliser le Service dans le cadre de :</p>
<ul>
<li>Toute activité illégale, frauduleuse ou contraire à l'ordre public.</li>
<li>Blanchiment de capitaux, financement du terrorisme, ou contournement de sanctions internationales.</li>
<li>Escroquerie, phishing, usurpation d'identité ou pratiques commerciales trompeuses.</li>
<li>Vente de biens, services ou contenus interdits par la loi applicable ou les Conditions Bridge.</li>
<li>Financement d'activités terroristes ou en lien avec des organisations criminelles.</li>
</ul>
<h2>C.2 Utilisation abusive du Service</h2>
<ul>
<li>Tentatives d'intrusion, tests de pénétration non autorisés ou exploitation de vulnérabilités.</li>
<li>Déploiement de virus, malwares, bots ou tout code malveillant.</li>
<li>Surcharge intentionnelle des infrastructures (attaques DDoS ou équivalent).</li>
<li>Scraping automatisé de données sans autorisation écrite préalable d'Ostria.</li>
<li>Contournement des mesures d'authentification, de contrôle d'accès ou de sécurité.</li>
</ul>
<h2>C.3 Activités restreintes par Bridge</h2>
<p>Le Client s'engage à respecter l'ensemble des restrictions sectorielles et d'usage définies dans les Conditions Bridge, notamment celles relatives aux activités à hauts risques (MISA). Le Client est invité à consulter régulièrement la liste des activités restreintes publiée par Bridge.</p>
</div>
<div class="article" id="annexeD">
<div class="annex-label">Annexe D</div>
<div class="article-header">SLA indicatifs et support</div>
<div class="table-wrap">
<table>
<thead><tr><th>Indicateur</th><th>Objectif</th><th>Conditions</th></tr></thead>
<tbody>
<tr><td>Disponibilité de l'interface OstriaPay</td><td>100%</td><td>Hors maintenance planifiée et cas de force majeure</td></tr>
<tr><td>Délai de confirmation d'une Transaction on-chain</td><td>< 1 minute (indicatif)</td><td>Dépend de la congestion du réseau blockchain</td></tr>
<tr><td>Délai de réponse — Incident critique</td><td>< 1 heure (jours ouvrés)</td><td>Incident bloquant l'accès au Service</td></tr>
<tr><td>Délai de réponse — Demande standard</td><td>< 1 Jour Ouvré</td><td>Question ou anomalie non bloquante</td></tr>
<tr><td>Maintenance planifiée — Notification préalable</td><td>24 heures à l'avance</td><td>Sauf urgence de sécurité</td></tr>
</tbody>
</table>
</div>
<div class="note-box">Ces indicateurs sont fournis à titre indicatif et ne constituent pas des engagements contractuels de niveau de service (SLA garantis) sauf stipulation expresse contraire dans le Bon de Commande.</div>
<h3>Canaux de support</h3>
<div class="table-wrap">
<table>
<thead><tr><th>Canal</th><th>Contact</th><th>Horaires</th></tr></thead>
<tbody>
<tr><td>Support par email</td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td><td>Lundi–vendredi, 9h–18h (Paris)</td></tr>
<tr><td>Contact juridique</td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td><td>Lundi–vendredi, 9h–18h (Paris)</td></tr>
<tr><td>Contact DPO</td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td><td>Sur demande</td></tr>
</tbody>
</table>
</div>
</div>
<div class="article" id="annexeE">
<div class="annex-label">Annexe E</div>
<div class="article-header">Grille tarifaire et modalités de facturation</div>
<div class="table-wrap">
<table>
<thead><tr><th>Élément tarifaire</th><th>Montant</th><th>Unité</th><th>Commentaires</th></tr></thead>
<tbody>
<tr><td><strong>Commission sur encaissements</strong></td><td>0,18%</td><td>Par transaction encaissée</td><td>Applicable aux encaissements en stablecoin</td></tr>
<tr><td><strong>Option conversion / off-ramp</strong></td><td>0,30%</td><td>Par opération</td><td>Applicable lorsque l'option off-ramp Bridge est activée. Frais OstriaPay distincts des frais Bridge.</td></tr>
</tbody>
</table>
</div>
<h3>Frais tiers (hors contrôle d'Ostria)</h3>
<div class="table-wrap">
<table>
<thead><tr><th>Type de frais</th><th>Déterminé par</th><th>Commentaires</th></tr></thead>
<tbody>
<tr><td>Spread de change (FX)</td><td>Bridge — 0,5% intégré au taux de conversion</td><td>Peut ne pas apparaître en ligne séparée dans les exports OstriaPay V1.</td></tr>
<tr><td>Frais de réseau blockchain (Gas)</td><td>Réseau concerné (ex. Base, Ethereum)</td><td>Prélevés directement sur la transaction on-chain. Non perçus par Ostria.</td></tr>
<tr><td>Frais bancaires (virement EUR)</td><td>Établissements bancaires concernés</td><td>Selon conditions bancaires applicables à l'opération de payout.</td></tr>
</tbody>
</table>
</div>
<h3>Modalités de facturation</h3>
<ul>
<li>Périodicité : facturation mensuelle à terme échu.</li>
<li>Moyen de paiement : prélèvement automatique.</li>
<li>Délai de paiement : 30 jours calendaires à compter de la date d'émission de la facture.</li>
<li>Pénalités de retard : intérêts de retard au taux légal en vigueur majoré de 20 points, applicables de plein droit. Indemnité forfaitaire pour frais de recouvrement : 40 EUR par facture impayée.</li>
<li>Devise : toutes les factures sont libellées en euros (EUR). Prix indiqués hors taxes (HT).</li>
</ul>
</div>
<div class="article" id="annexeF">
<div class="annex-label">Annexe F</div>
<div class="article-header">Glossaire pédagogique</div>
<div class="table-wrap">
<table>
<thead><tr><th style="width:160px">Terme</th><th>Explication simple</th></tr></thead>
<tbody>
<tr><td><strong>Blockchain</strong></td><td>Registre informatique infalsifiable et partagé entre des milliers d'ordinateurs dans le monde. Chaque transaction y est enregistrée de façon définitive et publiquement vérifiable.</td></tr>
<tr><td><strong>Stablecoin (ex. USDC)</strong></td><td>Jeton numérique dont la valeur est censée rester stable, car indexée sur une monnaie réelle comme le dollar américain (1 USDC ≈ 1 USD). L'USDC est émis par Circle.</td></tr>
<tr><td><strong>Wallet</strong></td><td>Équivalent d'un compte bancaire sur la blockchain. C'est là que les stablecoins reçus en paiement sont déposés avant d'être convertis.</td></tr>
<tr><td><strong>QR Code de paiement</strong></td><td>Code-barres spécial que vous affichez à votre client. En le scannant avec son application crypto, votre client envoie le montant exact en stablecoin à votre adresse de réception.</td></tr>
<tr><td><strong>Off-ramp / Payout</strong></td><td>L'opération qui consiste à convertir vos stablecoins en euros, puis à les virer sur votre compte bancaire habituel. C'est Bridge qui réalise cette opération.</td></tr>
<tr><td><strong>Bridge</strong></td><td>Prestataire spécialisé dans les services sur actifs numériques, filiale du groupe Stripe. Bridge s'occupe de la vérification d'identité (KYB/KYC), de la gestion des wallets, de la conversion et des virements bancaires.</td></tr>
<tr><td><strong>KYB / KYC</strong></td><td>Procédures de vérification d'identité obligatoires imposées par la loi pour lutter contre la fraude. Le KYB vérifie l'identité d'une entreprise, le KYC celle d'une personne physique.</td></tr>
<tr><td><strong>Gas</strong></td><td>Petites sommes payées au réseau blockchain pour valider une transaction. Ces frais ne vont pas à Ostria ni à Bridge, mais aux validateurs du réseau.</td></tr>
<tr><td><strong>Dépeg</strong></td><td>Situation anormale où un stablecoin perd son indexation sur sa valeur de référence (ex. : 1 USDC vaut 0,92 USD au lieu de 1 USD).</td></tr>
<tr><td><strong>Tx hash</strong></td><td>L'identifiant unique d'une transaction blockchain, comme un numéro de suivi de colis. Il permet de retrouver et de vérifier n'importe quelle transaction sur un explorateur blockchain public.</td></tr>
</tbody>
</table>
</div>
</div>
<div class="doc-footer">
<span>OstriaPay · Version v1.0 · Entrée en vigueur : 28/02/2026</span>
<span>OSTRIA SAS · 286 Carrughju di Guglielmu, 20620 Biguglia · <a href="mailto:info@ostriapay.com">info@ostriapay.com</a></span>
</div>
</main>
</div>
</div>
<!-- Mentions légales content -->
<div id="legalML" style="display:none;flex:1">
<div class="legal-body">
<aside class="legal-toc">
<div class="toc-title">Sommaire</div>
<ul>
<li><a href="#ml-editeur">1. Éditeur du site</a></li>
<li><a href="#ml-publication">2. Directeur de publication</a></li>
<li><a href="#ml-hebergeur">3. Hébergeur</a></li>
<li><a href="#ml-activite">4. Activité & réglementation</a></li>
<li><a href="#ml-propriete">5. Propriété intellectuelle</a></li>
<li><a href="#ml-donnees">6. Données personnelles</a></li>
<li><a href="#ml-cookies">7. Cookies</a></li>
<li><a href="#ml-responsabilite">8. Responsabilité</a></li>
<li><a href="#ml-contact">9. Contact</a></li>
</ul>
</aside>
<main class="legal-content">
<div class="doc-header">
<div class="doc-badge">Document légal</div>
<h1>Mentions légales</h1>
<p>Conformément à la loi n° 2004-575 du 21 juin 2004 pour la Confiance dans l'Économie Numérique (LCEN)</p>
</div>
<div class="article" id="ml-editeur">
<div class="article-header">1 — Éditeur du site</div>
<div class="table-wrap">
<table>
<tbody>
<tr><td style="width:220px"><strong>Raison sociale</strong></td><td>OSTRIA</td></tr>
<tr><td><strong>Forme juridique</strong></td><td>Société par Actions Simplifiée (SAS)</td></tr>
<tr><td><strong>Capital social</strong></td><td>500 €</td></tr>
<tr><td><strong>Siège social</strong></td><td>VILLA LA MAISON BLEUE, 286 CARRUGHJU DI GUGLIELMU, 20620 BIGUGLIA</td></tr>
<tr><td><strong>SIREN</strong></td><td>992 610 618</td></tr>
<tr><td><strong>RCS</strong></td><td>RCS BASTIA</td></tr>
<tr><td><strong>Email de contact</strong></td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td></tr>
<tr><td><strong>Site web</strong></td><td>www.ostriapay.com</td></tr>
</tbody>
</table>
</div>
</div>
<div class="article" id="ml-publication">
<div class="article-header">2 — Directeur de publication</div>
<p>Le directeur de la publication du site www.ostriapay.com est :</p>
<div class="table-wrap">
<table>
<tbody>
<tr><td style="width:220px"><strong>Nom et prénom</strong></td><td style="color:#D4A017;font-weight:600">⚠ À renseigner avant mise en ligne</td></tr>
<tr><td><strong>Qualité</strong></td><td>Représentant légal — OSTRIA SAS</td></tr>
<tr><td><strong>Contact</strong></td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td></tr>
</tbody>
</table>
</div>
<div class="note-box">⚠️ Le nom complet du directeur de publication est une mention obligatoire au sens de l'article 6 III de la LCEN. Il doit être complété avant toute mise en ligne publique du site.</div>
</div>
<div class="article" id="ml-hebergeur">
<div class="article-header">3 — Hébergeur du site</div>
<div class="table-wrap">
<table>
<tbody>
<tr><td style="width:220px"><strong>Raison sociale</strong></td><td style="color:#D4A017;font-weight:600">⚠ À renseigner avant mise en ligne</td></tr>
<tr><td><strong>Adresse</strong></td><td style="color:#D4A017;font-weight:600">⚠ À renseigner</td></tr>
<tr><td><strong>Téléphone</strong></td><td style="color:#D4A017;font-weight:600">⚠ À renseigner</td></tr>
</tbody>
</table>
</div>
<div class="note-box">⚠️ Les coordonnées complètes de l'hébergeur sont une mention obligatoire au sens de la LCEN. À compléter dès le choix de la solution d'hébergement (ex. : OVHcloud, Vercel, Netlify, AWS…).</div>
</div>
<div class="article" id="ml-activite">
<div class="article-header">4 — Activité & cadre réglementaire</div>
<p>OstriaPay est une solution logicielle B2B (SaaS) permettant aux professionnels d'accepter des paiements en stablecoins, de suivre le cycle de vie de leurs transactions et de générer des exports comptables.</p>
<p>OstriaPay est édité par OSTRIA, société non agréée en qualité de prestataire de services de paiement (PSP) au sens de la Directive (UE) 2015/2366 (DSP2), ni en qualité de prestataire de services sur crypto-actifs (CASP) au sens du Règlement (UE) 2023/1114 (MiCA). OSTRIA n'opère pas de services de paiement réglementés et ne détient aucun fonds pour le compte de ses clients.</p>
<p>Les opérations d'exécution (KYB/KYC, custody, conversion et virement) sont réalisées par <strong>Bridge Building sp. z o.o.</strong>, enregistré en Pologne en qualité de Prestataire de Services sur Actifs Virtuels (PSAV) sous le numéro <strong>RDWW-794</strong>, dans le cadre de la période transitoire MiCA applicable jusqu'au 1er juillet 2026. Bridge est une filiale du groupe Stripe Inc.</p>
</div>
<div class="article" id="ml-propriete">
<div class="article-header">5 — Propriété intellectuelle</div>
<p>L'ensemble des éléments composant le site www.ostriapay.com (textes, graphismes, logotypes, interface, architecture, code source) est la propriété exclusive d'OSTRIA ou fait l'objet d'une autorisation d'utilisation.</p>
<p>Toute reproduction, représentation, modification, publication, transmission ou exploitation de tout ou partie du contenu du site, par quelque procédé que ce soit, sans l'autorisation préalable et écrite d'OSTRIA, est strictement interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.</p>
<p>Les marques et logos figurant sur le site sont des marques déposées ou en cours d'enregistrement. Toute reproduction sans autorisation préalable est interdite.</p>
</div>
<div class="article" id="ml-donnees">
<div class="article-header">6 — Données personnelles</div>
<p>Le traitement des données à caractère personnel collectées via le site www.ostriapay.com et la solution OstriaPay est régi par la <strong>Politique de Confidentialité</strong> d'OSTRIA, disponible sur ce site.</p>
<p>Conformément au Règlement (UE) 2016/679 (RGPD) et à la loi Informatique et Libertés, vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation, d'opposition et de portabilité concernant vos données personnelles.</p>
<p>Pour exercer ces droits ou pour toute question relative à la protection de vos données, contactez notre Délégué à la Protection des Données (DPO) : <a href="mailto:info@ostriapay.com">info@ostriapay.com</a>.</p>
<p>En cas de réclamation, vous pouvez vous adresser à la <strong>Commission Nationale de l'Informatique et des Libertés (CNIL)</strong> — <a href="https://www.cnil.fr" target="_blank">www.cnil.fr</a>.</p>
</div>
<div class="article" id="ml-cookies">
<div class="article-header">7 — Cookies</div>
<p>Le site www.ostriapay.com utilise uniquement des cookies techniques <strong>strictement nécessaires</strong> au bon fonctionnement du service (gestion de session, sécurité, préférences d'affichage). Ces cookies ne nécessitent pas de consentement préalable au sens des recommandations de la CNIL.</p>
<p>Aucun cookie publicitaire, de profilage commercial ou de suivi comportemental multi-sites n'est déposé par OstriaPay.</p>
</div>
<div class="article" id="ml-responsabilite">
<div class="article-header">8 — Limitation de responsabilité</div>
<p>OSTRIA s'efforce d'assurer l'exactitude et la mise à jour des informations diffusées sur le site www.ostriapay.com. Toutefois, OSTRIA ne peut garantir l'exactitude, la complétude ou l'actualité des informations mises en ligne et se réserve le droit de corriger le contenu du site à tout moment, sans préavis.</p>
<p>OSTRIA ne saurait être tenu responsable des dommages directs ou indirects résultant de l'accès au site ou de l'utilisation de son contenu, ni des dommages causés par l'indisponibilité temporaire du site pour raisons techniques ou de maintenance.</p>
<p>Les liens hypertextes présents sur le site peuvent renvoyer vers des sites tiers dont OSTRIA ne maîtrise pas le contenu. OSTRIA décline toute responsabilité quant au contenu de ces sites et aux dommages pouvant résulter de leur consultation.</p>
</div>
<div class="article" id="ml-contact">
<div class="article-header">9 — Contact</div>
<div class="table-wrap">
<table>
<tbody>
<tr><td style="width:220px"><strong>Toute demande générale</strong></td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td></tr>
<tr><td><strong>Données personnelles / DPO</strong></td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td></tr>
<tr><td><strong>Contact juridique</strong></td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td></tr>
</tbody>
</table>
</div>
</div>
<div class="doc-footer">
<span>OstriaPay · Mentions légales · Dernière mise à jour : mars 2026</span>
<span>OSTRIA SAS · RCS BASTIA 992 610 618 · <a href="mailto:info@ostriapay.com">info@ostriapay.com</a></span>
</div>
</main>
</div>
</div>
<!-- PC content -->
<div id="legalPC" style="display:none;flex:1">
<div class="legal-body">
<aside class="legal-toc">
<div class="toc-title">Sommaire</div>
<ul>
<li><a href="#art1">1. Champ d'application</a></li>
<li><a href="#art2">2. Responsable de traitement</a></li>
<li><a href="#art3">3. Données collectées</a></li>
<li><a href="#art4">4. Finalités et bases légales</a></li>
<li><a href="#art5">5. Confidentialité & sécurité</a></li>
<li><a href="#art6">6. Bridge — Données KYB/KYC</a></li>
<li><a href="#art7">7. Durées de conservation</a></li>
<li><a href="#art8">8. Transferts hors EEE</a></li>
<li><a href="#art9">9. Droits des personnes</a></li>
<li><a href="#art10">10. Sous-traitants</a></li>
<li><a href="#art11">11. Cookies et traceurs</a></li>
<li><a href="#art12">12. Mises à jour</a></li>
</ul>
</aside>
<main class="legal-content">
<div class="doc-header">
<div class="doc-badge">Document légal</div>
<h1>Politique de Confidentialité</h1>
<p>Protection des données personnelles — Clients professionnels (B2B)</p>
<div class="meta-table">
<div class="meta-row"><div class="meta-key">Responsable de traitement</div><div class="meta-val">OSTRIA SAS — SIREN 992 610 618 — VILLA LA MAISON BLEUE, 286 CARRUGHJU DI GUGLIELMU, 20620 BIGUGLIA</div></div>
<div class="meta-row"><div class="meta-key">Contact / DPO</div><div class="meta-val"><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></div></div>
<div class="meta-row"><div class="meta-key">Droit applicable</div><div class="meta-val">Droit français — Règlement (UE) 2016/679 (RGPD)</div></div>
<div class="meta-row"><div class="meta-key">Version</div><div class="meta-val">v1.0 — 28 février 2026</div></div>
<div class="meta-row"><div class="meta-key">Autorité de contrôle</div><div class="meta-val">Commission Nationale de l'Informatique et des Libertés (CNIL) — <a href="https://www.cnil.fr" target="_blank">www.cnil.fr</a></div></div>
</div>
</div>
<div class="commitment-box">
<strong>Engagement fondamental</strong>
Ostria applique une <strong>stricte confidentialité</strong> à l'ensemble des données auxquelles elle accède dans le cadre de la fourniture du Service OstriaPay : flux de transactions (encaissements, conversions, off-ramp), historiques, rapports, exports comptables, données bancaires, informations personnelles et d'entreprise. Ces données ne sont jamais revendues, cédées à des tiers à des fins commerciales, ni utilisées à d'autres fins que celles strictement nécessaires à l'exécution du Service.
</div>
<div class="article" id="art1">
<div class="article-header">Article 1 — Champ d'application et objet</div>
<p>La présente Politique de Confidentialité décrit la manière dont OSTRIA SAS collecte, utilise, conserve et protège les données à caractère personnel et les informations sensibles dans le cadre de la solution OstriaPay, fournie en mode SaaS à des professionnels (B2B).</p>
<p>Elle s'adresse exclusivement aux Clients professionnels (personnes morales ou personnes physiques agissant dans le cadre de leur activité professionnelle) et à leurs Utilisateurs habilités. Elle complète les Conditions Générales d'Utilisation (CGU) d'OstriaPay auxquelles elle est annexée.</p>
<p>La présente Politique est établie en conformité avec :</p>
<ul>
<li>Le Règlement (UE) 2016/679 du 27 avril 2016 relatif à la protection des données (« RGPD »).</li>
<li>La loi n° 78-17 du 6 janvier 1978 relative à l'informatique, aux fichiers et aux libertés (« Loi Informatique et Libertés »), modifiée.</li>
<li>Le Règlement (UE) 2023/1114 (MiCA) et les exigences de confidentialité applicables aux prestataires de services sur crypto-actifs.</li>
</ul>
</div>
<div class="article" id="art2">
<div class="article-header">Article 2 — Responsable de traitement</div>
<p><strong>Ostria agit en qualité de responsable de traitement</strong> des données à caractère personnel collectées dans le cadre du Service OstriaPay.</p>
<div class="table-wrap">
<table>
<tbody>
<tr><td style="width:200px"><strong>Dénomination sociale</strong></td><td>OSTRIA SAS</td></tr>
<tr><td><strong>SIREN</strong></td><td>992 610 618</td></tr>
<tr><td><strong>Siège social</strong></td><td>VILLA LA MAISON BLEUE, 286 Carrughju di Guglielmu, 20620 BIGUGLIA</td></tr>
<tr><td><strong>Contact / DPO</strong></td><td><a href="mailto:info@ostriapay.com">info@ostriapay.com</a></td></tr>
</tbody>
</table>
</div>
<p>Pour toute question relative à la protection de vos données ou pour exercer vos droits, contactez-nous à l'adresse : <a href="mailto:info@ostriapay.com">info@ostriapay.com</a>.</p>
</div>
<div class="article" id="art3">
<div class="article-header">Article 3 — Données collectées</div>
<h2>3.1 Données d'identification et de compte</h2>
<ul>
<li><strong>Données d'identification du Client :</strong> raison sociale, numéro SIREN/SIRET, forme juridique, adresse du siège social, nom et prénom du représentant légal et de l'Administrateur désigné.</li>
<li><strong>Coordonnées professionnelles :</strong> adresse email professionnelle, numéro de téléphone.</li>
<li><strong>Données de connexion et d'authentification :</strong> identifiants (email), horodatages de connexion, logs d'accès, traces d'authentification.</li>
</ul>
<h2>3.2 Données financières et bancaires — Confidentialité renforcée</h2>
<p>Ostria accorde une <strong>protection renforcée aux données financières et bancaires</strong>, qui font l'objet d'une stricte confidentialité :</p>
<ul>
<li><strong>Coordonnées bancaires :</strong> IBAN et coordonnées du compte bancaire désigné pour les opérations d'off-ramp. Ces données sont utilisées exclusivement pour la transmission à Bridge aux fins d'exécution des virements, et ne sont jamais partagées à des fins commerciales.</li>
<li><strong>Historique des transactions :</strong> flux d'encaissements en stablecoins (montants, adresses blockchain, horodatages), opérations de conversion (stablecoin → EUR), opérations d'off-ramp/payout, statuts de chaque opération.</li>
<li><strong>Rapports et exports comptables :</strong> données figurant dans les exports générés par OstriaPay (formats CSV et autres), destinés à la pré-comptabilité et au rapprochement interne du Client.</li>
</ul>
<p>L'accès à ces données est strictement limité aux personnels d'Ostria habilités pour les besoins du Service ou du support, et à Bridge dans la stricte mesure nécessaire à l'exécution des opérations.</p>
<h2>3.3 Données d'utilisation et logs techniques</h2>
<ul>
<li>Journaux techniques horodatés (logs) : authentifications, appels API, webhooks, actions de paramétrage, erreurs système.</li>
<li>Données de navigation et de session : adresse IP, type et version de navigateur, système d'exploitation, pages visitées dans l'interface OstriaPay.</li>
</ul>
<h2>3.4 Ce qu'Ostria ne collecte PAS</h2>
<p>Ostria applique un principe strict de <strong>minimisation des données</strong> :</p>
<ul>
<li>Ostria ne collecte, ne stocke et ne traite PAS les pièces justificatives KYB/KYC (pièces d'identité, extraits Kbis, etc.) — ces documents sont recueillis et traités directement par Bridge.</li>
<li>Ostria ne conserve pas les clés privées cryptographiques des wallets — la custody des actifs est assurée exclusivement par Bridge.</li>
<li>Ostria ne traite pas les données des clients finaux (payeurs) du Client — le Client en est seul responsable de traitement.</li>
</ul>
</div>
<div class="article" id="art4">
<div class="article-header">Article 4 — Finalités du traitement et bases légales</div>
<div class="table-wrap">
<table>
<thead><tr><th>Finalité</th><th>Données concernées</th><th>Base légale (RGPD)</th></tr></thead>
<tbody>
<tr><td>Gestion du compte OstriaPay et fourniture du Service</td><td>ID client, email, coordonnées</td><td>Exécution du contrat (art. 6.1.b)</td></tr>
<tr><td>Exécution des transactions (encaissements, conversions, off-ramp)</td><td>Données financières, IBAN, historique transactions</td><td>Exécution du contrat (art. 6.1.b)</td></tr>
<tr><td>Génération des rapports et exports comptables</td><td>Historique, montants, statuts, données opérationnelles</td><td>Exécution du contrat (art. 6.1.b)</td></tr>
<tr><td>Sécurité du Service et prévention des fraudes</td><td>Logs, IP, traces d'authentification</td><td>Intérêt légitime (art. 6.1.f)</td></tr>
<tr><td>Respect des obligations légales (LCB-FT, MiCA)</td><td>Données d'identification, transactions suspectes</td><td>Obligation légale (art. 6.1.c)</td></tr>
<tr><td>Support client et traitement des réclamations</td><td>Données de contact, logs, historique tickets</td><td>Exécution du contrat / Intérêt légitime</td></tr>
<tr><td>Amélioration du Service et statistiques agrégées</td><td>Données agrégées et anonymisées uniquement</td><td>Intérêt légitime (art. 6.1.f)</td></tr>
</tbody>
</table>
</div>
</div>
<div class="article" id="art5">
<div class="article-header">Article 5 — Confidentialité des données — Mesures de sécurité</div>
<h2>5.1 Engagements de confidentialité</h2>
<ul>
<li><strong>Données transactionnelles et financières :</strong> les flux d'encaissements, les historiques de conversion, les rapports et exports comptables, ainsi que les coordonnées bancaires du Client ne sont jamais transmis à des tiers à des fins commerciales ou publicitaires.</li>
<li><strong>Données sensibles de l'entreprise :</strong> les informations relatives à l'activité du Client (volumes traités, clients, partenaires) sont traitées comme strictement confidentielles.</li>
<li><strong>Accès interne limité :</strong> seuls les membres de l'équipe Ostria disposant d'une habilitation spécifique et d'un besoin opérationnel avéré ont accès aux données des Clients. Cet accès est journalisé et tracé.</li>
<li><strong>Non-exploitation commerciale :</strong> Ostria n'exploite ni ne monétise les données des Clients à des fins qui ne seraient pas directement liées à la fourniture du Service.</li>
</ul>
<h2>5.2 Mesures de sécurité techniques et organisationnelles</h2>
<p>Conformément à l'article 32 du RGPD, Ostria met en œuvre les mesures suivantes :</p>
<ul>
<li><strong>Chiffrement en transit :</strong> toutes les communications entre le Client et le Service sont chiffrées via HTTPS/TLS.</li>
<li><strong>Contrôle d'accès :</strong> authentification renforcée, gestion des droits par rôles (RBAC), révocation immédiate des accès en cas de résiliation ou d'incident.</li>
<li><strong>Traçabilité :</strong> journalisation horodatée de l'ensemble des actions sensibles (accès aux données, modifications de configuration, exports).</li>
<li><strong>Hébergement sécurisé :</strong> les données sont hébergées dans l'Espace Économique Européen (EEE) ou bénéficient de garanties appropriées pour les transferts hors EEE.</li>
<li><strong>Gestion des incidents :</strong> procédure formalisée de détection, qualification et notification des violations de données (notification CNIL sous 72h conformément à l'art. 33 RGPD).</li>
</ul>
</div>
<div class="article" id="art6">
<div class="article-header">Article 6 — Bridge — Confidentialité des données KYB/KYC et financières</div>
<div class="info-box">
<strong>Information importante — Rôle de Bridge</strong>
Bridge Building sp. z o.o. (PSAV enregistré sous le n° RDWW-794 en Pologne) est prestataire responsable, en tant que responsable de traitement autonome et indépendant, des données collectées dans le cadre de ses propres services : vérification d'identité (KYB/KYC), gestion des wallets en custody, exécution des conversions et virements. <strong>Ostria ne collecte pas et ne conserve pas ces données.</strong>
</div>
<h2>6.1 Engagement de Bridge en matière de confidentialité</h2>
<p>Bridge s'engage à se conformer aux réglementations applicables en matière de protection des données, notamment le RGPD (Bridge Building sp. z o.o. est établi dans l'EEE — autorité de contrôle : UODO, autorité polonaise de protection des données) et les obligations LCB-FT.</p>
<h2>6.2 Politique de confidentialité de Bridge</h2>
<p>Les données personnelles et financières transmises à Bridge sont traitées conformément à la Politique de Confidentialité de Bridge :</p>
<ul>
<li><strong>Clients EEE (dont France) :</strong> <a href="https://www.bridge.xyz/legal/eea-privacy-policy/bridge-building-sp-zoo" target="_blank">bridge.xyz/legal/eea-privacy-policy</a></li>
<li><strong>Documentation légale générale :</strong> <a href="https://www.bridge.xyz/legal/overview" target="_blank">bridge.xyz/legal/overview</a></li>
<li><strong>Contact DPO Bridge :</strong> <a href="mailto:privacy@bridge.xyz">privacy@bridge.xyz</a></li>
</ul>
<h2>6.3 Partage des données entre Ostria et Bridge</h2>
<p>Ostria transmet à Bridge uniquement les données strictement nécessaires à l'exécution des services commandés par le Client :</p>
<ul>
<li>Identifiants techniques du Compte Bridge (pour le suivi des statuts de transactions).</li>
<li>Coordonnées bancaires du Client (IBAN) pour l'exécution des virements off-ramp.</li>
<li>Informations requises pour les contrôles de conformité LCB-FT.</li>
</ul>
</div>
<div class="article" id="art7">
<div class="article-header">Article 7 — Durées de conservation</div>
<div class="table-wrap">
<table>
<thead><tr><th>Catégorie de données</th><th>Durée de conservation</th><th>Base légale</th></tr></thead>
<tbody>
<tr><td>Données d'identification du compte</td><td>Durée du contrat + 5 ans</td><td>Obligation légale / prescription civile</td></tr>
<tr><td>Données transactionnelles et financières (historique, rapports)</td><td>Durée du contrat + 10 ans</td><td>Art. L.123-22 C. com. / AML 5AMLD</td></tr>
<tr><td>Coordonnées bancaires (IBAN)</td><td>Durée du contrat + 1 an</td><td>Exécution du contrat</td></tr>
<tr><td>Logs techniques et d'accès</td><td>12 mois glissants</td><td>Intérêt légitime / recommandation CNIL</td></tr>
<tr><td>Données de support (tickets)</td><td>3 ans à compter de la clôture</td><td>Prescription légale</td></tr>
<tr><td>Données de facturation</td><td>10 ans à compter de l'émission</td><td>Art. L.123-22 C. com.</td></tr>
</tbody>
</table>
</div>
<p>À l'expiration de ces délais, les données font l'objet d'une suppression sécurisée ou d'une anonymisation irréversible.</p>
</div>
<div class="article" id="art8">
<div class="article-header">Article 8 — Transferts hors Espace Économique Européen</div>
<p>Les données traitées par Ostria sont hébergées en priorité au sein de l'Espace Économique Européen (EEE). Dans les cas où un prestataire technique d'Ostria serait établi hors de l'EEE, Ostria s'assure que des garanties appropriées sont en place conformément aux articles 44 à 49 du RGPD, notamment :</p>
<ul>
<li><strong>Décisions d'adéquation de la Commission européenne</strong>, lorsqu'applicables.</li>
<li><strong>Clauses contractuelles types (CCT)</strong> adoptées par la Commission européenne.</li>
</ul>
<p>Pour les données transmises à Bridge, les transferts éventuels hors EEE sont encadrés par la Politique de Confidentialité de Bridge.</p>
</div>
<div class="article" id="art9">
<div class="article-header">Article 9 — Droits des personnes concernées</div>
<p>Conformément au RGPD et à la Loi Informatique et Libertés, toute personne physique dont les données sont traitées par Ostria (Administrateur, Utilisateur habilité, représentant légal du Client) dispose des droits suivants :</p>
<div class="rights-grid">
<div class="right-card">
<h4>Droit d'accès (art. 15)</h4>
<p>Obtenir confirmation du traitement et accès à une copie des données vous concernant.</p>
</div>
<div class="right-card">
<h4>Droit de rectification (art. 16)</h4>
<p>Faire corriger des données inexactes ou incomplètes.</p>
</div>
<div class="right-card">
<h4>Droit à l'effacement (art. 17)</h4>
<p>Demander la suppression de vos données (« droit à l'oubli »), sous réserve des obligations légales de conservation.</p>
</div>
<div class="right-card">
<h4>Droit à la limitation (art. 18)</h4>
<p>Demander la suspension temporaire du traitement dans certaines situations.</p>
</div>
<div class="right-card">
<h4>Droit à la portabilité (art. 20)</h4>
<p>Recevoir vos données dans un format structuré et lisible.</p>
</div>
<div class="right-card">
<h4>Droit d'opposition (art. 21)</h4>
<p>Vous opposer au traitement fondé sur l'intérêt légitime d'Ostria.</p>
</div>
</div>
<p>Pour exercer ces droits, adressez votre demande par email à <a href="mailto:info@ostriapay.com">info@ostriapay.com</a>, en joignant une copie de votre justificatif d'identité. Ostria s'engage à répondre dans un délai d'un (1) mois.</p>
<p>En cas de réponse insatisfaisante ou d'absence de réponse, vous pouvez introduire une réclamation auprès de la <strong>Commission Nationale de l'Informatique et des Libertés (CNIL)</strong> — <a href="https://www.cnil.fr" target="_blank">www.cnil.fr</a>.</p>
</div>
<div class="article" id="art10">
<div class="article-header">Article 10 — Sous-traitants et partenaires techniques</div>
<p>Ostria peut faire appel à des sous-traitants techniques pour assurer la fourniture du Service. Ces sous-traitants sont sélectionnés pour leur niveau de conformité RGPD et liés par des contrats conformément à l'article 28 du RGPD. La liste est disponible sur demande à <a href="mailto:info@ostriapay.com">info@ostriapay.com</a>.</p>
<div class="table-wrap">
<table>
<thead><tr><th>Prestataire</th><th>Rôle</th><th>Garanties / localisation</th></tr></thead>
<tbody>
<tr><td><strong>Bridge Building sp. z o.o.</strong></td><td>KYB/KYC, custody, conversion, off-ramp — Responsable de traitement autonome</td><td>RGPD (EEE — Pologne) — UODO</td></tr>
<tr><td><strong>Hébergeur cloud</strong></td><td>Hébergement de l'infrastructure OstriaPay</td><td>EEE ou CCT Commission européenne</td></tr>
</tbody>
</table>
</div>
</div>
<div class="article" id="art11">
<div class="article-header">Article 11 — Cookies et traceurs</div>
<p>OstriaPay utilise des cookies et traceurs techniques <strong>strictement nécessaires</strong> au bon fonctionnement du Service (gestion de session, sécurité, préférences d'interface). Ces cookies ne nécessitent pas de consentement préalable au sens des lignes directrices de la CNIL.</p>
<p><strong>OstriaPay n'utilise pas de cookies à des fins publicitaires, de profilage commercial ou de suivi comportemental multi-sites.</strong></p>
</div>
<div class="article" id="art12">
<div class="article-header">Article 12 — Mises à jour de la Politique</div>
<p>Ostria se réserve le droit de mettre à jour la présente Politique à tout moment, notamment pour se conformer à de nouvelles exigences légales ou réglementaires, ou pour refléter l'évolution du Service. En cas de modification substantielle, le Client sera informé par email ou via une notification dans l'interface OstriaPay dans un délai raisonnable avant l'entrée en vigueur.</p>
<p>La version en vigueur est celle disponible sur le Site (<a href="https://www.ostriapay.com" target="_blank">www.ostriapay.com</a>) et annexée aux CGU. La date de la dernière mise à jour figure en page de garde.</p>
</div>
<div class="doc-footer">
<span>OstriaPay · Politique de Confidentialité v1.0 · 28 février 2026</span>
<span>OSTRIA SAS · 286 Carrughju di Guglielmu, 20620 Biguglia · <a href="mailto:info@ostriapay.com">info@ostriapay.com</a></span>
</div>
</main>
</div>
</div>
</div>
</div>
<script>
function openLegal(page) {
var overlay = document.getElementById('legalOverlay');
var cgu = document.getElementById('legalCGU');
var pc = document.getElementById('legalPC');
var ml = document.getElementById('legalML');
cgu.style.display = 'none';
pc.style.display = 'none';
ml.style.display = 'none';
if (page === 'cgu') cgu.style.display = 'block';
if (page === 'pc') pc.style.display = 'block';
if (page === 'ml') ml.style.display = 'block';
overlay.classList.add('open');
document.body.style.overflow = 'hidden';
// Scroll panel to top
overlay.querySelector('.legal-panel').scrollTop = 0;
}
function closeLegal() {
document.getElementById('legalOverlay').classList.remove('open');
document.body.style.overflow = '';
}
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape') closeLegal();
});
</script>
</body>
</html>