+
+
+
+
+ Terms of Use
+
+
+ Please make sure to read and understand the{' '}
+
+ Terms of Use
+ {' '}
+ before entering the application.
+
+
+
+ setAccepted(e.target.checked)}
+ className={classes.checkbox}
+ />
+ }
+ label={
+ <>
+ Agree to the
+ Terms of Use.
+ >
+ }
+ />
+
+
+
+
+
+
+ )
+}
+
+export default TermsModal
diff --git a/src/components/TermsOfUse/style.ts b/src/components/TermsOfUse/style.ts
new file mode 100644
index 000000000..8c9a9329d
--- /dev/null
+++ b/src/components/TermsOfUse/style.ts
@@ -0,0 +1,114 @@
+import { makeStyles } from 'tss-react/mui'
+import { colors, theme, typography } from '@static/theme'
+
+const useStyles = makeStyles()(() => {
+ return {
+ overlay: {
+ position: 'fixed',
+ inset: 0,
+ zIndex: 500,
+ display: 'flex',
+ justifyContent: 'center',
+ alignItems: 'center',
+ background: 'rgba(2,6,23,0.55)',
+ backdropFilter: 'blur(6px) brightness(0.7)',
+ WebkitBackdropFilter: 'blur(6px) brightness(0.7)',
+ padding: '24px',
+ [theme.breakpoints.down('md')]: {
+ padding: 16
+ }
+ },
+ container: {
+ zIndex: 501,
+ width: '100%',
+ maxWidth: 380,
+ borderRadius: 24,
+ padding: 32,
+ display: 'flex',
+ flexDirection: 'column',
+ gap: 32,
+ background: colors.invariant.pinkGreenLinearGradientOpacityVertical,
+ boxShadow: '0px 4px 18px 0px #00000059',
+ color: '#E6EEF8',
+ overflow: 'hidden',
+ [theme.breakpoints.down('md')]: {
+ gap: 24,
+ padding: 16
+ }
+ },
+ header: {
+ display: 'flex',
+ alignItems: 'center'
+ },
+ checkbox: {
+ width: 25,
+ height: 25,
+ marginLeft: 3,
+ marginRight: 3,
+ color: colors.invariant.newDark,
+ '&.Mui-checked': {
+ color: colors.invariant.green
+ },
+ '& .MuiSvgIcon-root': {
+ fontSize: 25
+ },
+ padding: 0,
+ '& .MuiIconButton-label': {
+ width: 20,
+ height: 20,
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ margin: 0
+ }
+ },
+ form: {
+ '& span': {
+ marginLeft: 3,
+ [theme.breakpoints.down('md')]: {
+ ...typography.caption2
+ }
+ }
+ },
+ logo: {
+ width: 'auto',
+ height: 48,
+ objectFit: 'contain',
+ transform: 'translate(-10px)'
+ },
+ title: {
+ fontWeight: 700,
+ fontSize: '1.05rem'
+ },
+ pink: {
+ color: colors.invariant.pink
+ },
+ heading: {
+ ...typography.heading1,
+ [theme.breakpoints.down('md')]: {
+ ...typography.heading3
+ }
+ },
+ description: {
+ fontSize: 20,
+ lineHeight: '28px',
+ color: colors.invariant.textGrey,
+ letterSpacing: '-0.03rem',
+ fontWeight: 400,
+ [theme.breakpoints.down('md')]: {
+ ...typography.body2
+ }
+ },
+ link: {
+ color: colors.invariant.green,
+ textDecoration: 'underline',
+ textDecorationThickness: 1,
+
+ '&:hover': {
+ textDecorationThickness: 2
+ }
+ }
+ }
+})
+
+export default useStyles
diff --git a/src/pages/RootPage.tsx b/src/pages/RootPage.tsx
index bf556d3b3..80a714720 100644
--- a/src/pages/RootPage.tsx
+++ b/src/pages/RootPage.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useCallback, useRef } from 'react'
+import React, { useEffect, useCallback, useRef, useState } from 'react'
import { useDispatch, useSelector } from 'react-redux'
import { useNavigate, useLocation, Outlet } from 'react-router-dom'
import EventsHandlers from '@containers/EventsHandlers'
@@ -22,6 +22,9 @@ import {
setPhantomAccChangeTrigger
} from '@utils/web3/wallet'
import { ROUTES } from '@utils/utils'
+import TermsOfUse from '@components/TermsOfUse/TermsOfUse'
+
+const TERMS_OF_USE_KEY = 'invariant-terms-of-use-v1'
// const BANNER_STORAGE_KEY = 'invariant-banner-state-2'
// const BANNER_HIDE_DURATION = 1000 * 60 * 60 * 24 // 24 hours
@@ -62,6 +65,22 @@ const RootPage: React.FC = React.memo(() => {
[ROUTES.POOL_DETAILS, 'Invariant | Pool Details']
])
+ const [showTermsOfUse, setShowTermsOfUse] = useState(() => {
+ const storedData = localStorage.getItem(TERMS_OF_USE_KEY)
+ if (storedData) {
+ return false
+ }
+ return true
+ })
+
+ const handleCloseModal = () => {
+ setShowTermsOfUse(false)
+ localStorage.setItem(TERMS_OF_USE_KEY, 'true')
+ }
+ const handleOpenTerms = () => {
+ window.open(ROUTES.TERMS, '_blank', 'noopener,noreferrer')
+ }
+
useEffect(() => {
const title =
metaData.get([...metaData.keys()].find(key => location.pathname.startsWith(key))!) ||
@@ -181,6 +200,9 @@ const RootPage: React.FC = React.memo(() => {
+ {showTermsOfUse && location.pathname !== ROUTES.TERMS && (
+
+ )}
{/* {showHeader && currentNetwork === NetworkType.Mainnet && (
<>
diff --git a/src/pages/RouterPages.tsx b/src/pages/RouterPages.tsx
index 646361568..7056b62ec 100644
--- a/src/pages/RouterPages.tsx
+++ b/src/pages/RouterPages.tsx
@@ -8,6 +8,7 @@ import SwapPage from '@pages/SwapPage/SwapPage'
import PortfolioPage from './PortfolioPage/PortfolioPage'
import { ROUTES } from '@utils/utils'
import PoolDetailsPage from './PoolDetailsPage/PoolDetailsPage'
+import TermsPage from './TermsOfUse/TermsPage'
export const router = createBrowserRouter(
createRoutesFromElements(
@@ -21,6 +22,7 @@ export const router = createBrowserRouter(
} />
} />
+ } />
)
)
diff --git a/src/pages/TermsOfUse/TermsPage.tsx b/src/pages/TermsOfUse/TermsPage.tsx
new file mode 100644
index 000000000..9dbc7ac2b
--- /dev/null
+++ b/src/pages/TermsOfUse/TermsPage.tsx
@@ -0,0 +1,556 @@
+import { Box, Grid, Typography } from '@mui/material'
+import useStyles from './styles'
+
+export const TermsPage: React.FC = () => {
+ const { classes } = useStyles()
+
+ return (
+
+
+
+ INVARIANT TERMS OF USE
+
+
+ Last updated: November 15, 2025
+
+
+
+ 1. Scope and Legal Nature of the Agreement
+
+
+
+ TL;DR: This interface is only a tool to access decentralized systems and is not a
+ financial service, so you are solely responsible for how you use it.
+
+
+
+ The interface serves exclusively as a technological means of interacting with
+ decentralized systems deployed on distributed ledger technology (“DLT”). It does not
+ constitute a custodial service, financial exchange, brokerage platform, investment
+ service, payment institution, or any form of regulated financial or fiduciary
+ infrastructure. These Terms supersede all prior statements, communications, or
+ understandings regarding your use of the interface.
+
+
+ You are entering into a binding Agreement.
+
+
+
+
+ 2. Services
+
+
+ TL;DR: The interface provides access to decentralized smart-contract systems
+ deployed by Invariant on distributed ledger technology. These smart contracts
+ operate autonomously and independently of Invariant, and you may interact with them
+ either directly or through the interface. The role of the interface is limited
+ strictly to enabling transaction submission; it does not alter, influence, or
+ intermediate any on-chain activity.
+
+
+
+
+ {' '}
+ The Protocol allows users to interact with digital assets in a decentralized and
+ peer-to-peer environment. Users may contribute liquidity by allocating their digital
+ assets into decentralized liquidity pools (“
+ {' '}
+ Liquidity Pools
+
+ {' '}
+ ”), thereby enabling other participants to execute swaps or other interactions
+ directly against that liquidity. Digital assets applicable to these pools may
+ consist of any fungible tokens supported by the underlying DLT network.
+
+
+
+ Liquidity Pools are created and controlled solely by their respective liquidity
+ providers, who determine asset pairings, allocation, and associated parameters. All
+ interactions between liquidity providers and traders occur directly through autonomous
+ smart contracts and, where applicable, additional smart contracts deployed by
+ unrelated third parties. These interactions form a direct peer-to-peer relationship
+ between users of the Protocol. Invariant does not participate in, supervise, validate,
+ or oversee these relationships, nor does it assume any obligations, duties, or
+ liabilities arising from them.
+
+
+ Invariant is not a counterparty to any transaction conducted through the Protocol,
+ does not act as a broker, intermediary, custodian, or agent, and does not take
+ possession of or exercise control over any digital assets used within Liquidity Pools.
+ Liquidity providers and traders assume all risks associated with their own actions,
+ including technical risks, market risks, and contractual risks embedded in
+ smart-contract interactions.
+
+
+ Neither the interface nor Invariant provides digital-asset exchange services,
+ portfolio management services, investment advice, or any regulated financial service.
+ Any decision you make to interact with Liquidity Pools, provide liquidity, or engage
+ in trades is undertaken at your sole discretion and risk. Invariant and its
+ affiliates, directors, contributors, developers, and employees shall not be liable for
+ any direct or indirect loss arising from your use of Liquidity Pools, reliance on
+ information displayed through the interface, or outcomes stemming from smart-contract
+ execution, including but not limited to errors, omissions, unexpected behavior, or
+ alterations of on-chain data.
+
+
+ THE SITE SOLELY FUNCTIONS AS A VISUAL USER INTERFACE. IN NO CIRCUMSTANCES SHALL THE
+ COMPANY, THE SMART CONTRACTS, OR THE SITE BE CONSTRUED AS A DIGITAL ASSET EXCHANGE,
+ BROKER, DEALER, FUND MANAGER, FINANCIAL INSTITUTION, EXCHANGE, CUSTODIAN,
+ ROBO-ADVISOR, INTERMEDIARY, OR CREDITOR. THE SITE DOES FACILITATE OR ARRANGE
+ TRANSACTIONS BETWEEN BUYERS AND SELLERS, INCLUDING WITH RESPECT TO ANY TRANSACTIONS
+ THAT OCCUR IN CONNECTION WITH A LIQUIDITY POOL, WHICH TRANSACTIONS OCCUR ON THE
+ RELEVANT BLOCKCHAIN NETWORK. THE COMPANY IS NOT A COUNTERPARTY TO ANY TRANSACTION
+ FACILITATED BY THE SMART CONTRACTS OR THE SITE OR FOR ANY USER OF THE SITE. NEITHER
+ THE SMART CONTRACTS OR THE SITE PROVIDES FINANCIAL ADVISORY, LEGAL, REGULATORY, OR TAX
+ SERVICES DIRECTLY, INDIRECTLY, IMPLICITLY, OR IN ANY OTHER MANNER, AND YOU SHOULD NOT
+ CONSIDER ANY CONTENT CONTAINED IN THESE TERMS OR OTHERWISE POSTED ON THE SITE TO BE A
+ SUBSTITUTE FOR PROFESSIONAL FINANCIAL, LEGAL, REGULATORY, TAX OR OTHER ADVICE. THE
+ COMPANY DOES NOT SUPPORT OR ENDORSE ANY LIQUIDITY POOL CREATED BY ANY USER OF
+ INVARIANT, AND EACH SUCH CREATOR IS AN INDEPENDENT AGENT WITH NO EMPLOYMENT OR OTHER
+ CONTRACTUAL RELATIONSHIP WITH THE COMPANY.
+
+
+
+
+
+ 3. Nature of Distributed Ledger Technology and Operational Autonomy
+
+
+
+ TL;DR: Decentralized networks operate independently and no one, including us, can
+ change or undo transactions once confirmed.
+
+
+
+ The interface grants access to decentralized and autonomous smart-contract systems
+ that operate solely through DLT networks. These networks are maintained collectively
+ by independent participants who validate and record transactions through consensus
+ mechanisms that do not depend on our authority or oversight. You understand and
+ acknowledge that no centralized authority, including Invariant, has the ability to
+ intervene in, alter, or reverse the execution of smart contracts or transactions once
+ they have been confirmed on a DLT network. The decentralized nature of the Protocol
+ ensures that its operation is independent and permissionless and that it is not
+ subject to modification, halting, suspension, or any form of administrative influence
+ by us or by any affiliated party.
+
+
+
+
+
+ 4. Distinction Between Interface and Protocol
+
+
+
+ TL;DR: The interface is separate from the Protocol, and the Protocol runs on its own
+ whether or not the interface exists.
+
+
+
+
+ The interface is a separate, optional user-access layer that enables the submission
+ of transaction instructions to autonomous smart contracts (“
+
+ the Protocol
+
+ ”). The interface and the Protocol are independent of one another. We do not
+ control, own, operate, or modify the Protocol; we do not maintain administrative
+ privileges over its smart contracts; and we cannot influence, override, or reverse
+ outcomes executed by the Protocol.
+
+
+
+ The Protocol may be accessed directly without the interface, and its continued
+ operation does not depend on the availability, functionality, or existence of the
+ interface. All interactions with the Protocol occur entirely according to its
+ immutable code deployed on DLT.
+
+
+
+
+
+ 5. Eligibility, Age of Majority, and Legal Capacity
+
+
+
+ TL;DR:You must be an adult with legal capacity and allowed by your local laws to use
+ Invariant protocol.
+
+
+
+ By using the interface, you represent that you are a natural person acting on your own
+ behalf, that you have reached the age of majority applicable in your jurisdiction, and
+ that you possess full legal capacity to enter into binding agreements. You further
+ confirm that your use of decentralized technologies is not prohibited by any
+ applicable laws related to digital assets, sanctions, financial regulations, consumer
+ protection, taxation, or data governance.
+
+
+
+
+ 6. Restricted Jurisdictions
+
+
+ TL;DR: You must confirm that you are not subject to sanctions, not acting for any
+ sanctioned party, and not using illicit funds. Access is prohibited if you are
+ located in or associated with a high-risk or sanctioned
+
+ jurisdiction.
+
+
+ You represent and warrant that you are not, and have never been, the subject of any
+ economic, financial, or trade sanctions imposed, administered, or enforced by the
+ United Nations, the European Union, the United States (including the Office of Foreign
+ Assets Control), the United Kingdom, or any other competent authority. You further
+ confirm that you are not acting for, or on behalf of, any person or entity subject to
+ such sanctions, and that no funds or digital assets used by you originate from
+ activities that violate applicable sanctions laws, anti-money-laundering regulations,
+ or counter-terrorism financing rules.
+
+
+
+ Restricted regions include, without limitation:
+
+
+
United States of America and its territories
+
Canada
+
European Union (27 member states)
+
United Kingdom
+
People’s Republic of China
+
Hong Kong SAR
+
Singapore
+
Iran
+
Syria
+
North Korea
+
Cuba
+
Myanmar
+
Sudan and South Sudan
+
Belarus
+
Venezuela (restricted regions)
+
Crimea
+
Donetsk
+
Luhansk
+
+
+
+
+
+ 7. Third-Party Wallet Requirement
+
+
+ TL;DR: You use your own non-custodial wallet and you alone control your keys and
+ access. Any wallet loss, failure, or compromise is entirely your responsibility.
+
+
+
+ Interaction with the Protocol requires the use of a third-party, non-custodial digital
+ wallet capable of signing transactions on DLT-based systems. Such wallets are not
+ owned, operated, monitored, or controlled by us. We do not retain access to your
+ private keys, seed phrases, backup materials, authentication credentials, or wallet
+ recovery mechanisms. Any loss of access, compromise of credentials, technical
+ malfunction, or unauthorized use of your wallet is solely your responsibility.
+
+
+
+
+ 8. Risks of Smart Contracts
+
+
+ TL;DR: You acknowledge and agree that all interactions performed through the
+ interface involve self-executing smart contracts deployed on decentralized
+ distributed ledger technology. Smart contracts operate autonomously according to
+ their code and are not subject to manual intervention, override, suspension,
+ correction, or discretionary control by us or any third party. Once a transaction is
+ broadcast and confirmed by the relevant DLT network, it becomes final, irreversible,
+ and beyond alteration.
+
+
+
+ Smart contracts may contain vulnerabilities, unintended logic paths, design
+ limitations, or dependencies on external data sources. Their operation may be
+ influenced by network conditions, validator behavior, data-flow inconsistencies, or
+ adversarial activity. As such, smart-contract interactions may result in failed
+ transactions, partial execution, unexpected outcomes, or permanent loss of digital
+ assets.
+
+
+ We make no representations, warranties, or guarantees regarding the reliability,
+ accuracy, functionality, or security of any smart contract that you interact with.
+ Your engagement with smart contracts is undertaken entirely at your own risk, and you
+ are solely responsible for verifying their suitability and technical soundness before
+ executing any transaction. You understand that neither we nor any affiliated party
+ bears liability for any damage, loss, malfunction, or adverse consequence arising from
+ smart-contract execution.
+
+
+
+
+
+ 9. Absence of Custody, Control, or Intermediary Role
+
+
+
+ TL;DR: We never hold your assets, handle your transactions, or in any way control
+ the funds you provide as liquidity. At no point can we, or the Protocol, be
+ considered an intermediary or broker
+
+
+
+ We do not custody, store, hold, manage, or control digital assets on your behalf. We
+ do not mediate, broker, or execute transactions and do not provide settlement,
+ clearing, or escrow functions. All transactions initiated through the interface occur
+ directly through your interaction with the Protocol and the DLT, without our
+ involvement or ability to alter their outcome. You bear sole responsibility for
+ verifying the accuracy and appropriateness of transaction details before authorizing
+ them.
+
+
+
+
+
+ 10. No Financial, Legal, or Tax Advice
+
+
+ Nothing here is advice; you must evaluate risks yourself or consult professionals.
+
+
+ The interface and any information provided through it are intended solely for
+ informational and technological purposes. Nothing within the interface constitutes
+ financial, legal, tax, or investment advice. You are solely responsible for evaluating
+ the legal and economic consequences of your actions and for seeking independent
+ professional advice.
+
+
+
+
+ 11. Limitation of Liability
+
+
+ TL;DR: Your use of the interface is entirely at your own risk, and our liability is
+ strictly limited.
+
+
+
+ UNDER NO CIRCUMSTANCES SHALL WE, ANY INVARIANT PARTIES, OR ANY THIRD-PARTY SERVICES BE
+ LIABLE TO YOU FOR ANY INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR
+ EXEMPLARY DAMAGES, INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF PROFITS,
+ GOODWILL, USE, DATA, OR OTHER INTANGIBLE PROPERTY, ARISING OUT OF OR RELATING TO ANY
+ ACCESS OR USE OF OR INABILITY TO ACCESS OR USE ANY OF THE PRODUCTS OR ANY THIRD-PARTY
+ SERVICES. WE WILL NOT BE RESPONSIBLE FOR ANY DAMAGE, LOSS, OR INJURY RESULTING FROM
+ HACKING, TAMPERING, OR OTHER UNAUTHORIZED ACCESS OR USE OF ANY OF THE PRODUCTS,
+ THIRD-PARTY SERVICES, OR THE INFORMATION CONTAINED WITHIN THEM, WHETHER SUCH DAMAGES
+ ARE BASED IN CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY, OR OTHERWISE, ARISING OUT
+ OF OR IN CONNECTION WITH AUTHORIZED OR UNAUTHORIZED USE OF ANY OF THE PRODUCTS OR ANY
+ THIRD-PARTY SERVICES, EVEN IF AN AUTHORIZED REPRESENTATIVE OF INVARIANT HAS BEEN
+ ADVISED OF, KNEW, OR SHOULD HAVE KNOWN OF THE POSSIBILITY OF SUCH DAMAGES.
+
+
+
+ WE ASSUME NO LIABILITY OR RESPONSIBILITY FOR ANY: (A) ERRORS, MISTAKES, OR
+ INACCURACIES OF CONTENT; (B) PERSONAL INJURY OR PROPERTY DAMAGE OF ANY NATURE
+ WHATSOEVER RESULTING FROM ANY ACCESS OR USE OF THE INTERFACE; (C) UNAUTHORIZED ACCESS
+ OR USE OF ANY SECURE SERVER OR DATABASE IN OUR CONTROL OR THE USE OF ANY INFORMATION
+ OR DATA STORED THEREIN; (D) INTERRUPTION OR CESSATION OF FUNCTION RELATED TO ANY OF
+ THE PRODUCTS OR THIRD-PARTY SERVICES; (E) BUGS, VIRUSES, TROJAN HORSES, OR THE LIKE
+ THAT MAY BE TRANSMITTED TO OR THROUGH THE INTERFACE; (F) ERRORS OR OMISSIONS IN, OR
+ LOSS OR DAMAGE INCURRED AS A RESULT OF THE USE OF, ANY CONTENT MADE AVAILABLE THROUGH
+ ANY OF THE PRODUCTS OR THIRD-PARTY SERVICES; AND (G) THE DEFAMATORY, OFFENSIVE, OR
+ ILLEGAL CONDUCT OF ANY THIRD PARTY.
+
+
+
+ WE HAVE NO LIABILITY TO YOU OR TO ANY THIRD PARTY FOR ANY CLAIMS OR DAMAGES THAT MAY
+ ARISE AS A RESULT OF ANY PAYMENTS OR TRANSACTIONS THAT YOU ENGAGE IN VIA ANY OF OUR
+ PRODUCTS OR ANY THIRD-PARTY SERVICES, OR ANY OTHER PAYMENTS OR TRANSACTIONS THAT YOU
+ CONDUCT VIA ANY OF OUR PRODUCTS. EXCEPT AS EXPRESSLY PROVIDED FOR HEREIN, WE DO NOT
+ PROVIDE REFUNDS FOR ANY PURCHASES MADE ON OR THROUGH ANY OF OUR PRODUCTS.
+
+
+
+ NEITHER WE NOR ANY PROVIDERS OF THIRD-PARTY SERVICES MAKE ANY WARRANTIES OR
+ REPRESENTATIONS, EXPRESS OR IMPLIED, ABOUT LINKED THIRD-PARTY SERVICES, THE THIRD
+ PARTIES THAT OWN OR OPERATE THEM, THE INFORMATION CONTAINED ON THEM, ASSETS AVAILABLE
+ THROUGH THEM, OR THE SUITABILITY, PRIVACY, OR SECURITY OF THEIR PRODUCTS OR SERVICES.
+ YOU ACKNOWLEDGE SOLE RESPONSIBILITY FOR AND ASSUME ALL RISK ARISING FROM YOUR USE OF
+ THIRD-PARTY SERVICES, THIRD-PARTY WEBSITES, APPLICATIONS, OR RESOURCES. WE SHALL NOT
+ BE LIABLE UNDER ANY CIRCUMSTANCES FOR DAMAGES ARISING OUT OF OR IN ANY WAY RELATED TO
+ SOFTWARE, PRODUCTS, SERVICES, AND/OR INFORMATION OFFERED OR PROVIDED BY THIRD PARTIES
+ AND ACCESSED THROUGH ANY OF OUR PRODUCTS.
+
+
+
+ SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY FOR PERSONAL INJURY OR FOR
+ INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. IN NO
+ EVENT SHALL OUR TOTAL LIABILITY TO YOU FOR ALL DAMAGES (OTHER THAN AS REQUIRED BY
+ APPLICABLE LAW IN CASES INVOLVING PERSONAL INJURY) EXCEED ONE HUNDRED U.S. DOLLARS
+ ($100.00 USD) OR ITS EQUIVALENT IN THE LOCAL CURRENCY OF THE APPLICABLE JURISDICTION.
+
+
+
+ THE FOREGOING DISCLAIMER WILL NOT APPLY TO THE EXTENT PROHIBITED BY LAW.
+
+
+
+
+ 12. Prohibited Activities
+
+
+ TL;DR: Do not use the interface for illegal activity, attacks, manipulation, or
+ misuse of any kind.
+
+
+
+ You agree not to use the interface for any unlawful, fraudulent, malicious, or harmful
+ purpose. Prohibited conduct includes attempting to bypass sanctions, laundering funds,
+ exploiting vulnerabilities, manipulating transactions, attacking network
+ infrastructure, disrupting interface functionality, accessing systems without
+ authorization, or impersonating another person.
+
+
+
+
+ 13. Intellectual Property Rights
+
+
+ TL;DR: You cannot copy or use materials without permission.
+
+
+
+ All proprietary rights, title, and interest in and to the interface, including its
+ design, layout, visual elements, text, graphics, code, logos, trademarks, trade names,
+ documentation, and any other materials or content made available through or in
+ connection with it (collectively, “Interface Materials”), are owned by us or by third
+ parties who have granted us the rights to use such materials. The Interface Materials
+ are protected by copyright, trademark, and other applicable intellectual property and
+ proprietary rights laws. All such rights are expressly reserved.
+
+
+ You acknowledge that while the underlying decentralized protocol may be open-source or
+ governed by separate licensing terms, the interface itself constitutes a distinct
+ proprietary product. Your access to the interface grants you no rights, licenses, or
+ ownership interests of any kind in the Interface Materials, except for the limited,
+ revocable, non-exclusive, non-transferable permission to use the interface solely for
+ its intended purpose and strictly in accordance with these Terms.
+
+
+ You may not copy, reproduce, distribute, modify, publish, reverse-engineer, decompile,
+ disassemble, frame, scrape, data-mine, or otherwise exploit any portion of the
+ Interface Materials without our prior express written consent. Unauthorized use,
+ reproduction, or distribution of the Interface Materials may constitute a violation of
+ intellectual property laws and may result in legal action.
+
+
+ Nothing in these Terms shall be interpreted as granting you any license or right to
+ use our trademarks, trade names, branding, domain names, URLs, or other identifying
+ marks in any manner without our prior written approval. Misuse of any such identifying
+ elements may result in legal liabilit
+
+
+
+
+ 14. No Guarantee of Availability
+
+
+ TL;DR: The interface may be changed, limited, interrupted, or discontinued at any
+ time, and we do not guarantee its continuous or error-free operation.
+
+
+
+ You acknowledge and agree that the interface is provided on an “as available” basis
+ and that we do not make any representation, warranty, or commitment regarding its
+ continuous availability, uptime, performance, or compatibility. The interface may be
+ subject to interruptions, delays, errors, maintenance periods, updates, or
+ modifications at any time and for any reason, including technical issues, security
+ considerations, or operational requirements.
+
+
+ We reserve the right, at our sole discretion and without obligation to provide notice,
+ to suspend, restrict, disable, modify, or discontinue any portion of the interface.
+ Such actions may affect your ability to submit transactions, access information, or
+ interact with the Protocol, and may occur with or without prior warning.
+
+
+ You further acknowledge that availability of the interface may depend on networks,
+ technologies, and services provided by third parties—including internet service
+ providers, hosting providers, DLT network participants, library maintainers, or wallet
+ providers—and that we have no control over and disclaim responsibility for any
+ disruptions, failures, or delays caused by such external systems.
+
+
+ Your ability to interact with the underlying Protocol does not depend on the continued
+ availability of the interface. You are solely responsible for ensuring that you
+ maintain alternative means of accessing the Protocol should the interface become
+ unavailable for any reason.
+
+
+
+
+ 15. Indemnification
+
+
+ TL;DR: If your actions cause harm, violate laws, or breach these Terms, you must
+ cover the resulting damages and costs.
+
+
+
+ You agree to indemnify, defend, and hold harmless us and our officers, directors,
+ employees, contractors, developers, agents, affiliates, and subsidiaries from and
+ against any and all claims, demands, liabilities, damages, losses, costs, expenses,
+ and legal fees arising out of or relating to (a) your use of the interface, the smart
+ contracts, or any DLT-based system; (b) your breach or alleged breach of these Terms;
+ (c) your violation of any applicable law or regulation; (d) your infringement of any
+ rights of a third party; or (e) any activity conducted through your wallet, whether
+ authorized or unauthorized.
+
+
+ You agree that this indemnification obligation applies regardless of whether claims
+ arise directly or indirectly from your actions, omissions, negligence,
+ misrepresentations, or unauthorized access to your digital wallet. You further agree
+ that we shall have the right, but not the obligation, to assume exclusive defense and
+ control of any matter otherwise subject to indemnification, and that you will
+ cooperate fully with any such defense.
+
+
+
+
+ 16. Final Provisions
+
+
+ TL;DR: These Terms govern your use of the interface and remain binding even if
+ individual statements are adjusted or updated.
+
+
+
+ These Terms constitute the entire agreement governing your use of the interface. If
+ any provision is deemed invalid or unenforceable, it shall be modified only to the
+ extent necessary to preserve its intent. All remaining provisions remain in full
+ effect. Continued use of the interface constitutes your acceptance of all current and
+ future versions of the Terms.
+
+
+
+
+ 17. Contact Us
+
+ You may contact us with questions about your use of the Services at{' '}
+
+
+ inbox@invariant.app
+
+
+ .
+
+
+ These Terms constitute the entire agreement governing your use of the interface. If
+ any provision is deemed invalid or unenforceable, it shall be modified only to the
+ extent necessary to preserve its intent. All remaining provisions remain in full
+ effect. Continued use of the interface constitutes your acceptance of all current and
+ future versions of the Terms.
+
+
+
+
+
+ )
+}
+
+export default TermsPage
diff --git a/src/pages/TermsOfUse/styles.ts b/src/pages/TermsOfUse/styles.ts
new file mode 100644
index 000000000..1a051948f
--- /dev/null
+++ b/src/pages/TermsOfUse/styles.ts
@@ -0,0 +1,72 @@
+import { typography, colors, theme } from '@static/theme'
+import { makeStyles } from 'tss-react/mui'
+
+export const useStyles = makeStyles()(() => ({
+ outerWrapper: {
+ paddingInline: 24,
+ marginTop: 24,
+ [theme.breakpoints.down('sm')]: {
+ paddingInline: 8
+ }
+ },
+ wrapper: {
+ maxWidth: 1210,
+ margin: 'auto',
+ minHeight: '100%',
+ flexDirection: 'column',
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ color: colors.invariant.text,
+ border: `1px solid ${colors.invariant.light}`,
+ padding: '48px 24px ',
+ borderRadius: 24,
+ boxShadow: `0px 13px 39px 14px rgba(58, 70, 107, 0.4)`,
+ marginBottom: 48
+ },
+ title: {
+ ...typography.heading1,
+ marginBottom: 16,
+ color: colors.invariant.green,
+ textAlign: 'center',
+ [theme.breakpoints.down('md')]: {
+ ...typography.heading2
+ }
+ },
+ lastUpdate: {
+ ...typography.body2,
+ textAlign: 'center',
+ marginBottom: 32,
+ [theme.breakpoints.down('md')]: {
+ ...typography.caption2
+ }
+ },
+ section: {
+ display: 'flex',
+ flexDirection: 'column',
+ gap: 16
+ },
+ tldr: {
+ fontStyle: 'italic'
+ },
+ subTitle: {
+ ...typography.heading3,
+ [theme.breakpoints.down('md')]: {
+ ...typography.heading4
+ }
+ },
+ paragraph: {
+ ...typography.body3,
+ [theme.breakpoints.down('md')]: {
+ ...typography.body2
+ }
+ },
+ accent: {},
+ list: {},
+ mail: {
+ color: colors.invariant.text,
+ cursor: 'pointer'
+ }
+}))
+
+export default useStyles
diff --git a/src/static/theme/index.ts b/src/static/theme/index.ts
index 17487e2fd..ce5e553d8 100644
--- a/src/static/theme/index.ts
+++ b/src/static/theme/index.ts
@@ -95,7 +95,9 @@ export const colors = {
plotGreen: '#9DD46D',
plotRed: '#FB555F',
pinkGreenLinearGradient: 'linear-gradient(90deg, #EF84F5 0%, #2EE09A 100%)',
- darkGradient: 'linear-gradient(180deg,rgba(17, 25, 49, 0) 0%, rgba(17, 25, 49, 1) 100%)'
+ darkGradient: 'linear-gradient(180deg,rgba(17, 25, 49, 0) 0%, rgba(17, 25, 49, 1) 100%)',
+ pinkGreenLinearGradientOpacityVertical:
+ 'linear-gradient(0deg, rgba(46, 224, 154, 0.15) 0%, rgba(46, 224, 154, 0) 50%), linear-gradient(0deg, rgba(239, 132, 245, 0) 50%, rgba(239, 132, 245, 0.15) 100%), #202946;'
}
}
diff --git a/src/utils/utils.ts b/src/utils/utils.ts
index 2417ec759..f597c58bc 100644
--- a/src/utils/utils.ts
+++ b/src/utils/utils.ts
@@ -1898,6 +1898,7 @@ export const ROUTES = {
PORTFOLIO: '/portfolio',
POOL_DETAILS: '/poolDetails',
POOL_DETAILS_WITH_PARAMS: '/poolDetails/:item1?/:item2?/:item3?',
+ TERMS: '/terms',
getExchangeRoute: (item1?: string, item2?: string): string => {
const parts = [item1, item2].filter(Boolean)