-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #734 from centrifuge/fund-mgmt
Add fund management page + update homepage and nav
- Loading branch information
Showing
16 changed files
with
613 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
{ | ||
"slug": "/fund-management", | ||
"seo": { | ||
"title": "Onchain Fund Management\n", | ||
"description": "Centrifuge's fund management platform brings the full power of onchain finance to asset managers and investment funds." | ||
}, | ||
"hero_fund": { | ||
"pretitle": "ONCHAIN FUND MANAGEMENT", | ||
"title": "Asset Management, \nOnchain", | ||
"body": "Centrifuge's fund management platform brings the full power of onchain finance to asset managers and investment funds. Capture your entire fund's onchain and offchain portfolio positions, transactions, and operations data in a secure, immutable, and reportable manner.", | ||
"image": "./images/prime/hero-prime.png" | ||
}, | ||
"prime_partners": { | ||
"title": "Built from years of experience bringing RWAs to DeFi", | ||
"items": [ | ||
{ | ||
"image": "./images/prime/partner/the-credit-group.svg", | ||
"alt": "The Credit Group" | ||
}, | ||
{ | ||
"image": "./images/prime/partner/steakhouse-financial.svg", | ||
"alt": "Steakhouse Financial" | ||
}, | ||
{ | ||
"image": "./images/prime/partner/rwa.svg", | ||
"alt": "rwa.xyz" | ||
}, | ||
{ | ||
"image": "./images/prime/partner/aave.svg", | ||
"alt": "Aave" | ||
}, | ||
{ | ||
"image": "./images/prime/partner/blocktower.svg", | ||
"alt": "Blocktower" | ||
}, | ||
{ | ||
"image": "./images/prime/partner/maker.svg", | ||
"alt": "Maker" | ||
}, | ||
{ | ||
"image": "./images/prime/partner/circle.svg", | ||
"alt": "Circle" | ||
} | ||
] | ||
}, | ||
"fund_features": { | ||
"title": "Your new central control panel", | ||
"body": "Tokenize your funds and streamline access to all necessary service providers and investors, saving operational overhead and increasing liquidity. Key benefits of Centrifuge's Onchain Fund Management Platform include:", | ||
"items": [ | ||
{ | ||
"title": "Reporting & Transparency", | ||
"body": "All portfolio positions, transactions, fees, and operational data – from offchain and onchain sources – are captured and reported for trustless verification." | ||
}, | ||
{ | ||
"title": "Operational Efficiency", | ||
"body": "Fund operations are automated to improve reporting cadence and more easily integrate with third-party services to reduce operational overhead and cost." | ||
}, | ||
{ | ||
"title": "Securitization", | ||
"body": "Enables pooling of tokenized assets into tradable instruments with tranching, waterfall distributions, loan tape management and investor management for enhanced liquidity and risk distribution." | ||
}, | ||
{ | ||
"title": "Programmability", | ||
"body": "Funds can be more easily integrated with other programmable interfaces to dynamically interface with DeFi protocols with programmable constraints." | ||
} | ||
] | ||
}, | ||
"rwa_yields": { | ||
"title": "Streamline fund operations", | ||
"body": "Easily construct portfolios that offer exactly the right risk profile and incorporate the unique complexities of markets. From single tranche liquid portfolios to multi-tranche asset-backed offerings, automatically manage loan tape, calculate distribution waterfalls, net-asset-valuations, and asset-performance. All onchain.", | ||
"image": "./images/fund-management/fund1.png" | ||
}, | ||
"rwa_usp": { | ||
"title": "Why build onchain?", | ||
"body": "Save costs and create efficiencies with real-time, accurate access to holdings, fully integrated with the necessary service providers for operating an institutional-grade offering. ", | ||
"items": [ | ||
"Reduce yield spreads by 25 bps", | ||
"Improve liquidity by 5.3%", | ||
"Save up to 150 bps running the fund" | ||
], | ||
"image": "./images/fund-management/fund2.png" | ||
}, | ||
"prime_integration": { | ||
"title": "The home for all things real-world assets", | ||
"body": "Centrifuge Prime combines the infrastructure for the tokenization and management of real-world assets, with an ecosystem of critical partners and services, to provide the assets and opportunities that DAOs and DeFi protocols want to see.", | ||
"items": [ | ||
{ | ||
"image": "./images/prime/integration-infrastructure.svg", | ||
"title": "Infrastructure", | ||
"body": "RWA tokenization, securitization, and a compliant out of the box legal framework" | ||
}, | ||
{ | ||
"image": "./images/prime/integration-ecosystem.svg", | ||
"title": "Ecosystem", | ||
"body": "Decentralized and objective credit risk reporting and analysis functions for assets and portfolio" | ||
}, | ||
{ | ||
"image": "./images/prime/integration-assets.svg", | ||
"title": "Assets", | ||
"body": "Diversified asset classes including US Treasury Bills, Asset Backed Securities, Real Estate, and more" | ||
} | ||
] | ||
}, | ||
"fund_cta": { | ||
"title": "Ready to launch \nyour fund onchain?", | ||
"items": [ | ||
"Centrifuge's fund management platform is available now for funds and asset managers looking to launch tokenized investment products and strategies." | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
import {Text, Stack, IconArrowRight} from '@centrifuge/fabric' | ||
import * as React from 'react' | ||
import styled from 'styled-components' | ||
import {links} from '../../config/links' | ||
|
||
type BulletListProps = { | ||
items: string[] | ||
} | ||
|
||
const Icon = styled(IconArrowRight)` | ||
vertical-align: middle; | ||
width: 1em; | ||
height: 1em; | ||
margin-right: 0.5em; | ||
transform: rotate(45deg); | ||
` | ||
|
||
export function BulletListFund({items}: BulletListProps) { | ||
return items && items.length ? ( | ||
<Stack as="ul" gap={1}> | ||
<Text as="li"> | ||
<Icon/> | ||
Reduce yield spreads by 25 bps ( | ||
<Text | ||
as="a" | ||
href={links.bis} | ||
rel="noopener noreferrer" | ||
target="_blank" | ||
variant="body1" | ||
style={{textDecoration: 'underline'}} | ||
> | ||
BIS | ||
</Text> | ||
) | ||
</Text> | ||
<Text as="li"> | ||
<Icon/> | ||
Improve liquidity by 5.3% ( | ||
<Text | ||
as="a" | ||
href={links.hkma} | ||
rel="noopener noreferrer" | ||
target="_blank" | ||
variant="body1" | ||
style={{textDecoration: 'underline'}} | ||
> | ||
HKMA | ||
</Text> | ||
) | ||
</Text> | ||
<Text as="li"> | ||
<Icon/> | ||
Save up to 150 bps running the fund | ||
</Text> | ||
</Stack> | ||
) : null; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
import * as React from 'react' | ||
import { graphql } from 'gatsby' | ||
import { AnchorButton, Box, Container, Divider, Grid, Stack, Text } from '@centrifuge/fabric' | ||
import { Reveal, RevealWrapper } from './Reveal' | ||
import { links } from '../../config/links' | ||
|
||
export const query = graphql` | ||
fragment FundCtaFragment on DataJsonFund_cta { | ||
title | ||
items | ||
} | ||
` | ||
|
||
export type FundCtaProps = { | ||
title: string | ||
items: string[] | ||
} | ||
|
||
export function FundCta({ title, items }: FundCtaProps) { | ||
return ( | ||
<RevealWrapper> | ||
<Box as="section" mb="1px" px={2} py={[10, 10, '150px']} backgroundColor="textPrimary"> | ||
<Container maxWidth="containerHeader"> | ||
<Stack gap={3}> | ||
<Reveal> | ||
<Text as="h2" variant="heading2b" color="textInverted" style={{ whiteSpace: 'pre' }}> | ||
{title} | ||
</Text> | ||
</Reveal> | ||
|
||
<Reveal staggerIndex={1}> | ||
<Divider borderColor="textDisabled" /> | ||
</Reveal> | ||
|
||
<Grid gridTemplateColumns={['1fr', '1fr', '2fr 1fr', '1fr 1fr']} gap={4}> | ||
<Grid as="ul" columns={[1, 2]} equalColumns gap={[2, 6]}> | ||
{items.map((entry, index) => ( | ||
<Reveal key={index} as="li" staggerIndex={index + 2}> | ||
<Text as="p" color="textInverted"> | ||
{entry} | ||
</Text> | ||
</Reveal> | ||
))} | ||
</Grid> | ||
|
||
<Reveal justifySelf={['start', 'start', 'end']} staggerIndex={4}> | ||
<AnchorButton href={links.fundManagement} rel="noopener noreferrer" target="_blank"> | ||
Join Beta | ||
</AnchorButton> | ||
</Reveal> | ||
</Grid> | ||
</Stack> | ||
</Container> | ||
</Box> | ||
</RevealWrapper> | ||
) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
import * as React from 'react' | ||
import {graphql} from 'gatsby' | ||
import {AnchorButton, Container, Shelf, Stack, Text, Grid} from '@centrifuge/fabric' | ||
import {links} from '../../config/links' | ||
import {Reveal, RevealWrapper} from './Reveal' | ||
|
||
export const query = graphql` | ||
fragment FundFeaturesFragment on DataJsonFund_features { | ||
title | ||
body | ||
items { | ||
title | ||
body | ||
} | ||
} | ||
` | ||
|
||
export type FundFeaturesProps = { | ||
title: string | ||
body: string | ||
items: { | ||
title: string | ||
body: string | ||
}[] | ||
} | ||
|
||
export function FundFeatures({title, body, items}: FundFeaturesProps) { | ||
return ( | ||
<RevealWrapper> | ||
<Stack as="section" px={2} gap={[4, 4, 6, 10]}> | ||
<Container> | ||
<Stack gap={2}> | ||
<Reveal as={Shelf} justifyContent="space-between" alignItems="center" gap={1}> | ||
<Text as="h2" variant="heading2b"> | ||
{title} | ||
</Text> | ||
|
||
<AnchorButton | ||
href={links.fundManagement} | ||
rel="noopener noreferrer" | ||
target="_blank" | ||
variant="secondary" | ||
style={{whiteSpace: 'nowrap'}} | ||
small | ||
> | ||
Join Beta | ||
</AnchorButton> | ||
</Reveal> | ||
|
||
<Reveal staggerIndex={1}> | ||
<Text as="p" color="textSecondary" variant="body1"> | ||
{body} | ||
</Text> | ||
</Reveal> | ||
</Stack> | ||
|
||
<Grid as="ul" columns={[1, 2, 2]} gap={4} mt={[6, 6, 8, 10]}> | ||
{items.map((entry, index) => ( | ||
<Reveal as="li" staggerIndex={index + 2} key={index}> | ||
<Item {...entry} /> | ||
</Reveal> | ||
))} | ||
</Grid> | ||
</Container> | ||
</Stack> | ||
</RevealWrapper> | ||
) | ||
} | ||
|
||
type ItemProps = FundFeaturesProps['items'][number] | ||
|
||
function Item({title, body}: ItemProps) { | ||
return ( | ||
<Stack gap={1}> | ||
<Text as="h3" variant="heading4b"> | ||
{title} | ||
</Text> | ||
<Text as="p">{body}</Text> | ||
</Stack> | ||
) | ||
} |
Oops, something went wrong.