PageSourceSearch

https://fundingview.app/_next/static/chunks/pages/spot-74555744beac6260.js

js fundingview.app collected 2026-10-09 22:06:13 UTC 24,776 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[784],{812:(e,s,a)=>{"use strict";a.d(s,{A:()=>n,G:()=>o});var t=a(6514),r=a(7977),c=a.n(r),d=a(5834),i=a(3134);function o(e){let[s,a]=(0,d.useState)(null);return(0,d.useEffect)(()=>{try{let s=localStorage.getItem(e);s&&s in i.s8&&a(s)}catch(e){}},[e]),[s,(0,d.useCallback)(s=>{a(s);try{s?localStorage.setItem(e,s):localStorage.removeItem(e)}catch(e){}},[e])]}function n(e){let{value:s,onChange:a,title:r}=e,[o,n]=(0,d.useState)(!1);(0,d.useEffect)(()=>{if(!o)return;let e=e=>{e.target.closest("[data-required-select]")||n(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o]);let l=e=>{a(e),n(!1)},x=s?i.s8[s]:null;return(0,t.jsxs)("div",{"data-required-select":!0,className:"jsx-1807ba7c9bcdde3d rx-wrapper",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>n(e=>!e),title:r||"Only keep strategies that use this exchange","aria-haspopup":"listbox","aria-expanded":o,className:"jsx-1807ba7c9bcdde3d "+"rx-button".concat(s?" is-set":""),children:[(null==x?void 0:x.logo)&&(0,t.jsx)("img",{src:x.logo,alt:"",className:"jsx-1807ba7c9bcdde3d rx-logo"}),(0,t.jsx)("span",{className:"jsx-1807ba7c9bcdde3d rx-label",children:x?"Must use: ".concat(x.name):"Must use: Any"}),(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 16 16",fill:"currentColor",className:"jsx-1807ba7c9bcdde3d "+((o?"rx-chevron is-open":"rx-chevron")||""),children:(0,t.jsx)("path",{d:"M4 6l4 4 4-4z",className:"jsx-1807ba7c9bcdde3d"})})]}),o&&(0,t.jsxs)("div",{role:"listbox",className:"jsx-1807ba7c9bcdde3d rx-menu",children:[(0,t.jsxs)("label",{className:"jsx-1807ba7c9bcdde3d "+"rx-item".concat(s?"":" is-selected"),children:[(0,t.jsx)("input",{type:"radio",name:"required-exchange",checked:!s,onChange:()=>l(null),className:"jsx-1807ba7c9bcdde3d"}),(0,t.jsx)("span",{className:"jsx-1807ba7c9bcdde3d",children:"Any exchange"})]}),Object.entries(i.s8).map(e=>{let[a,r]=e;return(0,t.jsxs)("label",{className:"jsx-1807ba7c9bcdde3d "+"rx-item".concat(s===a?" is-selected":""),children:[(0,t.jsx)("input",{type:"radio",name:"required-exchange",checked:s===a,onChange:()=>l(a),className:"jsx-1807ba7c9bcdde3d"}),(0,t.jsx)("img",{src:r.logo,alt:"",className:"jsx-1807ba7c9bcdde3d rx-logo"}),(0,t.jsx)("span",{className:"jsx-1807ba7c9bcdde3d",children:r.name})]},a)})]}),(0,t.jsx)(c(),{id:"1807ba7c9bcdde3d",children:'.rx-wrapper.jsx-1807ba7c9bcdde3d{position:relative}.rx-button.jsx-1807ba7c9bcdde3d{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:11px;font-family:"Geist";letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:border-color 120ms}[data-theme="dark"] .rx-button.jsx-1807ba7c9bcdde3d{background:var(--bg)}.rx-button.jsx-1807ba7c9bcdde3d:hover,.rx-button.is-set.jsx-1807ba7c9bcdde3d{border-color:var(--brand)}.rx-chevron.jsx-1807ba7c9bcdde3d{transition:transform 150ms}.rx-chevron.is-open.jsx-1807ba7c9bcdde3d{transform:rotate(180deg)}.rx-logo.jsx-1807ba7c9bcdde3d{width:14px;height:14px;border-radius:4px;flex-shrink:0}.rx-menu.jsx-1807ba7c9bcdde3d{position:absolute;top:calc(100% + 4px);right:0;z-index:50;
1min-width:200px;max-height:320px;overflow-y:auto;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.rx-item.jsx-1807ba7c9bcdde3d{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:12px;color:var(--text);cursor:pointer}.rx-item.jsx-1807ba7c9bcdde3d:hover,.rx-item.is-selected.jsx-1807ba7c9bcdde3d{background:var(--bg-secondary)}.rx-item.jsx-1807ba7c9bcdde3d input.jsx-1807ba7c9bcdde3d{margin:0;accent-color:var(--brand);cursor:pointer}@media(max-width:768px){.rx-wrapper.jsx-1807ba7c9bcdde3d,.rx-button.jsx-1807ba7c9bcdde3d{width:100%}.rx-button.jsx-1807ba7c9bcdde3d{justify-content:space-between}.rx-menu.jsx-1807ba7c9bcdde3d{left:0;right:0}}'})]})}},5110:(e,s,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/spot",function(){return a(7986)}])},7986:(e,s,a)=>{"use strict";a.r(s),a.d(s,{default:()=>w});var t=a(6514),r=a(7977),c=a.n(r),d=a(5834),i=a(4322),o=a.n(i),n=a(3121),l=a(6456),x=a.n(l),p=a(812),f=a(3134),b=a(8843),m=a(217),h=a(8245),g=a.n(h),j=a(8860),u=a(9417);let v=[{value:1,shortLabel:"1d"},{value:3,shortLabel:"3d"},{value:7,shortLabel:"7d"},{value:15,shortLabel:"15d"},{value:30,shortLabel:"1m"},{value:90,shortLabel:"3m"},{value:180,shortLabel:"6m"},{value:365,shortLabel:"1y"}],y={data:{},timestamps:{}};function w(){let[e,s]=(0,j.ZA)("tf",j.GJ.withDefault(30)),[a,r]=(0,p.G)("requiredExchangeSpot"),[i,l]=(0,d.useState)(()=>{{let e=localStorage.getItem("selectedExchangesSpot");if(e)return new Set(JSON.parse(e).filter(e=>e in f.s8))}return new Set(["paradex","ext","hyperliquid","lighter","hibachi","orderly","aster"])}),[h,w]=(0,d.useState)(null),[k,N]=(0,d.useState)(!0),[S,z]=(0,d.useState)(null),[C]=(0,d.useState)({key:"apr",direction:"desc"}),[G,E]=(0,d.useState)(""),[L,A]=(0,d.useState)(!1),[O,_]=(0,d.useState)(!1),P=(0,d.useCallback)(async e=>{try{let s="spot-averages-".concat(e),a=Date.now();if(y.data[s]&&y.timestamps[s]&&a-y.timestamps[s]<3e5){w(y.data[s]),N(!1);return}N(!0),z(null);let t=await fetch("/api/history/averages?days=".concat(e,"&limit=150"));if(!t.ok)throw Error("HTTP error! status: ".concat(t.status));let r=await t.json();y.data[s]=r.data,y.timestamps[s]=a,w(r.data)}catch(e){z("Failed to load funding data. Please try again.")}finally{N(!1)}},[]);(0,d.useEffect)(()=>{P(e)},[e,P]);let T=(0,d.useMemo)(()=>h?(0,b.QR)(h,Array.from(i),C,a).filter(e=>{var s,a;if(L&&!(null==(a=m[e.symbol])||null==(s=a.categories)?void 0:s.includes("rwa")))return!1;let t=G.toLowerCase();if(!t||e.symbol.toLowerCase().includes(t))return!0;let r=f.rj[e.symbol];
1return!!r&&r.some(e=>e.toLowerCase().includes(t))}):[],[h,i,C,G,L,a]),B=(0,d.useCallback)(e=>{l(s=>{let a=new Set(s);return a.has(e)?a.delete(e):a.add(e),localStorage.setItem("selectedExchangesSpot",JSON.stringify([...a])),a})},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.Ay,{title:"Spot Strategies - Spot/Perp Funding Arbitrage Opportunities",description:"Find the best spot/perp funding arbitrage opportunities across 15+ exchanges. Buy spot, short perp, earn yield from positive funding rates with zero directional exposure.",keywords:"spot perp arbitrage, spot strategies, funding arbitrage, delta neutral, crypto yield, spot hedging",path:"/spot"}),(0,t.jsx)(o(),{children:(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify((0,n.WO)([{name:"Home",url:"https://fundingview.app"},{name:"Spot Strategies",url:"https://fundingview.app/spot"}]))},className:"jsx-5ecf2d0b51e2c6fa"})}),(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-page",children:(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-wrapper",children:[(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-desc-card",children:["Buy spot, short the perpetual \xb7 earn funding while staying ",(0,t.jsx)("strong",{className:"jsx-5ecf2d0b51e2c6fa",children:"delta-neutral"}),". Perfect for accumulating XP and potential airdrops."," ",(0,t.jsx)(x(),{href:"/blog/spot-perp-funding-arbitrage",className:"spt-desc-link",children:"Learn more →"})]}),(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-toolbar",children:[(0,t.jsx)("input",{type:"text",placeholder:"Search symbol…",value:G,onChange:e=>E(e.target.value),className:"jsx-5ecf2d0b51e2c6fa spt-search"}),(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-toolbar-right",children:[(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa tf-group",children:v.map(a=>(0,t.jsx)("button",{onClick:()=>s(a.value),className:"jsx-5ecf2d0b51e2c6fa "+"tf-btn".concat(e===a.value?" active":""),children:a.shortLabel},a.value))}),(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa tf-group",children:(0,t.jsx)("button",{onClick:()=>A(e=>!e),title:"Show only Real World Assets (stocks, commodities, forex...)",className:"jsx-5ecf2d0b51e2c6fa "+"tf-btn".concat(L?" active":""),children:"RWA Only"})}),(0,t.jsx)(p.A,{value:a,onChange:r,title:"Only show strategies whose perp short is on this exchange"}),(0,t.jsxs)("button",{onClick:()=>_(!0),className:"jsx-5ecf2d0b51e2c6fa spt-filter-mobile",children:[(0,t.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"jsx-5ecf2d0b51e2c6fa",children:(0,t.jsx)("polygon",{points:"22,3 2,3 10,12.46 10,19 14,21 14,12.46",className:"jsx-5ecf2d0b51e2c6fa"})}),"Exchanges (",i.size,")"]})]})]}),O&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{onClick:()=>_(!1),className:"jsx-5ecf2d0b51e2c6fa spt-overlay"}),(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-modal",children:[(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-modal-header",children:[(0,t.jsx)("h3",{className:"jsx-5ecf2d0b51e2c6fa",children:"Filter Exchanges"}),(0,t.jsx)("button",{onClick:()=>_(!1),className:"jsx-5ecf2d0b51e2c6fa spt-modal-close",children:(0,t.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"jsx-5ecf2d0b51e2c6fa",children:[(0,t.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18",className:"jsx-5ecf2d0b51e2c6fa"}),(0,t.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18",className:"jsx-5ecf2d0b51e2c6fa"})]})})]}),(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-modal-body",children:[(0,t.jsxs)("label",{className:"jsx-5ecf2d0b51e2c6fa spt-modal-exch spt-modal-rwa",children:[(0,t.jsx)("input",{type:"checkbox",checked:L,onChange:()=>A(e=>!e),className:"jsx-5ecf2d0b51e2c6fa"}),(0,t.jsx)("span",{className:"jsx-5ecf2d0b51e2c6fa",children:"RWA Only"})]}),(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-modal-grid",children:Object.entries(f.s8).map(e=>{let[s,a]=e;return(0,t.jsxs)("label",{className:"jsx-5ecf2d0b51e2c6fa spt-modal-exch",children:[(0,t.jsx)("input",{type:"checkbox",checked:i.has(s),onChange:()=>B(s),className:"jsx-5ecf2d0b51e2c6fa"}),(0,t.jsx)("img",{src:a.logo,alt:a.name,className:"jsx-5ecf2d0b51e2c6fa spt-exch-logo"}),(0,t.jsx)("span",{className:"jsx-5ecf2d0b51e2c6fa",children:a.name})]},s)})})]}),(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-modal-footer",children:(0,t.jsxs)("button",{onClick:()=>_(!1),className:"jsx-5ecf2d0b51e2c6fa spt-modal-apply",children:["Apply (",i.size," selected)"]})})]})]}),(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-body",children:[(0,t.jsx)("aside",{className:"jsx-5ecf2d0b51e2c6fa spt-filter-sidebar",children:(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-sidebar-card",children:[(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-sidebar-label",children:"Exchanges"}),(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-exch-list",children:Object.entries(f.s8).map(e=>{let[s,a]=e;return(0,t.jsxs)("label",{className:"jsx-5ecf2d0b51e2c6fa spt-exch-item",children:[(0,t.jsx)("input",{type:"checkbox",checked:i.has(s),onChange:()=>B(s),className:"jsx-5ecf2d0b51e2c6fa"}),(0,t.jsx)("img",{src:a.logo,alt:a.name,className:"jsx-5ecf2d0b51e2c6fa spt-exch-logo"}),(0,t.jsx)("span",{className:"jsx-5ecf2d0b51e2c6fa spt-exch-name",children:a.name})]},s)})})]})}),(0,t.jsx)("main",{className:"jsx-5ecf2d0b51e2c6fa spt-main",children:k?(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-grid",children:Array.from({length:24}).map((e,s)=>(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-card spt-card-skel",children:[(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-card-top",children:[(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-skel-circle"}),(0,t.jsx)("div",{style:{width:"55%"},className:"jsx-5ecf2d0b51e2c6fa spt-skel-bar"})]}),(0,t.jsx)("div",{style:{width:"45%",height:22},className:"jsx-5ecf2d0b51e2c6fa spt-skel-bar"}),(0,t.jsx)("div",{style:{width:"75%"},className:"jsx-5ecf2d0b51e2c6fa spt-skel-bar"}),(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-card-footer",children:(0,t.jsx)("div",{style:{width:"100%",height:24},className:"jsx-5ecf2d0b51e2c6fa spt-skel-bar"})})]},s))}):S?(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-error-wrap",children:(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-error-box",children:S})}):T.length>0?(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-grid",children:T.map((e,s)=>{var a,r,c;return(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-card",children:[(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-card-top",children:[(0,t.jsx)(g(),{src:(0,u.ZK)(e.symbol),alt:e.symbol,width:22,height:22,className:"spt-card-img",onError:e=>{e.target.style.display="none"}}),(0,t.jsx)("span",{className:"jsx-5ecf2d0b51e2c6fa spt-card-symbol",children:e.symbol})]}),(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-apr-row",children:[(0,t.jsxs)("span",{className:"jsx-5ecf2d0b51e2c6fa spt-apr-value",children:[(0,b.ZV)(e.apr,1),"%"]}),(0,t.jsx)("span",{className:"jsx-5ecf2d0b51e2c6fa spt-apr-label",children:"Avg APR"})]}),(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-card-route",children:[(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-route-row",children:[(0,t.jsx)("span",{className:"jsx-5ecf2d0b51e2c6fa spt-pill buy",children:"BUY"}),(0,t.jsxs)("span",{className:"jsx-5ecf2d0b51e2c6fa spt-route-text",children:[e.symbol," spot"]})]}),(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-route-row",children:[(0,t.jsx)("span",{className:"jsx-5ecf2d0b51e2c6fa spt-pill short",children:"SHORT"}),(0,t.jsx)("span",{className:"jsx-5ecf2d0b51e2c6fa spt-route-text",children:null==(a=f.s8[e.exchange])?void 0:a.name})]})]}),(0,t.jsx)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-card-footer",children:(0,t.jsxs)("a",{href:null==(r=f.s8[e.exchange])?void 0:r.ref,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"jsx-5ecf2d0b51e2c6fa spt-trade-btn",children:[(0,t.jsx)("img",{src:null==(c=f.s8[e.exchange])?void 0:c.logo,alt:"",className:"jsx-5ecf2d0b51e2c6fa spt-trade-logo"}),"Trade"]})})]},"".concat(e.symbol,"-").concat(e.exchange,"-").concat(s))})}):(0,t.jsxs)("div",{className:"jsx-5ecf2d0b51e2c6fa spt-empty",children:[(0,t.jsx)("p",{className:"jsx-5ecf2d0b51e2c6fa spt-empty-title",children:"No opportunities found"}),(0,t.jsx)("p",{className:"jsx-5ecf2d0b51e2c6fa spt-empty-sub",children:"Try selecting different exch
1anges or adjusting your search"})]})})]})]})}),(0,t.jsx)(c(),{id:"5ecf2d0b51e2c6fa",children:'.tf-group.jsx-5ecf2d0b51e2c6fa{display:flex;gap:0;border:1px solid var(--border);border-radius:6px;overflow:hidden}.tf-btn.jsx-5ecf2d0b51e2c6fa{padding:5px 12px;background:#fff;color:var(--text);border:none;border-radius:0;font-size:11px;cursor:pointer;font-family:"Geist";letter-spacing:-.005em;transition:all.15s}.tf-btn.jsx-5ecf2d0b51e2c6fa:hover{color:var(--text);background:var(--bg-secondary)}.tf-btn.active.jsx-5ecf2d0b51e2c6fa{font-family:"GeistSans"}[data-theme="dark"] .tf-btn.jsx-5ecf2d0b51e2c6fa{background:var(--bg)}[data-theme="dark"] .tf-btn.jsx-5ecf2d0b51e2c6fa:hover{background:var(--bg-secondary)}.spt-page.jsx-5ecf2d0b51e2c6fa{min-height:calc(100vh - 68px);background:var(--bg-secondary);margin-top:7px;margin-right:7px}.spt-wrapper.jsx-5ecf2d0b51e2c6fa{margin:0 auto}.spt-desc-card.jsx-5ecf2d0b51e2c6fa{width:100%;background:linear-gradient(90deg,rgba(207,0,0,.1)0%,var(--bg)50%,rgba(207,0,0,.1)100%);border:1px solid rgba(207,0,0,.15);border-radius:6px;padding:14px 24px;margin-bottom:10px;font-size:13px;color:var(--text);font-family:"Geist",sans-serif;text-align:center;line-height:1.5;box-sizing:border-box}.spt-desc-card.jsx-5ecf2d0b51e2c6fa strong.jsx-5ecf2d0b51e2c6fa{color:var(--brand);font-weight:600}.spt-desc-link.jsx-5ecf2d0b51e2c6fa{color:var(--brand);font-weight:500;text-decoration:none;margin-left:4px}.spt-desc-link.jsx-5ecf2d0b51e2c6fa:hover{text-decoration:underline}.spt-toolbar.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:7px;flex-wrap:wrap}.spt-toolbar-right.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.spt-search.jsx-5ecf2d0b51e2c6fa{width:220px;padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-size:11px;font-family:"Geist";letter-spacing:-.005em;outline:none;transition:border-color 120ms}.spt-search.jsx-5ecf2d0b51e2c6fa:focus{border-color:var(--brand)}.spt-search.jsx-5ecf2d0b51e2c6fa::placeholder{color:var(--text-muted)}[data-theme="dark"] .spt-search.jsx-5ecf2d0b51e2c6fa{background:var(--bg)}.spt-filter-mobile.jsx-5ecf2d0b51e2c6fa{display:none;align-items:center;gap:6px;padding:5px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:11px;font-family:"Geist";letter-spacing:-.005em;cursor:pointer;transition:border-color 120ms}.spt-filter-mobile.jsx-5ecf2d0b51e2c6fa:hover{border-color:var(--brand)}.spt-body.jsx-5ecf2d0b51e2c6fa{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:flex-start}.spt-filter-sidebar.jsx-5ecf2d0b51e2c6fa{position:sticky;top:7px}.spt-sidebar-card.jsx-5ecf2d0b51e2c6fa{background:#fff;border:1px solid var(--border);border-radius:6px;overflow:hidden;height:calc(100vh - 14px)}[data-theme="dark"] .spt-sidebar-card.jsx-5ecf2d0b51e2c6fa{background:var(--bg)}.spt-sidebar-label.jsx-5ecf2d0b51e2c6fa{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:12px 12px 8px;font-family:"Geist",sans-serif}.spt-exch-list.jsx-5ecf2d0b51e2c6fa{display:flex;flex-direction:column;padding-bottom:8px}.spt-exch-item.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;transition:background 80ms}.spt-exch-item.jsx-5ecf2d0b51e2c6fa:hover{background:var(--bg-secondary)}.spt-exch-item.jsx-5ecf2d0b51e2c6fa input[type="checkbox"].jsx-5ecf2d0b51e2c6fa{width:13px;height:13px;cursor:pointer;accent-color:var(--brand);flex-shrink:0}.spt-exch-logo.jsx-5ecf2d0b51e2c6fa{width:16px;height:16px;border-radius:50%;flex-shrink:0}.spt-exch-name.jsx-5ecf2d0b51e2c6fa{font-size:13px;color:var(--text);font-family:"Geist",sans-serif;white-space:nowrap}.spt-main.jsx-5ecf2d0b51e2c6fa{min-height:400px}.spt-grid.jsx-5ecf2d0b51e2c6fa{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:7px;padding-bottom:40px}.spt-card.jsx-5ecf2d0b51e2c6fa{background:#fff;border:1px solid var(--border);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:border-color 120ms}[data-theme="dark"] .spt-card.jsx-5ecf2d0b51e2c6fa{background:var(--bg)}.spt-card-top.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;gap:7px}.spt-card-img.jsx-5ecf2d0b51e2c6fa{border-radius:50%;flex-shrink:0}.spt-card-symbol.jsx-5ecf2d0b51e2c6fa{font-size:14px;font-weight:600;color:var(--text);font-family:"Geist",sans-serif;letter-spacing:-.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spt-apr-row.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:baseline;gap:6px}.spt-apr-value.jsx-5ecf2d0b51e2c6fa{font-size:26px;font-weight:700;font-family:"JetBrains Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;color:var(--green-text);letter-spacing:-.04em;line-height:1}.spt-apr-label.jsx-5ecf2d0b51e2c6fa{font-size:11px;color:var(--text-muted);font-family:"Geist",sans-serif;letter-spacing:.02em}.spt-card-route.jsx-5ecf2d0b51e2c6fa{display:flex;flex-direction:column;gap:5px}.spt-route-row.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;gap:6px}.spt-pill.jsx-5ecf2d0b51e2c6fa{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700;font-family:"Geist",sans-serif;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.spt-pill.buy.jsx-5ecf2d0b51e2c6fa{background:var(--green-bg);color:var(--green-text)}.spt-pill.short.jsx-5ecf2d0b51e2c6fa{background:var(--red-bg);color:var(--red-text)}.spt-route-text.jsx-5ecf2d0b51e2c6fa{font-size:12px;color:var(--text-muted);font-family:"Geist",sans-serif;white-space:nowrap}.spt-card-footer.jsx-5ecf2d0b51e2c6fa{display:flex;justify-content:flex-end;border-top:1px solid var(--border);padding-top:9px;margin-top:auto}.spt-trade-btn.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:4px;padding:3px 9px;cursor:pointer;font-family:"Geist",sans-serif;text-decoration:none;transition:color 120ms,border-color 120ms;flex-shrink:0}.spt-trade-btn.jsx-5ecf2d0b51e2c6fa:hover{color:var(--brand);border-color:var(--brand)}.spt-trade-logo.jsx-5ecf2d0b51e2c6fa{width:13px;height:13px;border-radius:50%}.spt-card-skel.jsx-5ecf2d0b51e2c6fa{cursor:default}.spt-card-skel.jsx-5ecf2d0b51e2c6fa:hover{border-color:var(--border)}.spt-skel-circle.jsx-5ecf2d0b51e2c6fa{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:linear-gradient(90deg,var(--bg-secondary)25%,var(--soft)50%,var(--bg-secondary)75%);background-size:200%100%;animation:spt-shimmer 1.5s infinite ease-in-out}.spt-skel-bar.jsx-5ecf2d0b51e2c6fa{height:12px;border-radius:4px;background:linear-gradient(90deg,var(--bg-secondary)25%,var(--soft)50%,var(--bg-secondary)75%);background-size:200%100%;animation:spt-shimmer 1.5s infinite ease-in-out}@keyframes spt-shimmer{0%{background-position:200%0}100%{background-position:-200%0}}.spt-error-wrap.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;justify-content:center;padding:60px 20px}.spt-error-box.jsx-5ecf2d0b51e2c6fa{border:1px solid var(--badge-red-border);padding:16px 20px;border-radius:6px;color:var(--red-text);font-size:13px;max-width:480px;text-align:center;font-family:"Geist",sans-serif}.spt-empty.jsx-5ecf2d0b51e2c6fa{text-align:center;padding:80px 20px}.spt-empty-title.jsx-5ecf2d0b51e2c6fa{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px;font-family:"Geist",sans-serif}.spt-empty-sub.jsx-5ecf2d0b51e2c6fa{font-size:13px;color:var(--text-muted);margin:0;font-family:"Geist",sans-serif}.spt-overlay.jsx-5ecf2d0b51e2c6fa{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998}.spt-modal.jsx-5ecf2d0b51e2c6fa{position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-radius:12px 12px 0 0;z-index:9999;max-height:80vh;display:flex;flex-direction:column;animation:spt-slide-up.22s ease}@keyframes spt-slide-up{from{transform:translatey(100%)}to{transform:translatey(0)}}.spt-modal-header.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.spt-modal-header.jsx-5ecf2d0b51e2c6fa h3.jsx-5ecf2d0b51e2c6fa{font-size:16px;font-weight:600;color:var(--text);margin:0;font-family:"Geist",sans-serif}.spt-modal-close.jsx-5ecf2d0b51e2c6fa{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px}.spt-modal-close.jsx-5ecf2d0b51e2c6fa:hover{background:var(--bg-secondary)}.spt-modal-body.jsx-5ecf2d0b51e2c6fa{flex:1;overflow-y:auto;padding:14px 18px}.spt-modal-rwa.jsx-5ecf2d0b51e2c6fa{margin-bottom:10px}.spt-modal-grid.jsx-5ecf2d0b51e2c6fa{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.spt-modal-exch.jsx-5ecf2d0b51e2c6fa{display:flex;align-items:center;gap:8px;padding:10px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);font-family:"Geist",sans-serif}.spt-modal-exch.jsx-5ecf2d0b51e2c6fa:has(input:checked){background:var(--brand-light);border-color:var(--brand)}.spt-modal-exch.jsx-5ecf2d0b51e2c6fa input[type="checkbox"].jsx-5ecf2d0b51e2c6fa{width:14px;
1height:14px;accent-color:var(--brand);cursor:pointer}.spt-modal-footer.jsx-5ecf2d0b51e2c6fa{padding:14px 18px;border-top:1px solid var(--border)}.spt-modal-apply.jsx-5ecf2d0b51e2c6fa{width:100%;padding:12px;background:var(--brand);color:white;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;font-family:"Geist",sans-serif;transition:opacity 120ms}.spt-modal-apply.jsx-5ecf2d0b51e2c6fa:hover{opacity:.88}@media(max-width:1024px){.spt-body.jsx-5ecf2d0b51e2c6fa{grid-template-columns:1fr}.spt-filter-sidebar.jsx-5ecf2d0b51e2c6fa{display:none}.spt-filter-mobile.jsx-5ecf2d0b51e2c6fa{display:flex}}@media(max-width:768px){.spt-page.jsx-5ecf2d0b51e2c6fa{margin:0;padding:16px 14px 40px}.spt-search.jsx-5ecf2d0b51e2c6fa{width:100%}.spt-toolbar-right.jsx-5ecf2d0b51e2c6fa{width:100%;flex-wrap:wrap}.tf-group.jsx-5ecf2d0b51e2c6fa{overflow-x:auto;-webkit-overflow-scrolling:touch}.spt-filter-mobile.jsx-5ecf2d0b51e2c6fa{width:100%;justify-content:center}.spt-grid.jsx-5ecf2d0b51e2c6fa{grid-template-columns:1fr}.spt-modal-grid.jsx-5ecf2d0b51e2c6fa{grid-template-columns:1fr}}'})]})}}},e=>{e.O(0,[860,224,417,636,593,792],()=>e(e.s=5110)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.