diff --git a/.bun-version b/.bun-version
new file mode 100644
index 00000000..d2d61a7e
--- /dev/null
+++ b/.bun-version
@@ -0,0 +1 @@
+1.2.2
\ No newline at end of file
diff --git a/.dockerignore b/.dockerignore
index 47896a63..75ee715b 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,3 +1,6 @@
node_modules
-coverage
-test
+.git
+.gitignore
+.next
+out
+bun.l*
\ No newline at end of file
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 00000000..37224185
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": ["next/core-web-vitals", "next/typescript"]
+}
diff --git a/.github/workflows/branch.yml b/.github/workflows/branch.yml
index 1d503bdf..4b2a4e85 100644
--- a/.github/workflows/branch.yml
+++ b/.github/workflows/branch.yml
@@ -43,9 +43,6 @@ jobs:
with:
fetch-depth: 2
- - name: Install Cosign
- uses: sigstore/cosign-installer@v3
-
- name: Install Node.js
uses: actions/setup-node@v4
with:
@@ -55,19 +52,18 @@ jobs:
- name: Install Node.js
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4
with:
- node-version-file: package.json
+ node-version-file: .nvmrc
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup caches
uses: namespacelabs/nscloud-cache-action@1d016dd6d40428050a16a6271307888386cc0bec # v1
with:
path: |
- .turbo
~/.bun/install/cache
- uses: oven-sh/setup-bun@4bc047ad259df6fc24a6c9b0f9a0cb08cf17fbe5 # v2
with:
- bun-version-file: package.json
+ bun-version-file: .bun-version
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
@@ -106,8 +102,4 @@ jobs:
- name: Build Docker container
run: |
- bun run docker
-
- - name: Cosign Docker container
- run: |
- bun run cosign
+ bun run docker
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index b2d6de30..55a12ae7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,20 +1,28 @@
-# Dependencies
+# deps
/node_modules
-# Production
-/build
+# generated content
+.contentlayer
+.content-collections
+.source
-# Generated files
-.docusaurus
-.cache-loader
+# test & build
+/coverage
+/.next/
+/out/
+/build
+*.tsbuildinfo
-# Misc
+# misc
.DS_Store
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
+*.pem
+/.pnp
+.pnp.js
npm-debug.log*
yarn-debug.log*
yarn-error.log*
+
+# others
+.env*.local
+.vercel
+next-env.d.ts
\ No newline at end of file
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 00000000..adb55585
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+22.14.0
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 9847402b..00000000
--- a/.prettierrc
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "printWidth": 80,
- "tabWidth": 2,
- "useTabs": false,
- "semi": true,
- "singleQuote": true,
- "trailingComma": "none",
- "bracketSpacing": true,
- "arrowParens": "avoid",
- "plugins": ["prettier-plugin-sh"]
-}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index 70f8a00a..00000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "recommendations": [
- "firsttris.vscode-jest-runner",
- "mikehanson.auto-barrel",
- "apollographql.vscode-apollo",
- "ms-azuretools.vscode-docker",
- "mikestead.dotenv",
- "editorconfig.editorconfig",
- "usernamehw.errorlens",
- "dbaeumer.vscode-eslint",
- "codezombiech.gitignore",
- "qezhu.gitlink",
- "nhoizey.gremlins",
- "tim-koehler.helm-intellisense",
- "yoavbls.pretty-ts-errors",
- "stivo.tailwind-fold",
- "statelyai.stately-vscode",
- "dksedgwick.xstviz",
- "esbenp.prettier-vscode",
- "dracula-theme.theme-dracula",
- "miguelsolorio.fluent-icons",
- "github.vscode-github-actions",
- "github.codespaces",
- "github.vscode-pull-request-github",
- "quicktype.quicktype",
- "ms-vscode-remote.remote-ssh-edit",
- "juanblanco.solidity",
- "ashinzekene.nestjs",
- "vscode-icons-team.vscode-icons",
- "redhat.vscode-yaml",
- "stringham.copy-with-imports",
- "adpyke.codesnap",
- "tilt-dev.tiltfile",
- "shardulm94.trailing-spaces",
- "rangav.vscode-thunder-client",
- "bradlc.vscode-tailwindcss",
- "mattpocock.ts-error-translator"
- ]
-}
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index 1d472d72..00000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "name": "API",
- "port": 9229,
- "request": "attach",
- "skipFiles": ["/**"],
- "type": "node"
- },
- {
- "name": "Services Firefly CLI",
- "port": 9235,
- "request": "attach",
- "skipFiles": ["/**"],
- "type": "node"
- },
- {
- "name": "Services IDE CLI",
- "port": 9236,
- "request": "attach",
- "skipFiles": ["/**"],
- "type": "node"
- },
- {
- "name": "Services TX Signer",
- "port": 9237,
- "request": "attach",
- "skipFiles": ["/**"],
- "type": "node"
- },
- {
- "name": "Services Vault CLI",
- "port": 9238,
- "request": "attach",
- "skipFiles": ["/**"],
- "type": "node"
- }
- ]
-}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 1983a3e8..c8696693 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,100 +1,85 @@
{
- "editor.inlineSuggest.enabled": true,
- "workbench.productIconTheme": "fluent-icons",
- "workbench.iconTheme": "vscode-icons",
- "diffEditor.ignoreTrimWhitespace": false,
- "editor.tabSize": 2,
- "git.enableSmartCommit": true,
- "editor.defaultFormatter": "esbenp.prettier-vscode",
+ "typescript.tsdk": "node_modules/typescript/lib",
+ "editor.defaultFormatter": "biomejs.biome",
+ "editor.formatOnSave": true,
+ "editor.formatOnPaste": true,
+ "emmet.showExpandedAbbreviation": "never",
"editor.codeActionsOnSave": {
- "source.addMissingImports": "explicit",
- "source.organizeImports": "explicit",
- "source.fixAll.eslint": "explicit"
+ "quickfix.biome": "explicit",
+ "source.organizeImports.biome": "explicit"
},
- "eslint.execArgv": [
- "--max-old-space-size=8192",
- "--max-semi-space-size=8192"
- ],
- "git.confirmSync": false,
- "git.autofetch": true,
- "explorer.confirmDelete": false,
- "explorer.confirmDragAndDrop": false,
- "javascript.updateImportsOnFileMove.enabled": "never",
- "workbench.tree.renderIndentGuides": "always",
- "workbench.colorCustomizations": {
- "tree.indentGuidesStroke": "#05ef3c9c"
+ "[typescript]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[json]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[javascript]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[jsonc]": {
+ "editor.defaultFormatter": "biomejs.biome"
+ },
+ "[typescriptreact]": {
+ "editor.defaultFormatter": "biomejs.biome"
},
- "solidity.compilerOptimization": 2000,
- "solidity.compileUsingRemoteVersion": "v0.8.20+commit.a1b79de6",
+ "[solidity]": {
+ "editor.defaultFormatter": "NomicFoundation.hardhat-solidity"
+ },
+ "solidity.formatter": "forge",
+ "solidity.telemetry": false,
+ "editor.stickyScroll.enabled": true,
+ "editor.tabSize": 2,
"errorLens.fontStyleItalic": true,
- "editor.fontWeight": "normal",
- "editor.minimap.enabled": false,
- "redhat.telemetry.enabled": false,
- "security.promptForLocalFileProtocolHandling": false,
- "workbench.editor.enablePreview": false,
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
- "*.ts": "${capture}.js, ${capture}.typegen.ts, ${capture}.spec.ts",
+ "*.cts": "${capture}.typegen.ts",
"*.js": "${capture}.js.map, ${capture}.min.js, ${capture}.d.ts",
"*.jsx": "${capture}.js",
+ "*.mts": "${capture}.typegen.ts",
+ "*.ts": "${capture}.js, ${capture}.typegen.ts, ${capture}.spec.ts, ${capture}.test.ts",
"*.tsx": "${capture}.ts, ${capture}.typegen.ts",
- "tsconfig.json": "tsconfig.*.json",
"package.json": "package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb, bun.lock",
- "*.mts": "${capture}.typegen.ts",
- "*.cts": "${capture}.typegen.ts"
- },
- "typescript.tsserver.maxTsServerMemory": 16384,
- "workbench.activityBar.orientation": "vertical",
- "typescript.disableAutomaticTypeAcquisition": true,
- "editor.formatOnSave": true,
- "editor.cursorBlinking": "smooth",
- "editor.cursorSmoothCaretAnimation": "on",
- "editor.stickyScroll.enabled": true,
- "githubPullRequests.pullBranch": "never",
- "autoBarrel.ignoreFilePathContainingAnyOf": ".spec,.test,pulumi-templates/route,pulumi-templates/scc,.d.ts,module-definition,pulumi-resources/route,pulumi-resources/scc,pulumi-resources/velero",
- "eslint.codeActionsOnSave.rules": null,
- "[typescript]": {
- "editor.defaultFormatter": "esbenp.prettier-vscode"
+ "tsconfig.json": "tsconfig.*.json"
},
- "[json]": {
- "editor.defaultFormatter": "esbenp.prettier-vscode"
- },
- "[jsonc]": {
- "editor.defaultFormatter": "esbenp.prettier-vscode"
+ "files.associations": {
+ "*.css": "tailwindcss"
},
- "javascript.preferences.importModuleSpecifier": "project-relative",
- "nxConsole.showNodeVersionOnStartup": false,
- "typescript.tsdk": "node_modules/typescript/lib",
- "typescript.enablePromptUseWorkspaceTsdk": true,
- "typescript.inlayHints.variableTypes.enabled": true,
- "typescript.preferences.preferTypeOnlyAutoImports": true,
- "typescript.updateImportsOnFileMove.enabled": "never",
- "typescript.inlayHints.enumMemberValues.enabled": true,
+ "git.autofetch": true,
+ "git.autoStash": true,
+ "git.enableCommitSigning": true,
+ "git.enableSmartCommit": true,
+ "githubPullRequests.commentExpandState": "collapseAll",
+ "githubPullRequests.defaultMergeMethod": "squash",
+ "githubPullRequests.notifications": "pullRequests",
+ "githubPullRequests.quickDiff": true,
+ "sherlock.userId": "2e2829ed-26e5-4fb5-87e9-3d921da61e9f",
+ "trailing-spaces.trimOnSave": true,
"typescript.inlayHints.functionLikeReturnTypes.enabled": true,
- "typescript.inlayHints.parameterNames.enabled": "all",
"typescript.inlayHints.parameterTypes.enabled": true,
"typescript.inlayHints.propertyDeclarationTypes.enabled": true,
- "editor.codeLens": true,
+ "typescript.inlayHints.variableTypes.enabled": true,
+ "typescript.suggest.completeFunctionCalls": true,
"typescript.tsserver.experimental.enableProjectDiagnostics": true,
- "trailing-spaces.trimOnSave": true,
- "yaml.schemas": {},
- "workbench.tree.enableStickyScroll": true,
- "git.openRepositoryInParentFolders": "never",
- "codesnap.realLineNumbers": true,
- "codesnap.showWindowTitle": true,
- "codesnap.shutterAction": "copy",
- "codesnap.transparentBackground": true,
- "codesnap.backgroundColor": "#282828",
- "editor.wordWrap": "on",
- "files.associations": {
- "*.css": "tailwindcss"
+ "typescript.tsserver.maxTsServerMemory": 16384,
+ "typescript.tsserver.watchOptions": {
+ "fallbackPolling": "dynamicPriorityPolling",
+ "synchronousWatchDirectory": true,
+ "watchDirectory": "useFsEvents",
+ "watchFile": "useFsEventsOnParentDirectory"
},
- "editor.quickSuggestions": {
- "strings": "on"
+ "workbench.editor.customLabels.patterns": {
+ "**/app/**/layout.tsx": "${dirname(1)}/${dirname} ",
+ "**/app/**/page.tsx": "${dirname(1)}/${dirname} ",
+ "**/app/**/route.ts": "${dirname(1)}/${dirname} ",
+ "**/components/**/index.tsx": "${dirname(1)}/${dirname} "
},
- "eslint.workingDirectories": [
- {
- "mode": "auto"
- }
- ]
+ "workbench.tree.enableStickyScroll": true,
+ "typescript.enablePromptUseWorkspaceTsdk": true,
+ "[dockerfile]": {
+ "editor.defaultFormatter": "ms-azuretools.vscode-docker"
+ },
+ "[mdx]": {
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
+ }
}
diff --git a/Dockerfile b/Dockerfile
index 36b76bf8..6740d15f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,10 +1,28 @@
-FROM nginxinc/nginx-unprivileged:1.27-bookworm
-LABEL org.opencontainers.image.source="https://github.com/settlemint/btp-docs"
-
-WORKDIR /usr/share/nginx/html/documentation
-COPY --chmod=0777 ./build/ /usr/share/nginx/html/documentation
-COPY --chmod=0777 ./nginx.conf /etc/nginx/nginx.conf
-COPY --chmod=0777 ./nginx.default.conf /etc/nginx/conf.d/default.conf
-HEALTHCHECK NONE
-USER 1001
-ENTRYPOINT ["nginx", "-g", "daemon off;"]
+FROM node:22.14.0 AS build
+
+COPY --from=oven/bun:1.2.2-debian --chmod=0777 /usr/local/bin/bun /bin/bun
+
+RUN mkdir -p /app
+WORKDIR /app
+
+COPY --chmod=0777 . .
+RUN bun install
+RUN bun run build
+RUN rm -Rf .next/standalone/.env
+
+# RUN
+FROM node:22.14.0-slim
+
+LABEL org.opencontainers.image.source="https://github.com/settlemint/docs"
+
+ENV NODE_ENV=production
+ENV NEXT_TELEMETRY_DISABLED=1
+
+# COPY --from=build --chmod=0777 /app/public public
+COPY --from=build --chmod=0777 /app/.next/standalone ./
+COPY --from=build --chmod=0777 /app/.next/static ./.next/static
+
+ENV PORT=3000
+ENV HOSTNAME="0.0.0.0"
+
+CMD ["server.js"]
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..d74c7635
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,110 @@
+# Functional Source License, Version 1.1, MIT Future License
+
+## Abbreviation
+
+FSL-1.1-MIT
+
+## Notice
+
+Copyright 2024 SettleMint
+
+## Terms and Conditions
+
+### Licensor ("We")
+
+The party offering the Software under these Terms and Conditions.
+
+### The Software
+
+The "Software" is each version of the software that we make available under
+these Terms and Conditions, as indicated by our inclusion of these Terms and
+Conditions with the Software.
+
+### License Grant
+
+Subject to your compliance with this License Grant and the Patents,
+Redistribution and Trademark clauses below, we hereby grant you the right to
+use, copy, modify, create derivative works, publicly perform, publicly display
+and redistribute the Software for any Permitted Purpose identified below.
+
+### Permitted Purpose
+
+A Permitted Purpose is any purpose other than a Competing Use. A Competing Use
+means making the Software available to others in a commercial product or
+service that:
+
+1. substitutes for the Software;
+
+2. substitutes for any other product or service we offer using the Software
+ that exists as of the date we make the Software available; or
+
+3. offers the same or substantially similar functionality as the Software.
+
+Permitted Purposes specifically include using the Software:
+
+1. for your internal use and access;
+
+2. for non-commercial education;
+
+3. for non-commercial research; and
+
+4. in connection with professional services that you provide to a licensee
+ using the Software in accordance with these Terms and Conditions.
+
+### Patents
+
+To the extent your use for a Permitted Purpose would necessarily infringe our
+patents, the license grant above includes a license under our patents. If you
+make a claim against any party that the Software infringes or contributes to
+the infringement of any patent, then your patent license to the Software ends
+immediately.
+
+### Redistribution
+
+The Terms and Conditions apply to all copies, modifications and derivatives of
+the Software.
+
+If you redistribute any copies, modifications or derivatives of the Software,
+you must include a copy of or a link to these Terms and Conditions and not
+remove any copyright notices provided in or with the Software.
+
+### Disclaimer
+
+THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
+PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
+
+IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
+SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
+EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE.
+
+### Trademarks
+
+Except for displaying the License Details and identifying us as the origin of
+the Software, you have no right under these Terms and Conditions to use our
+trademarks, trade names, service marks or product names.
+
+## Grant of Future License
+
+We hereby irrevocably grant you an additional license to use the Software under
+the MIT license that is effective on the second anniversary of the date we make
+the Software available. On or after that date, you may use the Software under
+the MIT license, in which case the following will apply:
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..26f51ea6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,21 @@
+
+
+The first step to building anything on SettleMint is to [create an application](../building-with-settlemint/create-an-application). You can think of an application as the collection of resources that you need to build your blockchain application. This includes a blockchain network, smart contracts, middleware, storage, integrations, and insights.
+
+## Add a Blockchain Network and Node
+
+
+ 
+
+
+After creating a blockchain application, you now need to [add a blockchain network](../building-with-settlemint/add-a-network-to-an-application) and node to your application. SettleMint offers a variety of different [blockchain networks](../about-settlemint/supported-blockchains) to choose from whatever your usecase may be.
+
+## Create a Smart Contract
+
+
+
+Blockchain applications produce data that lives on the blockchain, but we need
+to be able to access that data in order to use it. Creating a
+[middleware](../building-with-settlemint/middleware) allows us to do so. SettleMint
+currently offers three middleware services: The Graph, Smart Contract Portal
+Middleware and Firefly Fabconnect.
+
+## Add Storage
+
+
+
+Your blockchain application may need to store data. Blockchains are good for
+running different processes in a decentralized way but can be costly to store
+large amounts of data. SettleMint offers [two storage
+options](../building-with-settlemint/storage): IPFS (decentralized) and MinIO
+(centralized) S3 storage.
+
+## Add an Integration
+
+
+
+Blockchains are not the only technology that your blockchain application may
+need to interact with. SettleMint offers an [Integration
+Studio](../building-with-settlemint/integration-studio) which allows you connect your
+blockchain application to other technologies such as databases, APIs, and more.
+This tool is a low-code to which also offers a visualization of any business
+logic included in your integration.
+
+## Add a Custom Deployment
+
+Your blockchain application may require custom components or frontend applications that are not provided by the standard SettleMint platform offerings.
+The [Custom Deployment](../building-with-settlemint/custom-deployment/) feature allows you to deploy your own Docker images on the SettleMint platform. This provides the flexibility to
+ integrate custom solutions, such as frontend applications, within your blockchain-based projects, enhancing the overall functionality and user experience of your application.
+
+## Getting Started
+
+Ready to build? Head over to:
+
+- [Building with SettleMint](../building-with-settlemint/add-a-network-to-an-application) for detailed platform instructions
+- [Developer Guides](/developer-guides/guide-library) for step-by-step tutorials on common use cases
diff --git a/content/docs/about-settlemint/intro.mdx b/content/docs/about-settlemint/intro.mdx
new file mode 100644
index 00000000..d7431b8c
--- /dev/null
+++ b/content/docs/about-settlemint/intro.mdx
@@ -0,0 +1,67 @@
+---
+title: Platform Overview
+description: Introduction to the SettleMint Platform
+---
+
+import { Card, Cards } from 'fumadocs-ui/components/card'
+
+SettleMint makes it easy for any developer to build, deploy and integrate blockchain applications rapidly. How? By radically simplifying the entire blockchain development process through our Blockchain Transformation platform. This drastically reduces the complexity and the time needed for each step in the blockchain development process.
+
+## Getting Started
+
+
+
+ Learn about the services and tools you can use on SettleMint
+
+
+
+ Learn about the supported blockchains that you can use
+
+
+
+ Create Your First Application using SettleMint on a Managed Cloud
+
+
+
+ Learn about the supported blockchains that you can use
+
+
+
+## Start Building
+
+Follow these developer guides to start building on SettleMint
+
+
+
+ Create Your First Application using SettleMint on a Managed Cloud
+
+
+
+ Learn how to create a custom frontend by building an ERC20 token transfer application
+
+
+
+ Build a Asset Tokenization blockchain application
+
+
diff --git a/content/docs/about-settlemint/meta.json b/content/docs/about-settlemint/meta.json
new file mode 100644
index 00000000..7af0a2f2
--- /dev/null
+++ b/content/docs/about-settlemint/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "About SettleMint",
+ "icon": "House",
+ "pages": ["intro", "supported-blockchains", "components"]
+}
diff --git a/content/docs/about-settlemint/supported-blockchains.mdx b/content/docs/about-settlemint/supported-blockchains.mdx
new file mode 100644
index 00000000..a24e8235
--- /dev/null
+++ b/content/docs/about-settlemint/supported-blockchains.mdx
@@ -0,0 +1,139 @@
+---
+title: Supported Blockchains
+description: Overview of blockchain protocols supported by SettleMint
+---
+
+import { Card, Cards } from 'fumadocs-ui/components/card'
+
+
+When launching a blockchain development project, the selection of a blockchain protocol is one of the most important decisions that has to be made. Protocols matter because they determine the scope of functionality your application can provide.
+
+SettleMint currently supports the following protocols:
+
+## Permissioned Blockchains
+
+
+
+
+
+
diff --git a/docs/account-billing/add-a-client.mdx b/content/docs/account-billing/add-a-client.mdx
similarity index 86%
rename from docs/account-billing/add-a-client.mdx
rename to content/docs/account-billing/add-a-client.mdx
index f05edb58..ac038e92 100644
--- a/docs/account-billing/add-a-client.mdx
+++ b/content/docs/account-billing/add-a-client.mdx
@@ -9,7 +9,9 @@ This guide explains how to add a client's organization to your organization as a
:::tip
-If you are not a SettleMint partner, this guide may not be useful for you. For general account and organization information, visit the [Create an Account](../launch-platform/managed-cloud-deployment/1_create-an-account.md) or [About Organization](../launch-platform/managed-cloud-deployment/2_about-organizations.md) sections.
+If you are not a SettleMint partner, this guide may not be useful for you. For general account and organization information, visit the
+ [Create an Account](/launching-the-platform/managed-cloud-deployment/create-an-account) or
+ [About Organization](/launching-the-platform/managed-cloud-deployment/about-organizations) sections.
Learn about the SettleMint Partner program and how to become a partner on our [Partner Program Page](https://www.settlemint.com/partner-program).
@@ -17,14 +19,14 @@ Learn about the SettleMint Partner program and how to become a partner on our [P
## Understanding the Partner-Client Model
-
+
As a SettleMint partner, you can manage your client's resource usage and applications on the platform.
This is done by transfering your client's organization to your organization.
Your organization's other clients **WILL NOT** see information from any other clients.
-Clients already using SettleMint can request to link their organization to yours. The client selects [join a partner](../account-billing/join-a-partner.mdx) from their account to start the process.
+Clients already using SettleMint can request to link their organization to yours. The client selects [join a partner](/account-billing/join-a-partner) from their account to start the process.
## Enabling Partner Access
@@ -65,7 +67,8 @@ The client will no longer receive any invoices or billing directly from SettleMi
### Clients already using SettleMint
-Clients already using SettleMint can request to transfer their organization to yours. The client selects [join a partner](../account-billing/join-a-partner.mdx) from their account to start the process.
+Clients already using SettleMint can request to transfer their organization to yours.
+The client selects [join a partner](/account-billing/join-a-partner) from their account to start the process.
### Client new to SettleMint
@@ -83,10 +86,10 @@ The `Add Client` option is only available to users with administrative access to
For clients new to SettleMint, you can create a new organization for them by entering a client name.
-For clients already using SettleMint, you can transfer their organization by selecting the transfer code option. The tranfer code is what you received by email when a client has requested to [join a partner](../account-billing/join-a-partner.mdx).
+For clients already using SettleMint, you can transfer their organization by selecting the transfer code option. The tranfer code is what you received by email when a client has requested to [join a partner](/account-billing/join-a-partner).
3. **Confirming Client Added**
-For clients new to SettleMint, you will be redirected to the client's SettleMint Dashboard. You can begin to [create applications](../using-platform/0_create-an-application.md) and [invite members to your client's organization](../../launch-platform/managed-cloud-deployment/about-organizations/).
+For clients new to SettleMint, you will be redirected to the client's SettleMint Dashboard. You can begin to [create applications](/using-the-platform/create-an-application.md) and [invite members to your client's organization](../../launch-platform/managed-cloud-deployment/about-organizations/).
Clients already using SettleMint will receive an email confirming the transfer of the client's organization. You will see their organization shown under the `Clients & apps` list on the main dashboard.
diff --git a/docs/account-billing/20_billing.md b/content/docs/account-billing/billing.md
similarity index 99%
rename from docs/account-billing/20_billing.md
rename to content/docs/account-billing/billing.md
index e9f36e75..a557d382 100644
--- a/docs/account-billing/20_billing.md
+++ b/content/docs/account-billing/billing.md
@@ -1,4 +1,6 @@
-# Billing
+---
+title: "Billing"
+---
SettleMint follows a **metered pay-as-you-go model**, and charges you **based on the resources you use**.
diff --git a/docs/account-billing/join-a-partner.mdx b/content/docs/account-billing/join-a-partner.mdx
similarity index 82%
rename from docs/account-billing/join-a-partner.mdx
rename to content/docs/account-billing/join-a-partner.mdx
index b9d49bfc..c8e6f6c9 100644
--- a/docs/account-billing/join-a-partner.mdx
+++ b/content/docs/account-billing/join-a-partner.mdx
@@ -6,14 +6,15 @@ sidebar_position: 3
This guide explains how to transfer your organization to a SettleMint partner. This feature helps clients of partners better manage their resources and applications on SettleMint.
-:::tip
+
-If you have not been in contact with a SettleMint partner, this guide may not be useful for you. For general account and organization information, visit the [Create an Account](../launch-platform/managed-cloud-deployment/1_create-an-account.md) or [About Organization](../launch-platform/managed-cloud-deployment/2_about-organizations.md) sections.
-:::
+If you have not been in contact with a SettleMint partner, this guide may not be useful for you. For general account and organization information, visit the [Create an Account](/launching-the-platform/managed-cloud-deployment/create-an-account) or [About Organization](/launching-the-platform/managed-cloud-deployment/about-organizations) sections.
+
+
## Understanding the Client-Partner Model
-
+
As a client of a SettleMint Partner, you can transfer your organization to a partner's organization.
@@ -45,9 +46,11 @@ The cost of resources your organization uses on SettleMint (ex: Blockchain Netwo
By going to the hompage and selecting the organization dashboard, then the manage menu of the organization , you will see the option to `Join a partner`. By clicking on this you will be shown the `Join a partner` form to complete.
-:::info
+
+
The `Join a Partner` option is only available to users with administrative access to your organization.
-:::
+
+
2. **Add the Partner Email**
@@ -55,6 +58,7 @@ The `Join a Partner` option is only available to users with administrative acces
3. **Confirmation**
- After completing the form, the partner will receive a transfer code via the email you entered. They will then use this transfer code to add your organization as [a client](add-a-client.mdx).
+ After completing the form, the partner will receive a transfer code via the email you entered.
+ They will then use this transfer code to add your organization as [a client](/account-billing/add-a-client).
Once completed, you will see a note for 24 hours in the SettleMint platform that your organization has been transfered.
diff --git a/content/docs/account-billing/meta.json b/content/docs/account-billing/meta.json
new file mode 100644
index 00000000..10a2d58d
--- /dev/null
+++ b/content/docs/account-billing/meta.json
@@ -0,0 +1,4 @@
+{
+ "title": "Account & Billing",
+ "icon": "Wallet"
+}
diff --git a/docs/blockchain-guides/0_Ethereum/1_ethereum-the-basics.md b/content/docs/blockchain-guides/0_Ethereum/1_ethereum-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/0_Ethereum/1_ethereum-the-basics.md
rename to content/docs/blockchain-guides/0_Ethereum/1_ethereum-the-basics.md
index 2a8e5970..bee499af 100644
--- a/docs/blockchain-guides/0_Ethereum/1_ethereum-the-basics.md
+++ b/content/docs/blockchain-guides/0_Ethereum/1_ethereum-the-basics.md
@@ -1,9 +1,13 @@
+---
+title: "Ethereum The Basics"
+---
+
# The basics
Ethereum is one of the most popular public blockchains. It has its own cryptocurrency, called Ether (ETH) or Ethereum, and its own native programming language called Solidity to build and publish dApps (distributed applications) on the Ethereum blockchain.
## Mainnet and Testnet
-
+cle
SettleMint supports, the Ethereum **Mainnet**, the **Sepolia Testnet** and the **Holesky Testnet**.
The Mainnet is the primary public Ethereum production blockchain, where actual-value transactions take place. Each transaction requires payment of a transaction fee, payable in the native coin ETH. The Testnet is an instance of the blockchain to be used for testing and experimentation. There are also coins used in the Testnet but they have no value, so there is no risk of real fund.
diff --git a/docs/blockchain-guides/0_Ethereum/2_ethereum-node-types.md b/content/docs/blockchain-guides/0_Ethereum/2_ethereum-node-types.md
similarity index 91%
rename from docs/blockchain-guides/0_Ethereum/2_ethereum-node-types.md
rename to content/docs/blockchain-guides/0_Ethereum/2_ethereum-node-types.md
index 1265e746..a2342a55 100644
--- a/docs/blockchain-guides/0_Ethereum/2_ethereum-node-types.md
+++ b/content/docs/blockchain-guides/0_Ethereum/2_ethereum-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Ethereum Node Types"
+---
+
# Node types
For Ethereum, SettleMint provides support for the Geth client. This means that when you add an Ethereum node, you get a **Geth node** by default.
diff --git a/docs/blockchain-guides/0_Ethereum/3_ethereum-connect-to-a-node.md b/content/docs/blockchain-guides/0_Ethereum/3_ethereum-connect-to-a-node.md
similarity index 99%
rename from docs/blockchain-guides/0_Ethereum/3_ethereum-connect-to-a-node.md
rename to content/docs/blockchain-guides/0_Ethereum/3_ethereum-connect-to-a-node.md
index cb2c9a5e..d9b8fb36 100644
--- a/docs/blockchain-guides/0_Ethereum/3_ethereum-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/0_Ethereum/3_ethereum-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Ethereum Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node.
diff --git a/docs/blockchain-guides/0_Ethereum/4_ethereum-network-stats.md b/content/docs/blockchain-guides/0_Ethereum/4_ethereum-network-stats.md
similarity index 95%
rename from docs/blockchain-guides/0_Ethereum/4_ethereum-network-stats.md
rename to content/docs/blockchain-guides/0_Ethereum/4_ethereum-network-stats.md
index 94a7c5a0..6d03bc3f 100644
--- a/docs/blockchain-guides/0_Ethereum/4_ethereum-network-stats.md
+++ b/content/docs/blockchain-guides/0_Ethereum/4_ethereum-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Ethereum Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md b/content/docs/blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md
similarity index 86%
rename from docs/blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md
rename to content/docs/blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md
index 003534a6..64f82caa 100644
--- a/docs/blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md
+++ b/content/docs/blockchain-guides/0_Ethereum/5_ethereum-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Ethereum Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/0_Ethereum/Template-library/1_ethereum-erc-20.md b/content/docs/blockchain-guides/0_Ethereum/Template-library/1_ethereum-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/0_Ethereum/Template-library/1_ethereum-erc-20.md
rename to content/docs/blockchain-guides/0_Ethereum/Template-library/1_ethereum-erc-20.md
index eddb78ba..36f55bf0 100644
--- a/docs/blockchain-guides/0_Ethereum/Template-library/1_ethereum-erc-20.md
+++ b/content/docs/blockchain-guides/0_Ethereum/Template-library/1_ethereum-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Ethereum Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on the Ethereum network, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/0_Ethereum/Template-library/2_ethereum-erc-721.md b/content/docs/blockchain-guides/0_Ethereum/Template-library/2_ethereum-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/0_Ethereum/Template-library/2_ethereum-erc-721.md
rename to content/docs/blockchain-guides/0_Ethereum/Template-library/2_ethereum-erc-721.md
index 849efda8..1e7bde79 100644
--- a/docs/blockchain-guides/0_Ethereum/Template-library/2_ethereum-erc-721.md
+++ b/content/docs/blockchain-guides/0_Ethereum/Template-library/2_ethereum-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Ethereum Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on the Ethereum network, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/0_Ethereum/Template-library/3_ethereum-state-machine.md b/content/docs/blockchain-guides/0_Ethereum/Template-library/3_ethereum-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/0_Ethereum/Template-library/3_ethereum-state-machine.md
rename to content/docs/blockchain-guides/0_Ethereum/Template-library/3_ethereum-state-machine.md
index 5ba5578e..1b90958c 100644
--- a/docs/blockchain-guides/0_Ethereum/Template-library/3_ethereum-state-machine.md
+++ b/content/docs/blockchain-guides/0_Ethereum/Template-library/3_ethereum-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Ethereum State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/0_Ethereum/_category_.json b/content/docs/blockchain-guides/0_Ethereum/meta.json
similarity index 100%
rename from docs/blockchain-guides/0_Ethereum/_category_.json
rename to content/docs/blockchain-guides/0_Ethereum/meta.json
diff --git a/docs/blockchain-guides/7_Arbitrum/1_arbitrum-the-basics.md b/content/docs/blockchain-guides/Arbitrum/1_arbitrum-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/7_Arbitrum/1_arbitrum-the-basics.md
rename to content/docs/blockchain-guides/Arbitrum/1_arbitrum-the-basics.md
index d529562c..f28fa05f 100644
--- a/docs/blockchain-guides/7_Arbitrum/1_arbitrum-the-basics.md
+++ b/content/docs/blockchain-guides/Arbitrum/1_arbitrum-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Arbitrum The Basics"
+---
+
# The basics
Arbitrum was launched in August 2021 by Offchain Labs, and has its own cryptocurrency since March 2023 called ARB. It is a layer 2 scaling solution for Ethereum that focusses on security, scalability and compatibility. Arbitrum uses optimistic rollup technology to process transactions off-chain, which allows it to offer significantly faster transaction speeds and lower fees than Ethereum mainnet. It uses AVM (Arbitrum Virtual Machine) which is a custom virtual machine that was created for the Arbitrum Layer 2 scaling solution. The AVM is designed to be fully compatible with the Ethereum Virtual Machine (EVM), but it also includes a number of optimizations that make it more efficient and scalable. In addition to scalability and compatibility, Arbitrum is also focused on decentralization. The Arbitrum network is secured by a decentralized network of validators, and it is governed by a DAO (decentralized autonomous organization). This ensures that Arbitrum is not controlled by any single entity.
diff --git a/docs/blockchain-guides/7_Arbitrum/2_arbitrum-node-types.md b/content/docs/blockchain-guides/Arbitrum/2_arbitrum-node-types.md
similarity index 87%
rename from docs/blockchain-guides/7_Arbitrum/2_arbitrum-node-types.md
rename to content/docs/blockchain-guides/Arbitrum/2_arbitrum-node-types.md
index 29fad315..02df6457 100644
--- a/docs/blockchain-guides/7_Arbitrum/2_arbitrum-node-types.md
+++ b/content/docs/blockchain-guides/Arbitrum/2_arbitrum-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Arbitrum Node Types"
+---
+
# Node types
All nodes running in SettleMint are configured to be **archive nodes**, meaning they all include all previous states of a given blockchain since its origin.
diff --git a/docs/blockchain-guides/7_Arbitrum/3_arbitrum-connect-to-a-node.md b/content/docs/blockchain-guides/Arbitrum/3_arbitrum-connect-to-a-node.md
similarity index 99%
rename from docs/blockchain-guides/7_Arbitrum/3_arbitrum-connect-to-a-node.md
rename to content/docs/blockchain-guides/Arbitrum/3_arbitrum-connect-to-a-node.md
index 08a2db52..8159f3a3 100644
--- a/docs/blockchain-guides/7_Arbitrum/3_arbitrum-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Arbitrum/3_arbitrum-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Arbitrum Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Arbitrum node.
diff --git a/docs/blockchain-guides/7_Arbitrum/4_arbitrum-network-stats.md b/content/docs/blockchain-guides/Arbitrum/4_arbitrum-network-stats.md
similarity index 95%
rename from docs/blockchain-guides/7_Arbitrum/4_arbitrum-network-stats.md
rename to content/docs/blockchain-guides/Arbitrum/4_arbitrum-network-stats.md
index 94a7c5a0..ece11edf 100644
--- a/docs/blockchain-guides/7_Arbitrum/4_arbitrum-network-stats.md
+++ b/content/docs/blockchain-guides/Arbitrum/4_arbitrum-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Arbitrum Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/7_Arbitrum/5_arbitrum-integration-tools.md b/content/docs/blockchain-guides/Arbitrum/5_arbitrum-integration-tools.md
similarity index 86%
rename from docs/blockchain-guides/7_Arbitrum/5_arbitrum-integration-tools.md
rename to content/docs/blockchain-guides/Arbitrum/5_arbitrum-integration-tools.md
index 003534a6..76b80ae6 100644
--- a/docs/blockchain-guides/7_Arbitrum/5_arbitrum-integration-tools.md
+++ b/content/docs/blockchain-guides/Arbitrum/5_arbitrum-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Arbitrum Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/7_Arbitrum/Template-library/1_arbitrum-erc-20.md b/content/docs/blockchain-guides/Arbitrum/Template-library/1_arbitrum-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/7_Arbitrum/Template-library/1_arbitrum-erc-20.md
rename to content/docs/blockchain-guides/Arbitrum/Template-library/1_arbitrum-erc-20.md
index b5404e17..9411e322 100644
--- a/docs/blockchain-guides/7_Arbitrum/Template-library/1_arbitrum-erc-20.md
+++ b/content/docs/blockchain-guides/Arbitrum/Template-library/1_arbitrum-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Arbitrum Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on all EVM compatible blockchain networks such as Arbitrum, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/7_Arbitrum/Template-library/2_arbitrum-erc-721.md b/content/docs/blockchain-guides/Arbitrum/Template-library/2_arbitrum-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/7_Arbitrum/Template-library/2_arbitrum-erc-721.md
rename to content/docs/blockchain-guides/Arbitrum/Template-library/2_arbitrum-erc-721.md
index e4aa5b1e..a804ce1a 100644
--- a/docs/blockchain-guides/7_Arbitrum/Template-library/2_arbitrum-erc-721.md
+++ b/content/docs/blockchain-guides/Arbitrum/Template-library/2_arbitrum-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Arbitrum Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on issued on all EVM compatible blockchain networks such as Arbitrum, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/7_Arbitrum/Template-library/3_arbitrum-state-machine.md b/content/docs/blockchain-guides/Arbitrum/Template-library/3_arbitrum-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/7_Arbitrum/Template-library/3_arbitrum-state-machine.md
rename to content/docs/blockchain-guides/Arbitrum/Template-library/3_arbitrum-state-machine.md
index a2664456..2522ecd3 100644
--- a/docs/blockchain-guides/7_Arbitrum/Template-library/3_arbitrum-state-machine.md
+++ b/content/docs/blockchain-guides/Arbitrum/Template-library/3_arbitrum-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Arbitrum State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/7_Arbitrum/_category_.json b/content/docs/blockchain-guides/Arbitrum/_category_.json
similarity index 100%
rename from docs/blockchain-guides/7_Arbitrum/_category_.json
rename to content/docs/blockchain-guides/Arbitrum/_category_.json
diff --git a/docs/blockchain-guides/2_Avalanche/1_avalanche-the-basics.md b/content/docs/blockchain-guides/Avalanche/1_avalanche-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/2_Avalanche/1_avalanche-the-basics.md
rename to content/docs/blockchain-guides/Avalanche/1_avalanche-the-basics.md
index c747f62a..0aa32108 100644
--- a/docs/blockchain-guides/2_Avalanche/1_avalanche-the-basics.md
+++ b/content/docs/blockchain-guides/Avalanche/1_avalanche-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Avalanche The Basics"
+---
+
# The basics
Avalanche was launched in 2020 by Ava Labs, and has its own cryptocurrency called AVAX. It focuses on scalability, speed and low transactions costs. Avalanche is fully compatible with Ethereum components, dApps (distributed applications), and tooling.
diff --git a/docs/blockchain-guides/2_Avalanche/2_avalanche-node-types.md b/content/docs/blockchain-guides/Avalanche/2_avalanche-node-types.md
similarity index 87%
rename from docs/blockchain-guides/2_Avalanche/2_avalanche-node-types.md
rename to content/docs/blockchain-guides/Avalanche/2_avalanche-node-types.md
index 4198acf6..adc6b877 100644
--- a/docs/blockchain-guides/2_Avalanche/2_avalanche-node-types.md
+++ b/content/docs/blockchain-guides/Avalanche/2_avalanche-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Avalanche Node Types"
+---
+
# Node types
All nodes running in SettleMint are configured to be **archive nodes**, meaning they all include all previous states of a given blockchain since its origin.
diff --git a/docs/blockchain-guides/2_Avalanche/3_avalanche-connect-to-a-node.md b/content/docs/blockchain-guides/Avalanche/3_avalanche-connect-to-a-node.md
similarity index 98%
rename from docs/blockchain-guides/2_Avalanche/3_avalanche-connect-to-a-node.md
rename to content/docs/blockchain-guides/Avalanche/3_avalanche-connect-to-a-node.md
index 6329e518..eed73de9 100644
--- a/docs/blockchain-guides/2_Avalanche/3_avalanche-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Avalanche/3_avalanche-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Avalanche Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Avalanche node.
diff --git a/docs/blockchain-guides/2_Avalanche/4_avalanche-network-stats.md b/content/docs/blockchain-guides/Avalanche/4_avalanche-network-stats.md
similarity index 95%
rename from docs/blockchain-guides/2_Avalanche/4_avalanche-network-stats.md
rename to content/docs/blockchain-guides/Avalanche/4_avalanche-network-stats.md
index 94a7c5a0..8cd0e024 100644
--- a/docs/blockchain-guides/2_Avalanche/4_avalanche-network-stats.md
+++ b/content/docs/blockchain-guides/Avalanche/4_avalanche-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Avalanche Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/2_Avalanche/5_avalanche-integration-tools.md b/content/docs/blockchain-guides/Avalanche/5_avalanche-integration-tools.md
similarity index 86%
rename from docs/blockchain-guides/2_Avalanche/5_avalanche-integration-tools.md
rename to content/docs/blockchain-guides/Avalanche/5_avalanche-integration-tools.md
index 003534a6..dcddbd66 100644
--- a/docs/blockchain-guides/2_Avalanche/5_avalanche-integration-tools.md
+++ b/content/docs/blockchain-guides/Avalanche/5_avalanche-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Avalanche Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/2_Avalanche/Template-library/1_avalanche-erc-20.md b/content/docs/blockchain-guides/Avalanche/Template-library/1_avalanche-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/2_Avalanche/Template-library/1_avalanche-erc-20.md
rename to content/docs/blockchain-guides/Avalanche/Template-library/1_avalanche-erc-20.md
index 39a2a978..64ae0afb 100644
--- a/docs/blockchain-guides/2_Avalanche/Template-library/1_avalanche-erc-20.md
+++ b/content/docs/blockchain-guides/Avalanche/Template-library/1_avalanche-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Avalanche Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on the Ethereum network, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/2_Avalanche/Template-library/2_avalanche-erc-721.md b/content/docs/blockchain-guides/Avalanche/Template-library/2_avalanche-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/2_Avalanche/Template-library/2_avalanche-erc-721.md
rename to content/docs/blockchain-guides/Avalanche/Template-library/2_avalanche-erc-721.md
index a04b4f0d..bbbf4f6b 100644
--- a/docs/blockchain-guides/2_Avalanche/Template-library/2_avalanche-erc-721.md
+++ b/content/docs/blockchain-guides/Avalanche/Template-library/2_avalanche-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Avalanche Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on issued on all EVM compatible blockchain networks such as Avalanche, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/2_Avalanche/Template-library/3_avalanche-state-machine.md b/content/docs/blockchain-guides/Avalanche/Template-library/3_avalanche-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/2_Avalanche/Template-library/3_avalanche-state-machine.md
rename to content/docs/blockchain-guides/Avalanche/Template-library/3_avalanche-state-machine.md
index 5ba5578e..040fcc94 100644
--- a/docs/blockchain-guides/2_Avalanche/Template-library/3_avalanche-state-machine.md
+++ b/content/docs/blockchain-guides/Avalanche/Template-library/3_avalanche-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Avalanche State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/2_Avalanche/_category_.json b/content/docs/blockchain-guides/Avalanche/_category_.json
similarity index 100%
rename from docs/blockchain-guides/2_Avalanche/_category_.json
rename to content/docs/blockchain-guides/Avalanche/_category_.json
diff --git a/docs/blockchain-guides/11_Fantom/1_fantom-the-basics.md b/content/docs/blockchain-guides/Fantom/1_fantom-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/11_Fantom/1_fantom-the-basics.md
rename to content/docs/blockchain-guides/Fantom/1_fantom-the-basics.md
index 1599bfe8..7a253946 100644
--- a/docs/blockchain-guides/11_Fantom/1_fantom-the-basics.md
+++ b/content/docs/blockchain-guides/Fantom/1_fantom-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Fantom The Basics"
+---
+
# The basics
Fantom is a high-performance, scalable, and secure smart-contract platform launched in December 2019. It is designed to overcome the limitations of older blockchain platforms like Ethereum. Fantom’s native cryptocurrency is called FTM. The platform leverages a unique consensus mechanism known as Lachesis, which allows it to process transactions much faster and at a lower cost compared to traditional blockchains. Fantom is fully compatible with the Ethereum Virtual Machine (EVM), enabling developers to deploy their existing Ethereum dApps on Fantom without any changes. Beyond scalability and compatibility, Fantom emphasizes decentralization. The network is secured by a decentralized network of validators and governed through on-chain governance, ensuring it is not controlled by any single entity.
diff --git a/docs/blockchain-guides/11_Fantom/2_fantom-node-types.md b/content/docs/blockchain-guides/Fantom/2_fantom-node-types.md
similarity index 87%
rename from docs/blockchain-guides/11_Fantom/2_fantom-node-types.md
rename to content/docs/blockchain-guides/Fantom/2_fantom-node-types.md
index 7f3da228..ecf684f4 100644
--- a/docs/blockchain-guides/11_Fantom/2_fantom-node-types.md
+++ b/content/docs/blockchain-guides/Fantom/2_fantom-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Fantom Node Types"
+---
+
# Node types
All nodes running in SettleMint are configured to be **archive nodes**, meaning they all include all previous states of a given blockchain since its origin.
diff --git a/docs/blockchain-guides/11_Fantom/3_fantom-connect-to-a-node.md b/content/docs/blockchain-guides/Fantom/3_fantom-connect-to-a-node.md
similarity index 99%
rename from docs/blockchain-guides/11_Fantom/3_fantom-connect-to-a-node.md
rename to content/docs/blockchain-guides/Fantom/3_fantom-connect-to-a-node.md
index 61515dd9..0677f807 100644
--- a/docs/blockchain-guides/11_Fantom/3_fantom-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Fantom/3_fantom-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Fantom Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Fantom node.
diff --git a/docs/blockchain-guides/11_Fantom/4_fantom-network-stats.md b/content/docs/blockchain-guides/Fantom/4_fantom-network-stats.md
similarity index 95%
rename from docs/blockchain-guides/11_Fantom/4_fantom-network-stats.md
rename to content/docs/blockchain-guides/Fantom/4_fantom-network-stats.md
index 94a7c5a0..831744ea 100644
--- a/docs/blockchain-guides/11_Fantom/4_fantom-network-stats.md
+++ b/content/docs/blockchain-guides/Fantom/4_fantom-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Fantom Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/11_Fantom/5_fantom-integration-tools.md b/content/docs/blockchain-guides/Fantom/5_fantom-integration-tools.md
similarity index 87%
rename from docs/blockchain-guides/11_Fantom/5_fantom-integration-tools.md
rename to content/docs/blockchain-guides/Fantom/5_fantom-integration-tools.md
index 003534a6..ca6502e3 100644
--- a/docs/blockchain-guides/11_Fantom/5_fantom-integration-tools.md
+++ b/content/docs/blockchain-guides/Fantom/5_fantom-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Fantom Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/11_Fantom/Template-library/1_fantom-erc-20.md b/content/docs/blockchain-guides/Fantom/Template-library/1_fantom-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/11_Fantom/Template-library/1_fantom-erc-20.md
rename to content/docs/blockchain-guides/Fantom/Template-library/1_fantom-erc-20.md
index 79b24615..2786a5f5 100644
--- a/docs/blockchain-guides/11_Fantom/Template-library/1_fantom-erc-20.md
+++ b/content/docs/blockchain-guides/Fantom/Template-library/1_fantom-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Fantom Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on all EVM compatible blockchain networks such as Fantom, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/11_Fantom/Template-library/2_fantom-erc-721.md b/content/docs/blockchain-guides/Fantom/Template-library/2_fantom-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/11_Fantom/Template-library/2_fantom-erc-721.md
rename to content/docs/blockchain-guides/Fantom/Template-library/2_fantom-erc-721.md
index 0b7a7304..5c7bdaf8 100644
--- a/docs/blockchain-guides/11_Fantom/Template-library/2_fantom-erc-721.md
+++ b/content/docs/blockchain-guides/Fantom/Template-library/2_fantom-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Fantom Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on issued on all EVM compatible blockchain networks such as Fantom, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/11_Fantom/Template-library/3_fantom-state-machine.md b/content/docs/blockchain-guides/Fantom/Template-library/3_fantom-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/11_Fantom/Template-library/3_fantom-state-machine.md
rename to content/docs/blockchain-guides/Fantom/Template-library/3_fantom-state-machine.md
index a2664456..f592308a 100644
--- a/docs/blockchain-guides/11_Fantom/Template-library/3_fantom-state-machine.md
+++ b/content/docs/blockchain-guides/Fantom/Template-library/3_fantom-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Fantom State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/11_Fantom/_category_.json b/content/docs/blockchain-guides/Fantom/_category_.json
similarity index 100%
rename from docs/blockchain-guides/11_Fantom/_category_.json
rename to content/docs/blockchain-guides/Fantom/_category_.json
diff --git a/docs/blockchain-guides/9_Hedera/1_hedera-the-basics.md b/content/docs/blockchain-guides/Hedera/1_hedera-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/9_Hedera/1_hedera-the-basics.md
rename to content/docs/blockchain-guides/Hedera/1_hedera-the-basics.md
index 19cf9366..1f728273 100644
--- a/docs/blockchain-guides/9_Hedera/1_hedera-the-basics.md
+++ b/content/docs/blockchain-guides/Hedera/1_hedera-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Hedera The Basics"
+---
+
# The basics
Hedera is a public distributed ledger technology (DLT) network that was launched in August 2018 by Hedera Hashgraph, LLC. It uses the Hashgraph consensus algorithm, which is a unique and novel approach to achieving consensus in a distributed network. Hedera’s native cryptocurrency is called HBAR, and it is used to power the network’s services, including smart contracts, file storage, and regular transactions.
diff --git a/docs/blockchain-guides/9_Hedera/2_hedera-node-types.md b/content/docs/blockchain-guides/Hedera/2_hedera-node-types.md
similarity index 89%
rename from docs/blockchain-guides/9_Hedera/2_hedera-node-types.md
rename to content/docs/blockchain-guides/Hedera/2_hedera-node-types.md
index 536f74c0..c423826a 100644
--- a/docs/blockchain-guides/9_Hedera/2_hedera-node-types.md
+++ b/content/docs/blockchain-guides/Hedera/2_hedera-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Hedera Node Types"
+---
+
# Node types
We don't run our own Hedera nodes. We are running Hedera Json-RPC relay which points to public mirror node(https://mainnet.mirrornode.hedera.com and https://testnet.mirrornode.hedera.com)
diff --git a/docs/blockchain-guides/9_Hedera/3_hedera-connect-to-a-relay.md b/content/docs/blockchain-guides/Hedera/3_hedera-connect-to-a-relay.md
similarity index 99%
rename from docs/blockchain-guides/9_Hedera/3_hedera-connect-to-a-relay.md
rename to content/docs/blockchain-guides/Hedera/3_hedera-connect-to-a-relay.md
index 0fe64f28..80d9fe55 100644
--- a/docs/blockchain-guides/9_Hedera/3_hedera-connect-to-a-relay.md
+++ b/content/docs/blockchain-guides/Hedera/3_hedera-connect-to-a-relay.md
@@ -1,3 +1,7 @@
+---
+title: "Hedera Connect To A Relay"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Hedera node.
diff --git a/docs/blockchain-guides/9_Hedera/4_hedera-network-stats.md b/content/docs/blockchain-guides/Hedera/4_hedera-network-stats.md
similarity index 95%
rename from docs/blockchain-guides/9_Hedera/4_hedera-network-stats.md
rename to content/docs/blockchain-guides/Hedera/4_hedera-network-stats.md
index 94a7c5a0..e34bd6a4 100644
--- a/docs/blockchain-guides/9_Hedera/4_hedera-network-stats.md
+++ b/content/docs/blockchain-guides/Hedera/4_hedera-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Hedera Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/9_Hedera/5_hedera-integration-tools.md b/content/docs/blockchain-guides/Hedera/5_hedera-integration-tools.md
similarity index 87%
rename from docs/blockchain-guides/9_Hedera/5_hedera-integration-tools.md
rename to content/docs/blockchain-guides/Hedera/5_hedera-integration-tools.md
index 003534a6..65a828f5 100644
--- a/docs/blockchain-guides/9_Hedera/5_hedera-integration-tools.md
+++ b/content/docs/blockchain-guides/Hedera/5_hedera-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Hedera Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/9_Hedera/Template-library/1_hedera-erc-20.md b/content/docs/blockchain-guides/Hedera/Template-library/1_hedera-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/9_Hedera/Template-library/1_hedera-erc-20.md
rename to content/docs/blockchain-guides/Hedera/Template-library/1_hedera-erc-20.md
index f41f47b7..bf848315 100644
--- a/docs/blockchain-guides/9_Hedera/Template-library/1_hedera-erc-20.md
+++ b/content/docs/blockchain-guides/Hedera/Template-library/1_hedera-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Hedera Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on all EVM compatible blockchain networks such as Hedera, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/9_Hedera/Template-library/2_hedera-erc-721.md b/content/docs/blockchain-guides/Hedera/Template-library/2_hedera-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/9_Hedera/Template-library/2_hedera-erc-721.md
rename to content/docs/blockchain-guides/Hedera/Template-library/2_hedera-erc-721.md
index d35430c3..34e60f66 100644
--- a/docs/blockchain-guides/9_Hedera/Template-library/2_hedera-erc-721.md
+++ b/content/docs/blockchain-guides/Hedera/Template-library/2_hedera-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Hedera Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on issued on all EVM compatible blockchain networks such as Hedera, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/9_Hedera/Template-library/3_hedera-state-machine.md b/content/docs/blockchain-guides/Hedera/Template-library/3_hedera-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/9_Hedera/Template-library/3_hedera-state-machine.md
rename to content/docs/blockchain-guides/Hedera/Template-library/3_hedera-state-machine.md
index a2664456..3af09c9e 100644
--- a/docs/blockchain-guides/9_Hedera/Template-library/3_hedera-state-machine.md
+++ b/content/docs/blockchain-guides/Hedera/Template-library/3_hedera-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Hedera State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/9_Hedera/_category_.json b/content/docs/blockchain-guides/Hedera/_category_.json
similarity index 100%
rename from docs/blockchain-guides/9_Hedera/_category_.json
rename to content/docs/blockchain-guides/Hedera/_category_.json
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/10_performance.md b/content/docs/blockchain-guides/Hyperledger-Besu/10_performance.md
similarity index 99%
rename from docs/blockchain-guides/1_Hyperledger-Besu/10_performance.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/10_performance.md
index 00b82964..165a760b 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/10_performance.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/10_performance.md
@@ -1,3 +1,7 @@
+---
+title: "Performance"
+---
+
# Understanding Transactions Per Second (TPS) on a Besu Node
This document aims to provide a comprehensive overview of transaction throughput on a Hyperledger Besu node, explaining key concepts for readers who may not be familiar with blockchain technology.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/1_enterprise-ethereum-the-basics.md b/content/docs/blockchain-guides/Hyperledger-Besu/1_enterprise-ethereum-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/1_Hyperledger-Besu/1_enterprise-ethereum-the-basics.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/1_enterprise-ethereum-the-basics.md
index 85f3850d..c194e131 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/1_enterprise-ethereum-the-basics.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/1_enterprise-ethereum-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum The Basics"
+---
+
# The basics
Enterprise Ethereum is the permissioned blockchain version of public Ethereum. The two major Enterprise Ethereum clients are **Hyperledger Besu and Quorum**. Both clients have implemented a permission layer, which only allows known nodes, designed specifically for use in a consortium environment, to join the network.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/2_enterprise-ethereum-network-settings.md b/content/docs/blockchain-guides/Hyperledger-Besu/2_enterprise-ethereum-network-settings.md
similarity index 94%
rename from docs/blockchain-guides/1_Hyperledger-Besu/2_enterprise-ethereum-network-settings.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/2_enterprise-ethereum-network-settings.md
index c13a0410..38c7338b 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/2_enterprise-ethereum-network-settings.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/2_enterprise-ethereum-network-settings.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Network Settings"
+---
+
# Network settings
Depending on your requirements, you can configure some advanced settings for your Hyperledger Besu network. We provide default settings, but you can change these according to your own preferences.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/3_enterprise-ethereum-node-types.md b/content/docs/blockchain-guides/Hyperledger-Besu/3_enterprise-ethereum-node-types.md
similarity index 96%
rename from docs/blockchain-guides/1_Hyperledger-Besu/3_enterprise-ethereum-node-types.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/3_enterprise-ethereum-node-types.md
index f4b8a21e..705523fc 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/3_enterprise-ethereum-node-types.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/3_enterprise-ethereum-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Node Types"
+---
+
# Node types
You can choose between 2 types of node:
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/4_enterprise-ethereum-connect-to-a-node.md b/content/docs/blockchain-guides/Hyperledger-Besu/4_enterprise-ethereum-connect-to-a-node.md
similarity index 98%
rename from docs/blockchain-guides/1_Hyperledger-Besu/4_enterprise-ethereum-connect-to-a-node.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/4_enterprise-ethereum-connect-to-a-node.md
index 65eac9a4..f9b3336e 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/4_enterprise-ethereum-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/4_enterprise-ethereum-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/5_enterprise-ethereum-network-stats.md b/content/docs/blockchain-guides/Hyperledger-Besu/5_enterprise-ethereum-network-stats.md
similarity index 97%
rename from docs/blockchain-guides/1_Hyperledger-Besu/5_enterprise-ethereum-network-stats.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/5_enterprise-ethereum-network-stats.md
index 308803a1..073124d8 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/5_enterprise-ethereum-network-stats.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/5_enterprise-ethereum-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Network Stats"
+---
+
# Network and node stats
## Network stats
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md b/content/docs/blockchain-guides/Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md
similarity index 84%
rename from docs/blockchain-guides/1_Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md
index 003534a6..3bfe9350 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/6_enterprise-ethereum-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md b/content/docs/blockchain-guides/Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md
similarity index 99%
rename from docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md
index e16e6f7d..fec74fd9 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Connect External Node"
+---
+
# Connect to an external node
There are many usecases where not all nodes are running on the SettleMint platform. For example, you might want to connect to a node running on a different server, you might want to connect to a node running on a different blockchain platform or just for development purposes. In this guide, we will show you how to connect to an external node.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md b/content/docs/blockchain-guides/Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md
similarity index 98%
rename from docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md
index c12437ed..3b7bf266 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Connect External Network"
+---
+
# Connect to an External Network
The SettleMint platform seamlessly integrates with existing external networks. You can deploy nodes on your external network within the SettleMint platform, enabling you to leverage the platform's robust features, including monitoring, resource scaling, an intuitive JSON-RPC UI, and reliable uptime management.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/Template-library/1_enterprise-ethereum-erc20.md b/content/docs/blockchain-guides/Hyperledger-Besu/Template-library/1_enterprise-ethereum-erc20.md
similarity index 99%
rename from docs/blockchain-guides/1_Hyperledger-Besu/Template-library/1_enterprise-ethereum-erc20.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/Template-library/1_enterprise-ethereum-erc20.md
index eddb78ba..75a0bf1b 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/Template-library/1_enterprise-ethereum-erc20.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/Template-library/1_enterprise-ethereum-erc20.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Erc20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on the Ethereum network, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/Template-library/2_enterprise-ethereum-erc721.md b/content/docs/blockchain-guides/Hyperledger-Besu/Template-library/2_enterprise-ethereum-erc721.md
similarity index 98%
rename from docs/blockchain-guides/1_Hyperledger-Besu/Template-library/2_enterprise-ethereum-erc721.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/Template-library/2_enterprise-ethereum-erc721.md
index 849efda8..67ddcc6f 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/Template-library/2_enterprise-ethereum-erc721.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/Template-library/2_enterprise-ethereum-erc721.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum Erc721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on the Ethereum network, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/Template-library/3_enterprise-ethereum-state-machine.md b/content/docs/blockchain-guides/Hyperledger-Besu/Template-library/3_enterprise-ethereum-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/1_Hyperledger-Besu/Template-library/3_enterprise-ethereum-state-machine.md
rename to content/docs/blockchain-guides/Hyperledger-Besu/Template-library/3_enterprise-ethereum-state-machine.md
index 5ba5578e..796b0fb8 100644
--- a/docs/blockchain-guides/1_Hyperledger-Besu/Template-library/3_enterprise-ethereum-state-machine.md
+++ b/content/docs/blockchain-guides/Hyperledger-Besu/Template-library/3_enterprise-ethereum-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Enterprise Ethereum State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/_category_.json b/content/docs/blockchain-guides/Hyperledger-Besu/_category_.json
similarity index 100%
rename from docs/blockchain-guides/1_Hyperledger-Besu/_category_.json
rename to content/docs/blockchain-guides/Hyperledger-Besu/_category_.json
diff --git a/docs/blockchain-guides/5_Hyperledger-Fabric/1_hyperledger-fabric-the-basics.md b/content/docs/blockchain-guides/Hyperledger-Fabric/1_hyperledger-fabric-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/5_Hyperledger-Fabric/1_hyperledger-fabric-the-basics.md
rename to content/docs/blockchain-guides/Hyperledger-Fabric/1_hyperledger-fabric-the-basics.md
index 12094050..6610c886 100644
--- a/docs/blockchain-guides/5_Hyperledger-Fabric/1_hyperledger-fabric-the-basics.md
+++ b/content/docs/blockchain-guides/Hyperledger-Fabric/1_hyperledger-fabric-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Hyperledger Fabric The Basics"
+---
+
# The basics
Hyperledger Fabric is an open source enterprise-grade permissioned distributed ledger technology (DLT) platform, designed for use in enterprise contexts, that delivers some key differentiating capabilities over other popular distributed ledger or blockchain platforms.
diff --git a/docs/blockchain-guides/5_Hyperledger-Fabric/2_hyperledger-fabric-network-settings.md b/content/docs/blockchain-guides/Hyperledger-Fabric/2_hyperledger-fabric-network-settings.md
similarity index 99%
rename from docs/blockchain-guides/5_Hyperledger-Fabric/2_hyperledger-fabric-network-settings.md
rename to content/docs/blockchain-guides/Hyperledger-Fabric/2_hyperledger-fabric-network-settings.md
index 58fb8a1f..c4b135eb 100644
--- a/docs/blockchain-guides/5_Hyperledger-Fabric/2_hyperledger-fabric-network-settings.md
+++ b/content/docs/blockchain-guides/Hyperledger-Fabric/2_hyperledger-fabric-network-settings.md
@@ -1,3 +1,7 @@
+---
+title: "Hyperledger Fabric Network Settings"
+---
+
# Network settings
Depending on your requirements, you can configure some advanced settings for your Hyperledger Fabric network's default-channel. We provide default settings, but you can change these according to your own preferences.
diff --git a/docs/blockchain-guides/5_Hyperledger-Fabric/3_hyperledger-fabric-node-types.md b/content/docs/blockchain-guides/Hyperledger-Fabric/3_hyperledger-fabric-node-types.md
similarity index 99%
rename from docs/blockchain-guides/5_Hyperledger-Fabric/3_hyperledger-fabric-node-types.md
rename to content/docs/blockchain-guides/Hyperledger-Fabric/3_hyperledger-fabric-node-types.md
index 0861c862..a25d5349 100644
--- a/docs/blockchain-guides/5_Hyperledger-Fabric/3_hyperledger-fabric-node-types.md
+++ b/content/docs/blockchain-guides/Hyperledger-Fabric/3_hyperledger-fabric-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Hyperledger Fabric Node Types"
+---
+
# Node types
Before describing the different node types, we have to talk about Certificate Authorities (CA) and identities.
diff --git a/docs/blockchain-guides/5_Hyperledger-Fabric/4_hyperledger-fabric-connect-to-a-node.md b/content/docs/blockchain-guides/Hyperledger-Fabric/4_hyperledger-fabric-connect-to-a-node.md
similarity index 93%
rename from docs/blockchain-guides/5_Hyperledger-Fabric/4_hyperledger-fabric-connect-to-a-node.md
rename to content/docs/blockchain-guides/Hyperledger-Fabric/4_hyperledger-fabric-connect-to-a-node.md
index e3cfff8c..6ba9a924 100644
--- a/docs/blockchain-guides/5_Hyperledger-Fabric/4_hyperledger-fabric-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Hyperledger-Fabric/4_hyperledger-fabric-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Hyperledger Fabric Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Hyperledger Fabric peer node.
@@ -40,4 +44,4 @@ In the last step, you could also use the **admin user** to connect to your node,
If everything went well, your results must look like the ones in the following image.
-
+
diff --git a/docs/blockchain-guides/5_Hyperledger-Fabric/5_hyperledger-fabric-network-stats.md b/content/docs/blockchain-guides/Hyperledger-Fabric/5_hyperledger-fabric-network-stats.md
similarity index 96%
rename from docs/blockchain-guides/5_Hyperledger-Fabric/5_hyperledger-fabric-network-stats.md
rename to content/docs/blockchain-guides/Hyperledger-Fabric/5_hyperledger-fabric-network-stats.md
index 5d438e17..f807d340 100644
--- a/docs/blockchain-guides/5_Hyperledger-Fabric/5_hyperledger-fabric-network-stats.md
+++ b/content/docs/blockchain-guides/Hyperledger-Fabric/5_hyperledger-fabric-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Hyperledger Fabric Network Stats"
+---
+
# Network and node stats
## Network stats
diff --git a/docs/blockchain-guides/5_Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md b/content/docs/blockchain-guides/Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md
similarity index 84%
rename from docs/blockchain-guides/5_Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md
rename to content/docs/blockchain-guides/Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md
index 003534a6..47b49254 100644
--- a/docs/blockchain-guides/5_Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md
+++ b/content/docs/blockchain-guides/Hyperledger-Fabric/6_hyperledger-fabric-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Hyperledger Fabric Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/5_Hyperledger-Fabric/_category_.json b/content/docs/blockchain-guides/Hyperledger-Fabric/_category_.json
similarity index 100%
rename from docs/blockchain-guides/5_Hyperledger-Fabric/_category_.json
rename to content/docs/blockchain-guides/Hyperledger-Fabric/_category_.json
diff --git a/docs/blockchain-guides/8_Optimism/1_optimism-the-basics.md b/content/docs/blockchain-guides/Optimism/1_optimism-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/8_Optimism/1_optimism-the-basics.md
rename to content/docs/blockchain-guides/Optimism/1_optimism-the-basics.md
index 5c09bc9c..3d78e5e9 100644
--- a/docs/blockchain-guides/8_Optimism/1_optimism-the-basics.md
+++ b/content/docs/blockchain-guides/Optimism/1_optimism-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Optimism The Basics"
+---
+
# The basics
Optimism was launched in March 2021 by Optimism PBC, and has its own cryptocurrency since May 2022 called OP. It is a layer 2 scaling solution for Ethereum that focusses on security, scalability and ease-of-use. Optimism uses optimistic rollup technology to process transactions off-chain, which allows it to offer significantly faster transaction speeds and lower fees than Ethereum mainnet. It uses Ethereum Virtual Machine (EVM), which means that developers can deploy their existing Ethereum dapps to Optimism without any changes. In addition to scalability and compatibility, Optimism is also focused on decentralization. The Optimism network is secured by a decentralized network of validators, and it is governed by a DAO (decentralized autonomous organization). This ensures that Optimism is not controlled by any single entity.
diff --git a/docs/blockchain-guides/8_Optimism/2_optimism-node-types.md b/content/docs/blockchain-guides/Optimism/2_optimism-node-types.md
similarity index 87%
rename from docs/blockchain-guides/8_Optimism/2_optimism-node-types.md
rename to content/docs/blockchain-guides/Optimism/2_optimism-node-types.md
index 7b06374c..008e6dfb 100644
--- a/docs/blockchain-guides/8_Optimism/2_optimism-node-types.md
+++ b/content/docs/blockchain-guides/Optimism/2_optimism-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Optimism Node Types"
+---
+
# Node types
All nodes running in SettleMint are configured to be **archive nodes**, meaning they all include all previous states of a given blockchain since its origin.
diff --git a/docs/blockchain-guides/8_Optimism/3_optimism-connect-to-a-node.md b/content/docs/blockchain-guides/Optimism/3_optimism-connect-to-a-node.md
similarity index 99%
rename from docs/blockchain-guides/8_Optimism/3_optimism-connect-to-a-node.md
rename to content/docs/blockchain-guides/Optimism/3_optimism-connect-to-a-node.md
index 5bba134c..995baa65 100644
--- a/docs/blockchain-guides/8_Optimism/3_optimism-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Optimism/3_optimism-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Optimism Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Optimism node.
diff --git a/docs/blockchain-guides/8_Optimism/4_optimism-network-stats.md b/content/docs/blockchain-guides/Optimism/4_optimism-network-stats.md
similarity index 95%
rename from docs/blockchain-guides/8_Optimism/4_optimism-network-stats.md
rename to content/docs/blockchain-guides/Optimism/4_optimism-network-stats.md
index 94a7c5a0..bf0d1ea2 100644
--- a/docs/blockchain-guides/8_Optimism/4_optimism-network-stats.md
+++ b/content/docs/blockchain-guides/Optimism/4_optimism-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Optimism Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/8_Optimism/5_optimism-integration-tools.md b/content/docs/blockchain-guides/Optimism/5_optimism-integration-tools.md
similarity index 86%
rename from docs/blockchain-guides/8_Optimism/5_optimism-integration-tools.md
rename to content/docs/blockchain-guides/Optimism/5_optimism-integration-tools.md
index 003534a6..1501a724 100644
--- a/docs/blockchain-guides/8_Optimism/5_optimism-integration-tools.md
+++ b/content/docs/blockchain-guides/Optimism/5_optimism-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Optimism Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/8_Optimism/Template-library/1_optimism-erc-20.md b/content/docs/blockchain-guides/Optimism/Template-library/1_optimism-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/8_Optimism/Template-library/1_optimism-erc-20.md
rename to content/docs/blockchain-guides/Optimism/Template-library/1_optimism-erc-20.md
index 250adb74..91771036 100644
--- a/docs/blockchain-guides/8_Optimism/Template-library/1_optimism-erc-20.md
+++ b/content/docs/blockchain-guides/Optimism/Template-library/1_optimism-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Optimism Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on all EVM compatible blockchain networks such as Optimism, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/8_Optimism/Template-library/2_optimism-erc-721.md b/content/docs/blockchain-guides/Optimism/Template-library/2_optimism-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/8_Optimism/Template-library/2_optimism-erc-721.md
rename to content/docs/blockchain-guides/Optimism/Template-library/2_optimism-erc-721.md
index aaf77b28..370a1428 100644
--- a/docs/blockchain-guides/8_Optimism/Template-library/2_optimism-erc-721.md
+++ b/content/docs/blockchain-guides/Optimism/Template-library/2_optimism-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Optimism Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on issued on all EVM compatible blockchain networks such as Optimism, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/8_Optimism/Template-library/3_optimism-state-machine.md b/content/docs/blockchain-guides/Optimism/Template-library/3_optimism-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/8_Optimism/Template-library/3_optimism-state-machine.md
rename to content/docs/blockchain-guides/Optimism/Template-library/3_optimism-state-machine.md
index a2664456..6bbc03ce 100644
--- a/docs/blockchain-guides/8_Optimism/Template-library/3_optimism-state-machine.md
+++ b/content/docs/blockchain-guides/Optimism/Template-library/3_optimism-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Optimism State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/8_Optimism/_category_.json b/content/docs/blockchain-guides/Optimism/_category_.json
similarity index 100%
rename from docs/blockchain-guides/8_Optimism/_category_.json
rename to content/docs/blockchain-guides/Optimism/_category_.json
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/1_polygon-zkevm-the-basics.md b/content/docs/blockchain-guides/Polygon-zkEVM/1_polygon-zkevm-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/10_Polygon-zkEVM/1_polygon-zkevm-the-basics.md
rename to content/docs/blockchain-guides/Polygon-zkEVM/1_polygon-zkevm-the-basics.md
index 114fa24c..f9de40d8 100644
--- a/docs/blockchain-guides/10_Polygon-zkEVM/1_polygon-zkevm-the-basics.md
+++ b/content/docs/blockchain-guides/Polygon-zkEVM/1_polygon-zkevm-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Zkevm The Basics"
+---
+
# The basics
Polygon zkEVM, introduced by the Polygon (formerly Matic) team in March 2023, represents the latest advancement in Polygon's efforts to provide a Layer 2 scalability solution. Using cryptographic zero-knowledge proofs to offer validity and quick finality to off-chain transaction computation, also known as a ZK-Rollup. It is the first zkEVM to be fully equivalent to an EVM, meaning that all existing smart contracts, developer toolings, and wallets work seamlessly. Polygon zkEVM provides a complete EVM-like experience for developers and users alike, with significantly lower transaction costs and higher throughput than Ethereum.
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/2_polygon-zkevm-node-types.md b/content/docs/blockchain-guides/Polygon-zkEVM/2_polygon-zkevm-node-types.md
similarity index 85%
rename from docs/blockchain-guides/10_Polygon-zkEVM/2_polygon-zkevm-node-types.md
rename to content/docs/blockchain-guides/Polygon-zkEVM/2_polygon-zkevm-node-types.md
index f18ed0ee..53bccb37 100644
--- a/docs/blockchain-guides/10_Polygon-zkEVM/2_polygon-zkevm-node-types.md
+++ b/content/docs/blockchain-guides/Polygon-zkEVM/2_polygon-zkevm-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Zkevm Node Types"
+---
+
# Node types
All nodes running in SettleMint are configured to be **archive nodes**, meaning they all include all previous states of a given blockchain since its origin.
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/3_polygon-zkevm-connect-to-a-node.md b/content/docs/blockchain-guides/Polygon-zkEVM/3_polygon-zkevm-connect-to-a-node.md
similarity index 98%
rename from docs/blockchain-guides/10_Polygon-zkEVM/3_polygon-zkevm-connect-to-a-node.md
rename to content/docs/blockchain-guides/Polygon-zkEVM/3_polygon-zkevm-connect-to-a-node.md
index f862a438..ac745cce 100644
--- a/docs/blockchain-guides/10_Polygon-zkEVM/3_polygon-zkevm-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Polygon-zkEVM/3_polygon-zkevm-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Zkevm Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Polygon zkEVM node.
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/4_polygon-zkevm-network-stats.md b/content/docs/blockchain-guides/Polygon-zkEVM/4_polygon-zkevm-network-stats.md
similarity index 94%
rename from docs/blockchain-guides/10_Polygon-zkEVM/4_polygon-zkevm-network-stats.md
rename to content/docs/blockchain-guides/Polygon-zkEVM/4_polygon-zkevm-network-stats.md
index 94a7c5a0..8278477a 100644
--- a/docs/blockchain-guides/10_Polygon-zkEVM/4_polygon-zkevm-network-stats.md
+++ b/content/docs/blockchain-guides/Polygon-zkEVM/4_polygon-zkevm-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Zkevm Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/5_polygon-zkevm-integration-tools.md b/content/docs/blockchain-guides/Polygon-zkEVM/5_polygon-zkevm-integration-tools.md
similarity index 85%
rename from docs/blockchain-guides/10_Polygon-zkEVM/5_polygon-zkevm-integration-tools.md
rename to content/docs/blockchain-guides/Polygon-zkEVM/5_polygon-zkevm-integration-tools.md
index 003534a6..09b59164 100644
--- a/docs/blockchain-guides/10_Polygon-zkEVM/5_polygon-zkevm-integration-tools.md
+++ b/content/docs/blockchain-guides/Polygon-zkEVM/5_polygon-zkevm-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Zkevm Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/Template-library/1_polygon-zkevm-erc-20.md b/content/docs/blockchain-guides/Polygon-zkEVM/Template-library/1_polygon-zkevm-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/10_Polygon-zkEVM/Template-library/1_polygon-zkevm-erc-20.md
rename to content/docs/blockchain-guides/Polygon-zkEVM/Template-library/1_polygon-zkevm-erc-20.md
index dfd7c3db..f2d10695 100644
--- a/docs/blockchain-guides/10_Polygon-zkEVM/Template-library/1_polygon-zkevm-erc-20.md
+++ b/content/docs/blockchain-guides/Polygon-zkEVM/Template-library/1_polygon-zkevm-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Zkevm Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on all EVM compatible blockchain networks such as Polygon zkEVM, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/Template-library/2_polygon-zkevm-erc-721.md b/content/docs/blockchain-guides/Polygon-zkEVM/Template-library/2_polygon-zkevm-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/10_Polygon-zkEVM/Template-library/2_polygon-zkevm-erc-721.md
rename to content/docs/blockchain-guides/Polygon-zkEVM/Template-library/2_polygon-zkevm-erc-721.md
index 363f7c88..b1eee79a 100644
--- a/docs/blockchain-guides/10_Polygon-zkEVM/Template-library/2_polygon-zkevm-erc-721.md
+++ b/content/docs/blockchain-guides/Polygon-zkEVM/Template-library/2_polygon-zkevm-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Zkevm Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on issued on all EVM compatible blockchain networks such as Polygon zkEVM, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/Template-library/3_polygon-zkevm-state-machine.md b/content/docs/blockchain-guides/Polygon-zkEVM/Template-library/3_polygon-zkevm-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/10_Polygon-zkEVM/Template-library/3_polygon-zkevm-state-machine.md
rename to content/docs/blockchain-guides/Polygon-zkEVM/Template-library/3_polygon-zkevm-state-machine.md
index a2664456..bc801d6e 100644
--- a/docs/blockchain-guides/10_Polygon-zkEVM/Template-library/3_polygon-zkevm-state-machine.md
+++ b/content/docs/blockchain-guides/Polygon-zkEVM/Template-library/3_polygon-zkevm-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Zkevm State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/10_Polygon-zkEVM/_category_.json b/content/docs/blockchain-guides/Polygon-zkEVM/_category_.json
similarity index 100%
rename from docs/blockchain-guides/10_Polygon-zkEVM/_category_.json
rename to content/docs/blockchain-guides/Polygon-zkEVM/_category_.json
diff --git a/docs/blockchain-guides/4_Polygon/1_polygon-the-basics.md b/content/docs/blockchain-guides/Polygon/1_polygon-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/4_Polygon/1_polygon-the-basics.md
rename to content/docs/blockchain-guides/Polygon/1_polygon-the-basics.md
index eba01340..8aa2925e 100644
--- a/docs/blockchain-guides/4_Polygon/1_polygon-the-basics.md
+++ b/content/docs/blockchain-guides/Polygon/1_polygon-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon The Basics"
+---
+
# The basics
Polygon, previously MATIC, was launched in 2017, mainly to tackle Ethereum’s scaling problem. Polygon is a layer 2 commit chain to the Ethereum network, and acts as an add-on layer to Ethereum. It does not seek to change the original Ethereum blockchain layer, but solves pain points associated with it, like high gas fees and slow speeds, without sacrificing on security. Polygon supports all the existing Ethereum tooling, along with faster and cheaper transactions.
diff --git a/docs/blockchain-guides/4_Polygon/2_polygon-node-types.md b/content/docs/blockchain-guides/Polygon/2_polygon-node-types.md
similarity index 87%
rename from docs/blockchain-guides/4_Polygon/2_polygon-node-types.md
rename to content/docs/blockchain-guides/Polygon/2_polygon-node-types.md
index 10645b01..d78b43af 100644
--- a/docs/blockchain-guides/4_Polygon/2_polygon-node-types.md
+++ b/content/docs/blockchain-guides/Polygon/2_polygon-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Node Types"
+---
+
# Node types
All nodes running in SettleMint are configured to be **archive nodes**, meaning they all include all previous states of a given blockchain since its origin.
diff --git a/docs/blockchain-guides/4_Polygon/3_polygon-connect-to-a-node.md b/content/docs/blockchain-guides/Polygon/3_polygon-connect-to-a-node.md
similarity index 99%
rename from docs/blockchain-guides/4_Polygon/3_polygon-connect-to-a-node.md
rename to content/docs/blockchain-guides/Polygon/3_polygon-connect-to-a-node.md
index c0960b80..24f7c13e 100644
--- a/docs/blockchain-guides/4_Polygon/3_polygon-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Polygon/3_polygon-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Polygon node.
diff --git a/docs/blockchain-guides/4_Polygon/4_polygon-network-stats.md b/content/docs/blockchain-guides/Polygon/4_polygon-network-stats.md
similarity index 95%
rename from docs/blockchain-guides/4_Polygon/4_polygon-network-stats.md
rename to content/docs/blockchain-guides/Polygon/4_polygon-network-stats.md
index 94a7c5a0..40903090 100644
--- a/docs/blockchain-guides/4_Polygon/4_polygon-network-stats.md
+++ b/content/docs/blockchain-guides/Polygon/4_polygon-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/4_Polygon/5_polygon-integration-tools.md b/content/docs/blockchain-guides/Polygon/5_polygon-integration-tools.md
similarity index 87%
rename from docs/blockchain-guides/4_Polygon/5_polygon-integration-tools.md
rename to content/docs/blockchain-guides/Polygon/5_polygon-integration-tools.md
index 003534a6..ed36aa56 100644
--- a/docs/blockchain-guides/4_Polygon/5_polygon-integration-tools.md
+++ b/content/docs/blockchain-guides/Polygon/5_polygon-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/4_Polygon/Template-library/1_polygon-erc-20.md b/content/docs/blockchain-guides/Polygon/Template-library/1_polygon-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/4_Polygon/Template-library/1_polygon-erc-20.md
rename to content/docs/blockchain-guides/Polygon/Template-library/1_polygon-erc-20.md
index f920d670..9055a2e2 100644
--- a/docs/blockchain-guides/4_Polygon/Template-library/1_polygon-erc-20.md
+++ b/content/docs/blockchain-guides/Polygon/Template-library/1_polygon-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on all EVM compatible blockchain networks such as Polygon, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/4_Polygon/Template-library/2_polygon-erc-721.md b/content/docs/blockchain-guides/Polygon/Template-library/2_polygon-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/4_Polygon/Template-library/2_polygon-erc-721.md
rename to content/docs/blockchain-guides/Polygon/Template-library/2_polygon-erc-721.md
index 5d148bcb..4b06706b 100644
--- a/docs/blockchain-guides/4_Polygon/Template-library/2_polygon-erc-721.md
+++ b/content/docs/blockchain-guides/Polygon/Template-library/2_polygon-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on issued on all EVM compatible blockchain networks such as Polygon, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/4_Polygon/Template-library/3_polygon-state-machine.md b/content/docs/blockchain-guides/Polygon/Template-library/3_polygon-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/4_Polygon/Template-library/3_polygon-state-machine.md
rename to content/docs/blockchain-guides/Polygon/Template-library/3_polygon-state-machine.md
index a2664456..fafcea21 100644
--- a/docs/blockchain-guides/4_Polygon/Template-library/3_polygon-state-machine.md
+++ b/content/docs/blockchain-guides/Polygon/Template-library/3_polygon-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Polygon State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/docs/blockchain-guides/4_Polygon/_category_.json b/content/docs/blockchain-guides/Polygon/_category_.json
similarity index 100%
rename from docs/blockchain-guides/4_Polygon/_category_.json
rename to content/docs/blockchain-guides/Polygon/_category_.json
diff --git a/docs/blockchain-guides/12_Soneium/Template-library/1_soneium-erc-20.md b/content/docs/blockchain-guides/Soneium/Template-library/1_soneium-erc-20.md
similarity index 99%
rename from docs/blockchain-guides/12_Soneium/Template-library/1_soneium-erc-20.md
rename to content/docs/blockchain-guides/Soneium/Template-library/1_soneium-erc-20.md
index 0edcea85..6017d85c 100644
--- a/docs/blockchain-guides/12_Soneium/Template-library/1_soneium-erc-20.md
+++ b/content/docs/blockchain-guides/Soneium/Template-library/1_soneium-erc-20.md
@@ -1,3 +1,7 @@
+---
+title: "Soneium Erc 20"
+---
+
# ERC-20 token
ERC-20 tokens are blockchain-based assets, issued on all EVM compatible blockchain networks such as Soneium, that have value and can be sent and received. These tokens are fungible, meaning they can be exchanged with another token of the same type because they have identical properties and there is an equal value. For example, the ERC-20 token of Alice is exactly the same as the ERC-20 token of Bob. They can exchange their token without consequences.
diff --git a/docs/blockchain-guides/12_Soneium/Template-library/2_soneium-erc-721.md b/content/docs/blockchain-guides/Soneium/Template-library/2_soneium-erc-721.md
similarity index 98%
rename from docs/blockchain-guides/12_Soneium/Template-library/2_soneium-erc-721.md
rename to content/docs/blockchain-guides/Soneium/Template-library/2_soneium-erc-721.md
index b27a0f07..97efaa24 100644
--- a/docs/blockchain-guides/12_Soneium/Template-library/2_soneium-erc-721.md
+++ b/content/docs/blockchain-guides/Soneium/Template-library/2_soneium-erc-721.md
@@ -1,3 +1,7 @@
+---
+title: "Soneium Erc 721"
+---
+
# ERC-721 token
ERC-721 tokens are blockchain-based assets, issued on issued on all EVM compatible blockchain networks such as Soneium, that have value and can be sent and received. Contrary to the ERC-20 tokens, these ERC-721 tokens are non- fungible, meaning that two tokens from the same smart contract are not equivalent.
@@ -39,7 +43,7 @@ If you want to pixelate your images, use `yarn artengine:pixelate`, the settings
Not that the generated metadata does not have a real base uri set, after we have uploaded everything to IPFS, we can set it in the `art_engine/src/config.js` file and update all the metadata using `yarn artengine:update_info`.
The end result looks like this:
-
+
```json
{
@@ -79,7 +83,7 @@ In short, replace the images in the `assets/layers` folder, change the logic in
The end result would look like this:
-
+
```json
{
diff --git a/docs/blockchain-guides/12_Soneium/Template-library/3_soneium-state-machine.md b/content/docs/blockchain-guides/Soneium/Template-library/3_soneium-state-machine.md
similarity index 99%
rename from docs/blockchain-guides/12_Soneium/Template-library/3_soneium-state-machine.md
rename to content/docs/blockchain-guides/Soneium/Template-library/3_soneium-state-machine.md
index a2664456..4b215275 100644
--- a/docs/blockchain-guides/12_Soneium/Template-library/3_soneium-state-machine.md
+++ b/content/docs/blockchain-guides/Soneium/Template-library/3_soneium-state-machine.md
@@ -1,3 +1,7 @@
+---
+title: "Soneium State Machine"
+---
+
# State Machine
This smart contract set implements a state machine. State machines are usually used to represent a system where an entity goes through several sequential states.
diff --git a/content/docs/blockchain-guides/Soneium/meta.json b/content/docs/blockchain-guides/Soneium/meta.json
new file mode 100644
index 00000000..95928b42
--- /dev/null
+++ b/content/docs/blockchain-guides/Soneium/meta.json
@@ -0,0 +1,10 @@
+{
+ "label": "Soneium",
+ "pages": [
+ "soneium-the-basics",
+ "soneium-node-types",
+ "soneium-connect-to-a-node",
+ "soneium-network-stats",
+ "soneium-integration-tools"
+ ]
+}
diff --git a/docs/blockchain-guides/12_Soneium/3_soneium-connect-to-a-node.md b/content/docs/blockchain-guides/Soneium/soneium-connect-to-a-node.md
similarity index 99%
rename from docs/blockchain-guides/12_Soneium/3_soneium-connect-to-a-node.md
rename to content/docs/blockchain-guides/Soneium/soneium-connect-to-a-node.md
index c300df6f..66587bb0 100644
--- a/docs/blockchain-guides/12_Soneium/3_soneium-connect-to-a-node.md
+++ b/content/docs/blockchain-guides/Soneium/soneium-connect-to-a-node.md
@@ -1,3 +1,7 @@
+---
+title: "Soneium Connect To A Node"
+---
+
# Connect to a node
For a software application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node. This section describes how to connect to your Soneium node.
diff --git a/docs/blockchain-guides/12_Soneium/5_soneium-integration-tools.md b/content/docs/blockchain-guides/Soneium/soneium-integration-tools.md
similarity index 87%
rename from docs/blockchain-guides/12_Soneium/5_soneium-integration-tools.md
rename to content/docs/blockchain-guides/Soneium/soneium-integration-tools.md
index 003534a6..2cebf7da 100644
--- a/docs/blockchain-guides/12_Soneium/5_soneium-integration-tools.md
+++ b/content/docs/blockchain-guides/Soneium/soneium-integration-tools.md
@@ -1,3 +1,7 @@
+---
+title: "Soneium Integration Tools"
+---
+
# Smart Contract Sets
You can launch a Smart Contract Set to significantly accelerate the development of your smart contracts.
diff --git a/docs/blockchain-guides/12_Soneium/4_soneium-network-stats.md b/content/docs/blockchain-guides/Soneium/soneium-network-stats.md
similarity index 95%
rename from docs/blockchain-guides/12_Soneium/4_soneium-network-stats.md
rename to content/docs/blockchain-guides/Soneium/soneium-network-stats.md
index 94a7c5a0..40c6e3d0 100644
--- a/docs/blockchain-guides/12_Soneium/4_soneium-network-stats.md
+++ b/content/docs/blockchain-guides/Soneium/soneium-network-stats.md
@@ -1,3 +1,7 @@
+---
+title: "Soneium Network Stats"
+---
+
# Network stats
The dashboard gives you an overview of the following stats for the network:
diff --git a/docs/blockchain-guides/12_Soneium/2_soneium-node-types.md b/content/docs/blockchain-guides/Soneium/soneium-node-types.md
similarity index 87%
rename from docs/blockchain-guides/12_Soneium/2_soneium-node-types.md
rename to content/docs/blockchain-guides/Soneium/soneium-node-types.md
index 84d915cd..609f2d8c 100644
--- a/docs/blockchain-guides/12_Soneium/2_soneium-node-types.md
+++ b/content/docs/blockchain-guides/Soneium/soneium-node-types.md
@@ -1,3 +1,7 @@
+---
+title: "Soneium Node Types"
+---
+
# Node types
All nodes running in SettleMint are configured to be **archive nodes**, meaning they all include all previous states of a given blockchain since its origin.
diff --git a/docs/blockchain-guides/12_Soneium/1-soneium-the-basics.md b/content/docs/blockchain-guides/Soneium/soneium-the-basics.md
similarity index 98%
rename from docs/blockchain-guides/12_Soneium/1-soneium-the-basics.md
rename to content/docs/blockchain-guides/Soneium/soneium-the-basics.md
index 313096d8..9d3335f5 100644
--- a/docs/blockchain-guides/12_Soneium/1-soneium-the-basics.md
+++ b/content/docs/blockchain-guides/Soneium/soneium-the-basics.md
@@ -1,3 +1,7 @@
+---
+title: "Soneium The Basics"
+---
+
# The basics
Soneium is a next-generation blockchain ecosystem designed to invoke emotion and empower creativity. It was founded by Sony Group Corporation, a global technology leader, and Startale, a Web3 innovator. Soneium stands as a versatile, general-purpose blockchain ready to serve diverse needs across all verticals and support users globally.
diff --git a/content/docs/blockchain-guides/meta.json b/content/docs/blockchain-guides/meta.json
new file mode 100644
index 00000000..0e14fac5
--- /dev/null
+++ b/content/docs/blockchain-guides/meta.json
@@ -0,0 +1,18 @@
+{
+ "label": "Blockchain Guides",
+ "pages": [
+ "Ethereum",
+ "Hyperledger-Besu",
+ "Avalanche",
+ "Polygon",
+ "Hyperledger-Fabric",
+ "Hedera",
+ "Arbitrum",
+ "Optimism",
+ "Hedera",
+ "Polygon-zkEVM",
+ "Fantom",
+ "Soneium"
+ ],
+ "icon": "Network"
+}
diff --git a/docs/using-platform/6_add-a-load-balancer.md b/content/docs/building-with-SettleMint/add-a-load-balancer.mdx
similarity index 53%
rename from docs/using-platform/6_add-a-load-balancer.md
rename to content/docs/building-with-SettleMint/add-a-load-balancer.mdx
index 92a80d56..656977b2 100644
--- a/docs/using-platform/6_add-a-load-balancer.md
+++ b/content/docs/building-with-SettleMint/add-a-load-balancer.mdx
@@ -1,20 +1,41 @@
---
title: Add a Load Balancer
-description: Guide to adding a Load Balancer to a Blockchain Network
+description: Guide to adding load balancers in SettleMint
---
-# Add a Load Balancer
-
-:::info Info
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
Load balancers are a new feature to SettleMint. We plan to add more management capabilities and interface additions.
-
-:::
+
After deploying nodes to your blockchain network, you can add a load balancer to the network.
Like traditional network load balancers, these distribute traffic among your deployed nodes.
-
+
+
+ ### Key Features
+ - High availability
+ - Request distribution
+ - Health monitoring
+ - Failover support
+
+
+
+ ### Benefits
+ - Improved performance
+ - Better reliability
+ - Scalable access
+ - Traffic management
+
+
## Why Use A Load Balancer
@@ -26,17 +47,27 @@ The benefits of adding a load balancer to your network include:
## How to Add a Load Balancer
-
-
-Click on **Blockchain Node** in the left navigation. Then click the **Add Load Balancer** button.
-
-From here, you can choose the **Blockchain Network** and then select the **Blockchain Nodes** to include under the load balancer.
-
-:::warning Warning
-
+
+
+
+ ### Navigate to Nodes
+ Click on **Blockchain Node** in the left navigation
+
+ ### Add Load Balancer
+ Click the **Add Load Balancer** button
+
+ ### Configure Load Balancer
+ 1. Choose the **Blockchain Network**
+ 2. Select the **Blockchain Nodes** to include under the load balancer
+ 3. Configure any additional settings
+ 4. Confirm the deployment configuration
+
+
+
Adding Validator nodes to your load balancer is not advised. This could disrupt your network operations if a Validator node becomes overloaded from an increase of traffic.
-
-:::
+
Once you confirm the deployment configuration, your load balancers will appear under the list of deployed nodes.
@@ -44,4 +75,4 @@ Once you confirm the deployment configuration, your load balancers will appear u
You can select the load balancer to view the number of deployed nodes under it and access logs. More information including the ability to add or remove nodes are in development.
-When deploying services including **The Graph Middleware** or **Blockscout Explorer**, you will now have the option to deploy to the load balancer.
+When deploying services including **The Graph Middleware** or **Blockscout Explorer**, you will now have the option to deploy to the load balancer.
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/add-a-network-to-an-application.mdx b/content/docs/building-with-SettleMint/add-a-network-to-an-application.mdx
new file mode 100644
index 00000000..b4e143a4
--- /dev/null
+++ b/content/docs/building-with-SettleMint/add-a-network-to-an-application.mdx
@@ -0,0 +1,157 @@
+---
+title: Add a Network to an Application
+description: Guide to adding a Blockchain Network to your application
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+
+## Prerequisites
+
+Before setting up a blockchain network, you need to have an application created in your workspace. Applications provide the organizational context for all your blockchain resources including networks, nodes, and development tools.
+
+If you haven't created an application yet, follow our [Create an Application](../building-with-settlemint/create-an-application) guide first.
+
+## How to Add a Blockchain Network
+
+
+
+
+ 
+
+
+
+ ### Navigate to Application
+ Navigate to the **application** where you will create the network.
+
+ ### Add Network
+ Click **Add blockchain network** to open a form.
+
+ ### Configure Network
+ 1. **Select the protocol** of your choice and click **Continue**.
+ 2. Choose a **network name** and a **node name**.
+ 3. Configure your deployment settings and network parameters.
+ 4. Click **Confirm** to add the network.
+
+
+
+
+ First ensure you're authenticated:
+ ```bash
+ settlemint login
+ ```
+
+ Create a blockchain network:
+ ```bash
+ settlemint platform create blockchain-network besu \
+ --node-name
+
+ # Get information about the command and all available options
+ settlemint platform create blockchain-network besu --help
+ ```
+
+
+
+ ```typescript
+ import { createSettleMintClient } from '@settlemint/sdk-js';
+
+ const client = createSettleMintClient({
+ accessToken: 'your_access_token',
+ instance: 'https://console.settlemint.com'
+ });
+
+ // Create network
+ const createNetwork = async () => {
+ const result = await client.blockchainNetwork.create({
+ applicationUniqueName: "your-app",
+ name: "my-network",
+ nodeName: "validator-1",
+ consensusAlgorithm: "BESU_QBFT",
+ provider: "GKE", // GKE, EKS, AKS
+ region: "EUROPE"
+ });
+ console.log('Network created:', result);
+ };
+
+ // List networks
+ const listNetworks = async () => {
+ const networks = await client.blockchainNetwork.list("your-app");
+ console.log('Networks:', networks);
+ };
+
+ // Get network details
+ const getNetwork = async () => {
+ const network = await client.blockchainNetwork.read("network-unique-name");
+ console.log('Network details:', network);
+ };
+
+ // Delete network
+ const deleteNetwork = async () => {
+ await client.blockchainNetwork.delete("network-unique-name");
+ };
+
+ // Restart network
+ const restartNetwork = async () => {
+ await client.blockchainNetwork.restart("network-unique-name");
+ };
+ ```
+
+
+ Get your access token from the Platform UI under User Settings → API Tokens.
+
+
+
+
+## Manage a Network
+
+
+
+
+
+ Navigate to your network and click **Manage network** to see available actions:
+ - View network details and status
+ - Monitor network health
+ - Restart network operations
+
+
+
+ ```bash
+ # List networks
+ settlemint platform list blockchain-networks --application
+
+ # Get network details
+ settlemint platform read blockchain-network
+
+ # Delete network
+ settlemint platform delete blockchain-network
+
+ # Restart network
+ settlemint platform restart blockchain-network
+ ```
+
+
+
+ ```typescript
+ // List networks
+ await client.blockchainNetwork.list("your-app");
+
+ // Get network details
+ await client.blockchainNetwork.read("network-unique-name");
+
+ // Delete network
+ await client.blockchainNetwork.delete("network-unique-name");
+
+ // Restart network
+ await client.blockchainNetwork.restart("network-unique-name");
+ ```
+
+
+
+
+All operations require appropriate permissions in your workspace.
+
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/add-a-node-to-a-network.mdx b/content/docs/building-with-SettleMint/add-a-node-to-a-network.mdx
new file mode 100644
index 00000000..950d7368
--- /dev/null
+++ b/content/docs/building-with-SettleMint/add-a-node-to-a-network.mdx
@@ -0,0 +1,140 @@
+---
+title: Add a Node to a Network
+description: Guide to adding blockchain nodes to your network
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+
+
+Once you have deployed a permissioned network or joined a public network, you can add more nodes to it. The number of nodes needed depends on your network's protocol.
+
+
+ 
+
+
+
+ ### Navigate to Application
+ Go to the application containing your network
+
+ ### Access Nodes
+ Click **Blockchain nodes** in the left navigation
+
+ ### Configure Node
+ 1. Click **Add a blockchain node**
+ 2. Select the blockchain network to add this node to
+ 3. Choose node name and type (VALIDATOR/NON_VALIDATOR for permissioned networks)
+ 4. Configure deployment settings
+ 5. Click **Confirm**
+
+
+
+
+ First ensure you're authenticated:
+ ```bash
+ settlemint login
+ ```
+
+ Create a blockchain node:
+ ```bash
+ settlemint platform create blockchain-node besu \
+ --blockchain-network \
+ --node-type \
+ --provider \
+ --region
+
+ # Get help
+ settlemint platform create blockchain-node --help
+ ```
+
+
+
+ ```typescript
+ import { createSettleMintClient } from '@settlemint/sdk-js';
+
+ const client = createSettleMintClient({
+ accessToken: 'your_access_token',
+ instance: 'https://console.settlemint.com'
+ });
+
+ const createNode = async () => {
+ const result = await client.blockchainNode.create({
+ applicationUniqueName: "your-application",
+ blockchainNetworkUniqueName: "your-network",
+ name: "my-node",
+ nodeType: "VALIDATOR",
+ provider: "provider",
+ region: "region"
+ });
+ console.log('Node created:', result);
+ };
+ ```
+
+
+ Get your access token from the Platform UI under User Settings → API Tokens.
+
+
+
+
+## Manage Node
+
+
+
+ Navigate to your node and click **Manage node** to see available actions:
+ - View node details and status
+ - Monitor node health
+ - Restart node operations
+
+
+
+ ```bash
+ # List nodes
+ settlemint platform list services --application
+
+ # Restart node
+ settlemint platform restart blockchain-node
+ ```
+
+
+
+ ```typescript
+ // List nodes
+ await client.blockchainNode.list("your-application");
+
+ // Get node details
+ await client.blockchainNode.read("node-unique-name");
+
+ // Restart node
+ await client.blockchainNode.restart("node-unique-name");
+ ```
+
+
+
+
+All operations require appropriate permissions in your workspace.
+
\ No newline at end of file
diff --git a/docs/using-platform/16_application-access-tokens.md b/content/docs/building-with-SettleMint/application-access-tokens.mdx
similarity index 87%
rename from docs/using-platform/16_application-access-tokens.md
rename to content/docs/building-with-SettleMint/application-access-tokens.mdx
index 9618404b..47d27213 100644
--- a/docs/using-platform/16_application-access-tokens.md
+++ b/content/docs/building-with-SettleMint/application-access-tokens.mdx
@@ -1,4 +1,13 @@
-# Application Access Tokens
+---
+title: Application Access Tokens
+description: Guide to managing application access tokens in SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
Application access tokens let you connect your SettleMint services with other apps securely. They represent your application, not individual users, and can be created by both admins and users. They can be used to connect to all or selected services of an application.
@@ -16,11 +25,9 @@ Click on the "Add an application access token" button. This opens a form where y
3. You can also update the scopes of your application access token later.
4. Click **Confirm** to create your application access token.
-:::warning Warning
-
+
Copy and save your token securely - you won't see it again. Treat it like a password and keep it secret.
-
-:::
+
## Update an application access token
@@ -49,4 +56,4 @@ You can use these application access tokens in three ways depending on what work
- As a query parameter using `https://myservice.settlemint.com/?token=TOKEN` appended to any URL.
- As the last part of the URL `https://myservice.settlemint.com/TOKEN`.
- For IPFS nodes build your uri so it becomes `https://myservice.settlemint.com/TOKEN/api/v0/...`
- - For Avalanche and Fuji build your uri so they look like `https://myservice.settlemint.com/ext/bc/C/rpc/TOKEN`
+ - For Avalanche and Fuji build your uri so they look like `https://myservice.settlemint.com/ext/bc/C/rpc/TOKEN`
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/audit-logs.mdx b/content/docs/building-with-SettleMint/audit-logs.mdx
new file mode 100644
index 00000000..e3b4b994
--- /dev/null
+++ b/content/docs/building-with-SettleMint/audit-logs.mdx
@@ -0,0 +1,70 @@
+---
+title: Audit Logs
+description: Guide to using audit logs in SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+# Audit Logs
+
+Audit logs provide a detailed record of activities in any application deployed on the SettleMint Blockchain Transformation Platform. These logs provide the following key benefits:
+
+- Compliance: Ensure adherence to regulatory requirements and industry standards.
+- Accountability: Maintain a clear record of actions and changes made by users for transparency.
+- Troubleshooting: Facilitate the identification and resolution of issues by tracking system activity.
+- Data integrity: Provide a reliable trail of data access and modifications, protecting against data tampering
+
+Audit logs can be accessed from the application menu, on the left.
+
+
+
+Four filters are available to find specific entries in the logs:
+
+- Timestamp: select a time range or a day for which you want to get the logs.
+- Service: choose the service you want to analyze.
+- User: select a user from your application to see their actions.
+- Action: filter based on a specific action (e.g. create, delete, pause,...).
+
+## Access Audit Logs
+
+
+ ### Navigate to Logs
+ Access from application menu on the left
+
+ ### Apply Filters
+ Use available filters:
+ - Timestamp: Select time range
+ - Service: Choose specific service
+ - User: Filter by user
+ - Action: Filter by action type
+
+ ### View Details
+ Examine detailed log entries
+
+
+## Log Categories
+
+
+
+
+Audit logs provide essential tracking for regulatory compliance and security monitoring.
+
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/connect-to-a-node.mdx b/content/docs/building-with-SettleMint/connect-to-a-node.mdx
new file mode 100644
index 00000000..954daf03
--- /dev/null
+++ b/content/docs/building-with-SettleMint/connect-to-a-node.mdx
@@ -0,0 +1,98 @@
+---
+title: Connect to a Node
+description: Guide to connecting to blockchain nodes in SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+For an application to interact with a blockchain (e.g. by sending transactions/data to the network, or even just by reading data), it must connect to a node.
+
+To connect to a node, you use an endpoint, which is a URL that enables an API to gain access to the node. You interact with the node by sending requests to, and receiving responses from it via an API.
+
+You can find the endpoints on the node detail page, in the Connect tab, together with node interaction tools with playgrounds for real-time tryouts (e.g. JSON-RPC, GraphQL, etc.).
+
+
+
\ No newline at end of file
diff --git a/docs/using-platform/15_dev-tools/1_SDK.md b/content/docs/building-with-SettleMint/dev-tools/SDK.md
similarity index 79%
rename from docs/using-platform/15_dev-tools/1_SDK.md
rename to content/docs/building-with-SettleMint/dev-tools/SDK.md
index 97100693..477c1473 100644
--- a/docs/using-platform/15_dev-tools/1_SDK.md
+++ b/content/docs/building-with-SettleMint/dev-tools/SDK.md
@@ -4,12 +4,10 @@ description: SDK introduction
sidebar_position: 1
---
-# SDK
-
The SettleMint SDK is a powerful toolkit designed to streamline blockchain integration into modern applications. It offers:
- **Comprehensive Integration**: A complete suite of tools for interacting with SettleMint's blockchain platform services
-- **Modular Architecture**: Specialized packages for different functionalities including interacting with platform services (Smart Contracts, [Smart Contract Portal Middleware](../7_middleware.md), [The Graph Middleware](../7_middleware.md), [IPFS](../11_storage.md), [MinIO](../11_storage.md), [Blockchain Explorer](../10_insights.md), etc.)
+- **Modular Architecture**: Specialized packages for different functionalities including interacting with platform services (Smart Contracts, [Smart Contract Portal Middleware](/building-with-settlemint/middleware), [The Graph Middleware](/building-with-settlemint/middleware), [IPFS](/building-with-settlemint/storage), [MinIO](/building-with-settlemint/storage), [Blockchain Explorer](/building-with-settlemint/insights), etc.)
- **Developer Experience**: Rich development tools, CLI capabilities, and extensive documentation
- **Enterprise Ready**: Production-grade components with support for Next.js, GraphQL, and other enterprise technologies
- **Type Safety**: Full TypeScript support across all packages with strong typing and modern development patterns
diff --git a/docs/using-platform/15_dev-tools/0_code-studio/0_code-studio.md b/content/docs/building-with-SettleMint/dev-tools/code-studio/code-studio.md
similarity index 98%
rename from docs/using-platform/15_dev-tools/0_code-studio/0_code-studio.md
rename to content/docs/building-with-SettleMint/dev-tools/code-studio/code-studio.md
index 6d6c4136..8b08c678 100644
--- a/docs/using-platform/15_dev-tools/0_code-studio/0_code-studio.md
+++ b/content/docs/building-with-SettleMint/dev-tools/code-studio/code-studio.md
@@ -4,7 +4,7 @@ description: Code Studio introduction
sidebar_position: 0
---
-# Code Studio
+
## Introduction
diff --git a/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/5_AI_plugin.md b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/AI_plugin.mdx
similarity index 99%
rename from docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/5_AI_plugin.md
rename to content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/AI_plugin.mdx
index 4df9aeb5..473a3d14 100644
--- a/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/5_AI_plugin.md
+++ b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/AI_plugin.mdx
@@ -3,7 +3,6 @@ title: Generative AI plugin
description: Generative AI plugin
---
-# Generative AI plugin
The integration of an OpenAI GPT plugin into the Smart Contract Set of the SettleMint platform brings forth significant advantages for the fast development of new smart contracts. Generative AI technology empowers developers by providing them with automated code suggestions, smart contract templates, and code completion capabilities. This accelerates the development process by reducing manual effort and improving code efficiency.
diff --git a/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/add-smart-contract-set.mdx b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/add-smart-contract-set.mdx
new file mode 100644
index 00000000..f5fb5dc2
--- /dev/null
+++ b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/add-smart-contract-set.mdx
@@ -0,0 +1,200 @@
+---
+title: Add a Smart Contract Set
+description: Add a Smart Contract Set using Platform UI, SDK CLI, or SDK JS
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+
+Smart contract sets allow you to incorporate **business logic** into your application by deploying smart contracts that run on the blockchain. You can add a smart contract set via different methods as part of your development workflow.
+
+
+You must have an existing application before you add a smart contract set.
+
+
+
+
+
+ ### Navigate to Application
+ Navigate to the **application** where you want to add the smart contract set.
+
+ ### Open Dev Tools
+ Open **Dev tools** and click on **Add a Dev tool**.
+
+ 
+
+ ### Select Code Studio
+ Select **Code Studio** as the Dev tool type.
+
+ 
+
+ ### Choose Smart Contract Set
+ Then choose **Smart Contract Set**.
+
+ 
+
+ ### Pick a Template
+ Pick a **template**; the Code Studio will load with your chosen smart contract template.
+
+ 
+
+ ### Enter Details
+ Click **Continue** to enter details such as the Dev tool name, user, and deployment plan.
+
+ 
+
+ ### Confirm
+ Confirm the resource cost and click **Confirm** to add the smart contract set.
+
+
+ You can now further configure and eventually deploy your smart contracts.
+
+
+
+ First, ensure you are authenticated:
+
+ ```bash
+ settlemint login
+ ```
+
+ You can create a smart contract set either on the platform or locally:
+
+ ### Create on Platform
+
+ Then create a smart contract set with the following command (refer to the
+ [CLI docs](/docs/using-platform/15_dev-tools/1_SDK.md) for more details):
+
+ ```bash
+ settlemint platform create smart-contract-set \
+ --application \
+ --template \
+ --deployment-plan
+ ```
+
+ For example:
+
+ ```bash
+ settlemint platform create smart-contract-set my-scset \
+ --application my-app \
+ --template default \
+ --deployment-plan starter
+ ```
+
+ ### Working with Smart Contract Sets Locally
+
+ You can also work with smart contract sets in your local development environment. This is useful for development and testing before deploying to the platform.
+
+ To create a smart contract set locally:
+
+ ```bash
+ # Create a new smart contract set
+ settlemint scs create
+
+ # You'll see the SettleMint ASCII art and then be prompted:
+ ✔ What is the name of your new SettleMint project? my awesome project
+
+ # Choose from available templates:
+ ❯ ERC20 token
+ Empty typescript
+ Empty typescript with PDC
+ ERC1155 token
+ ERC20 token with crowdsale mechanism
+ ERC20 token with MetaTx
+ ERC721
+ # ... and more
+ ```
+
+ Once created, you can use these commands to work with your local smart contract set:
+
+ ```bash
+ settlemint scs -h # Show all available commands
+
+ # Main commands:
+ settlemint scs create # Create a new smart contract set
+ settlemint scs foundry # Foundry commands for building and testing
+ settlemint scs hardhat # Hardhat commands for building, testing and deploying
+ settlemint scs subgraph # Commands for managing TheGraph subgraphs
+ ```
+
+ The scaffolded project includes everything you need to start developing smart contracts:
+ - Contract templates
+ - Testing framework
+ - Deployment scripts
+ - Development tools configuration
+
+ ### Managing Platform Smart Contract Sets
+
+ Manage your platform smart contract sets with:
+
+ ```bash
+ # List smart contract sets
+ settlemint platform list smart-contract-sets --application
+
+ # Read smart contract set details
+ settlemint platform read smart-contract-set
+
+ # Delete a smart contract set
+ settlemint platform delete smart-contract-set
+ ```
+
+
+
+ You can also add a smart contract set programmatically using the JS SDK. The API follows the same pattern as for applications and blockchain networks:
+
+ ```typescript
+ import { createSettleMintClient } from '@settlemint/sdk-js';
+
+ const client = createSettleMintClient({
+ accessToken: process.env.SETTLEMENT_ACCESS_TOKEN!,
+ instance: 'https://console.settlemint.com'
+ });
+
+ // Create a Smart Contract Set
+ const createSmartContractSet = async () => {
+ const result = await client.smartContractSet.create({
+ applicationUniqueName: "your-app", // Your application unique name
+ name: "my-smart-contract-set", // The smart contract set name
+ template: "default" // Template to use (choose from available templates)
+ });
+ console.log('Smart Contract Set created:', result);
+ };
+
+ // List Smart Contract Sets
+ const listSmartContractSets = async () => {
+ const sets = await client.smartContractSet.list("your-app");
+ console.log('Smart Contract Sets:', sets);
+ };
+
+ // Read Smart Contract Set details
+ const readSmartContractSet = async () => {
+ const details = await client.smartContractSet.read("smart-contract-set-unique-name");
+ console.log('Smart Contract Set details:', details);
+ };
+
+ // Delete a Smart Contract Set
+ const deleteSmartContractSet = async () => {
+ await client.smartContractSet.delete("smart-contract-set-unique-name");
+ console.log('Smart Contract Set deleted');
+ };
+ ```
+
+
+ Get your access token from the Platform UI under **User Settings → API Tokens**.
+
+
+
+
+
+All operations require that you have the necessary permissions in your workspace.
+
+
+For protocol-specific information, please refer to the relevant section in our blockchain guides:
+
+ - [Hyperledger Besu Smart Contracts IDE](/blockchain-guides/Hyperledger-Besu/6_enterprise-ethereum-integration-tools)
+ - [Ethereum Smart Contracts IDE](/blockchain-guides/0_Ethereum/5_ethereum-integration-tools)
+ - [Avalanche Smart Contracts IDE](/blockchain-guides/Avalanche/5_avalanche-integration-tools)
+ - [Polygon Smart Contracts IDE](/blockchain-guides/Polygon/5_polygon-integration-tools)
+ - [Hyperledger Fabric Smart Contracts IDE](/blockchain-guides/Hyperledger-Fabric/6_hyperledger-fabric-integration-tools)
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/deploying-a-contract.mdx b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/deploying-a-contract.mdx
new file mode 100644
index 00000000..9c891202
--- /dev/null
+++ b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/deploying-a-contract.mdx
@@ -0,0 +1,151 @@
+---
+title: Deploying a smart contract
+description: Deploying a smart contract using Platform UI or SDK CLI
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+
+
+You can deploy your contracts to a network in the platform or a local development network. This guide covers both Platform UI and SDK CLI approaches.
+
+
+
+ Follow these steps to deploy your smart contract through the Platform UI:
+
+ 1. Open the IDE by clicking on your smart contract set.
+
+ 
+
+ 2. Click on the **Task Manager** button.
+
+ 
+
+ 3. First compile your contract by running either:
+ - **Hardhat - Build** task
+ 
+ - **Foundry - Build** task
+ 
+
+ 4. To deploy to a platform network:
+ - Run the **SettleMint - Login** task
+ 
+ - Run the **Hardhat - Deploy to platform network** task
+ 
+ - Select your node and private key when prompted
+ 
+
+ 5. To deploy locally:
+ - Run the **Hardhat - Start local network** task
+ 
+ - Run the **Hardhat - Deploy to local network** task
+ 
+
+
+
+ ## Prerequisites
+
+ First, authenticate yourself and connect to your application:
+
+ ```bash
+ # Login to the platform
+ settlemint login
+
+ # Connect to your application
+ settlemint connect
+ ```
+
+ ## Using Hardhat
+
+ Hardhat provides a complete development environment. Here's how to use it:
+
+ ```bash
+ # Step 1: Build your smart contracts
+ settlemint scs hardhat build
+
+ # Step 2: Choose your deployment target
+ # For local development:
+ settlemint scs hardhat network # Start a local network
+ settlemint scs hardhat deploy local # Deploy to local network
+
+ # For production:
+ settlemint scs hardhat deploy remote # Deploy to platform network
+
+ # Development tools:
+ settlemint scs hardhat test # Run your test suite
+ settlemint scs hardhat script # Execute deployment scripts
+ ```
+
+ ## Using Foundry
+
+ Foundry offers fast compilation and testing. Here's how to use it:
+
+ ```bash
+ # Step 1: Build your smart contracts
+ settlemint scs foundry build
+
+ # Step 2: Test and format
+ settlemint scs foundry test # Run your test suite
+ settlemint scs foundry format # Format your contract code
+
+ # Step 3: Local development
+ settlemint scs foundry network # Start a local network for testing
+ ```
+
+ ## Working with Subgraphs
+
+ If you need to index your smart contract data:
+
+ ```bash
+ # Step 1: Generate TypeScript types from your schema
+ settlemint scs subgraph codegen
+
+ # Step 2: Build the subgraph
+ settlemint scs subgraph build
+
+ # Step 3: Deploy to the Graph node
+ settlemint scs subgraph deploy [subgraph-name]
+ ```
+
+
+ Before deployment, ensure:
+ - You're authenticated (`settlemint login`)
+ - You're connected to your application (`settlemint connect`)
+ - Your smart contracts are compiled
+ - For remote deployment: you have a running node and sufficient funds
+
+
+ ### Environment Configuration
+
+ When using `settlemint connect`, you'll be prompted to configure:
+ - Workspace selection
+ - Application selection
+ - Blockchain node selection
+ - The Graph instance selection
+ - HD Private Key selection
+ - Application access token creation
+
+ This configuration is stored locally and used for subsequent commands.
+
+
+
+## Project Structure
+
+The typical folder structure of a SettleMint smart contract set includes:
+
+- **`contracts/`**: Contains the Solidity smart contracts
+- **`test/`**: Contains both Hardhat (TypeScript) and Foundry (Solidity) tests
+- **`script/`**: Deployment and interaction scripts
+- **`lib/`**: Optional Solidity libraries
+- **`ignitions/`**: Hardhat deployment configurations
+- **`out/`**: Compilation artifacts
+- **`foundry.toml`**: Foundry configuration
+- **`hardhat.config`**: Hardhat configuration
+- **`subgraphs/`**: The Graph indexing configurations
+
+## Customize smart contracts
+
+You can customize your smart contracts using the built-in IDE. The smart contract sets include a Generative AI plugin to assist with development. [Learn more about the AI plugin here.](./AI_plugin.md)
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/meta.json b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/meta.json
new file mode 100644
index 00000000..b2ae153c
--- /dev/null
+++ b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/meta.json
@@ -0,0 +1,10 @@
+{
+ "label": "Smart Contract Sets",
+ "pages": [
+ "smart-contract-sets",
+ "smart-contract-templates",
+ "add-smart-contract-set",
+ "deploying-a-contract",
+ "AI_plugin"
+ ]
+}
diff --git a/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/smart-contract-sets.md
similarity index 97%
rename from docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md
rename to content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/smart-contract-sets.md
index 2dde9890..b4c4d343 100644
--- a/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md
+++ b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/smart-contract-sets.md
@@ -1,12 +1,7 @@
---
-title: Smart Contract Sets
-description: Smart Contract Sets
+title: Introduction to Smart Contract Sets
---
-# Smart Contract Sets
-
-## Introduction
-
A Smart Contract Set is a [code studio](../../0_code-studio/0_code-studio.md) that comes with a [smart contract set template](2_smart-contract-templates.md) for your chosen use case. It is a powerful tool that accelerates the development of your smart contracts.
You can choose from a wide variety of templates in our open-source [template library](2_smart-contract-templates.md#template-library). Each template includes pre-built smart contracts which you can then customize to meet your specific needs.
diff --git a/docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/2_smart-contract-templates.md b/content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/smart-contract-templates.md
similarity index 100%
rename from docs/using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/2_smart-contract-templates.md
rename to content/docs/building-with-SettleMint/dev-tools/code-studio/smart-contract-sets/smart-contract-templates.md
diff --git a/content/docs/building-with-SettleMint/dev-tools/dev-tools.md b/content/docs/building-with-SettleMint/dev-tools/dev-tools.md
new file mode 100644
index 00000000..2dfac6a6
--- /dev/null
+++ b/content/docs/building-with-SettleMint/dev-tools/dev-tools.md
@@ -0,0 +1,21 @@
+---
+title: Dev Tools
+description: Dev tools introduction
+---
+
+
+## Introduction
+
+To make development easier, we offer Development tools. These tools are designed to help you build your decentralized application (dApp) faster, whether it is smart contract, frontend or backend development.
+
+We offer the following tools:
+
+## Code studio
+
+The Code studio is an Integrated Development Environment (IDE). Currently, we offer the following types of Code studio:
+
+- [Smart contract sets](/building-with-settlemint/dev-tools/code-studio/smart-contract-sets/add-smart-contract-set) - This is an IDE you can launch with a pre-built smart contract template. You can choose a template from our open-source [template library](/building-with-settlemint/dev-tools/code-studio/smart-contract-sets/smart-contract-templates).
+
+## SDK
+
+The [SDK](../dev-tools/SDK) is a powerful toolkit designed to streamline blockchain integration into modern applications.
diff --git a/docs/using-platform/15_dev-tools/_category_.json b/content/docs/building-with-SettleMint/dev-tools/meta.json
similarity index 100%
rename from docs/using-platform/15_dev-tools/_category_.json
rename to content/docs/building-with-SettleMint/dev-tools/meta.json
diff --git a/content/docs/building-with-SettleMint/hasura-backend-as-a-service.mdx b/content/docs/building-with-SettleMint/hasura-backend-as-a-service.mdx
new file mode 100644
index 00000000..ea9de0e8
--- /dev/null
+++ b/content/docs/building-with-SettleMint/hasura-backend-as-a-service.mdx
@@ -0,0 +1,359 @@
+---
+title: Hasura Backend-as-a-Service
+description: Guide to using Hasura in SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+# Hasura - Backend-as-a-service
+
+Many dApps need more than just decentralized tools to build an end-to-end solution. The SettleMint Hasura SDK provides a seamless way to interact with Hasura GraphQL APIs for managing application data.
+
+## Add Hasura
+
+
+
+
+ ### Navigate to Application
+ Navigate to the **application** where you want to add Hasura.
+
+ ### Access Integration Tools
+ Click **Integration tools** in the left navigation, and then click **Add an integration tool**. This opens a form.
+
+ ### Configure Hasura
+ 1. Select **Hasura**, and click **Continue**
+ 2. Choose a **name** for your backend-as-a-service
+ 3. Choose a deployment plan (provider, region, resource pack)
+ 4. Click **Confirm** to add it
+
+
+
+
+ First ensure you're authenticated:
+ ```bash
+ settlemint login
+ ```
+
+ Create Hasura instance:
+ ```bash
+ settlemint platform create integration-tool hasura
+
+ # Get information about the command and all available options
+ settlemint platform create integration-tool hasura --help
+ ```
+
+
+
+ For a full example of how to create a blockchain explorer using the SDK, see the [Hasura SDK API Reference](https://www.npmjs.com/package/@settlemint/sdk-hasura#api-reference).
+
+
+ The SDK enables you to easily query and mutate data stored in your SettleMint-powered PostgreSQL databases through a type-safe GraphQL interface. For detailed API reference, check out the [Hasura SDK documentation](https://github.com/settlemint/sdk/tree/main/sdk/hasura).
+
+
+
+
+## Some Basic Features
+
+- Under the data subtab you can create an arbitrary number of **schema's**. A schema is a collection of tables.
+- In a schema you can create **tables**, choose which columns you want and define relations and indexes.
+- You can add, edit and delete **data** in these columns as well.
+ [Learn more here](https://hasura.io/docs/latest/graphql/core/databases/postgres/schema/tables.html)
+
+Any table you make is instantly visible in the **API subtab**. Note that by using the **REST and Derive Action buttons** you can convert queries into REST endpoints if that fits your application better. Using the **Code Exporter button** you can get the actual code snippets you can use in your application or the integration studio.
+
+A bit more advanced are **actions**. Actions are custom queries or mutations that are resolved via HTTP handlers. Actions can be used to carry out complex data validations, data enrichment from external sources or execute just about any custom business logic. Actions can be kickstarted by using the **Derive Action button** in the **API subtab**.
+[Learn more here.](https://hasura.io/docs/latest/graphql/core/actions/index.html)
+
+If you need to execute tasks based on changes to your database you can leverage **Events**. An **Event Trigger** atomically captures events (insert, update, delete) on a specified table and then reliably calls a HTTP webhook to run some custom business logic.
+[Learn more here.](https://hasura.io/docs/latest/graphql/core/event-triggers/index.html)
+
+**Cron Triggers** can be used to reliably trigger HTTP endpoints to run some custom business logic periodically based on a cron schedule.
+
+**One-off Scheduled Events** are individual events that can be scheduled to reliably trigger a HTTP webhook to run some custom business logic at a particular timestamp.
+
+**Access to your database** can be handled all the way to the row level by using the authentication and authorisation options available in Hasura.
+[Learn more here.](https://hasura.io/docs/latest/graphql/core/auth/index.html)
+
+This is of course on top of the [application access tokens](/docs/building-with-settlemint/application-access-tokens) and [personal access tokens](/docs/building-with-settlemint/personal-access-tokens) in the platform you can use to close off access to the entire API.
+
+## Backups
+
+You should take a backup of the following components:
+
+1. Hasura Database
+2. Hasura Metadata
+
+### Steps for taking a backup of Hasura Database
+
+1. Install Hasura CLI (https://hasura.io/docs/latest/hasura-cli/install-hasura-cli/)
+2. Run hasura init command to initiate a new Hasura project in the working directory.
+3. Edit config.yaml file to configure remote Hasura instance. We need to generate an API Key in BPaaS and pass it with the endpoint.
+
+config.yaml example:
+
+```
+version: 3
+
+endpoint:
+admin_secret:
+
+metadata_directory: metadata
+actions:
+ kind: synchronous
+ handler_webhook_baseurl: http://localhost:3000
+```
+
+4. Run hasura console command. (this command will sync everything to your local hasura instance.)
+5. Run this curl command to generate DB export:
+
+Curl Format
+
+```
+curl -d '{"opts": [ "-O", "-x", "--schema=public", "--inserts"], "clean_output": true, "source": "default"}' -H "x-hasura-admin-secret: " /v1alpha1/pg_dump > db.sql
+```
+
+Example Curl
+
+```
+curl -d '{"opts": [ "-O", "-x", "--schema=public", "--inserts"], "clean_output": true, "source": "default"}' -H "x-hasura-admin-secret:78b0e4618125322de0eb" https://fuchsiacapybara-7f70.gke-europe.settlemint.com/bpaas-1d79Acd6A2f112EA450F1C07a372a7D582E6121F/v1alpha1/pg_dump > db.sql
+```
+
+### Importing data into a new instance
+
+Please copy the content of the exported db.sql file, paste it and execute as a SQL statement.
+
+
+
+> More info on this and other commands can be found in the [Hasura docs](https://hasura.io/docs/latest/api-reference/pgdump/), please note to always add the x-auth-token header with an api key for your Hasura instance.
+
+### Steps for taking a backup of Hasura Metadata
+
+Hasura Metadata Export is a collection of yaml files which captures all the Metadata required by the GraphQL Engine. This includes info about tables that are tracked, permission rules, relationships, and event triggers that are defined on those tables.
+
+If you have already initialized your project via the Hasura CLI you should see the Metadata directory structure in your project directory.
+
+To export your entire Metadata using the Hasura CLI execute the following command in your terminal:
+
+```
+#in hasura CLI
+hasura metadata export
+```
+
+This will export the Metadata as YAML files in the /metadata directory
+
+### Steps for importing or applying Hasura Metadata
+
+You can apply Metadata from one Hasura Server instance to another. You can also apply an older or modified version of an instance's Metadata onto itself to replace the existing Metadata. Applying or importing completely replaces the Metadata on that instance, i.e. you lose any Metadata that existed before applying.
+
+```
+#in hasura CLI
+hasura metadata apply
+```
+
+### Reload Hasura Metadata
+
+In some cases, the Metadata can be out of sync with the database schema. For example, when a new column has been added to a table via an external tool.
+
+```
+#in hasura CLI
+hasura metadata reload
+```
+
+For more on Hasura Metadata, refer: https://hasura.io/docs/latest/migrations-metadata-seeds/manage-metadata/
+For more on Hasura Migrations, refer: https://hasura.io/docs/latest/migrations-metadata-seeds/manage-migrations/
+
+## Usage Examples
+
+You can interact with your Hasura database in two ways: through the GraphQL API (recommended) or directly via PostgreSQL connection.
+
+
+
+ ```javascript
+ import fetch from 'node-fetch';
+
+ // Configure your authentication details
+ const HASURA_ENDPOINT = "YOUR_HASURA_ENDPOINT";
+ const HASURA_ADMIN_SECRET = "YOUR_HASURA_ADMIN_SECRET"; // Found in the "Connect" tab of Hasura console
+ const APP_ACCESS_TOKEN = "YOUR_APP_ACCESS_TOKEN"; // Generated following the Application Access Tokens guide
+
+ // Reusable function to make GraphQL requests
+ async function fetchGraphQL(operationsDoc, operationName, variables) {
+ try {
+ const result = await fetch(
+ HASURA_ENDPOINT,
+ {
+ method: "POST",
+ headers: {
+ 'Content-Type': 'application/json',
+ 'x-hasura-admin-secret': HASURA_ADMIN_SECRET,
+ 'x-auth-token': APP_ACCESS_TOKEN
+ },
+ body: JSON.stringify({
+ query: operationsDoc,
+ variables: variables,
+ operationName: operationName
+ })
+ }
+ );
+
+ if (!result.ok) {
+ const text = await result.text();
+ throw new Error(`HTTP error! status: ${result.status}, body: ${text}`);
+ }
+
+ return await result.json();
+ } catch (error) {
+ console.error('Request failed:', error);
+ throw error;
+ }
+ }
+
+ // Query to fetch verification records
+ const operationsDoc = `
+ query MyQuery {
+ verification {
+ id
+ }
+ }
+ `;
+
+ // Mutation to insert a new verification record
+ const insertOperationDoc = `
+ mutation InsertVerification($name: String!, $status: String!) {
+ insert_verification_one(object: {name: $name, status: $status}) {
+ id
+ name
+ status
+ }
+ }
+ `;
+
+ // Function to fetch verification records
+ async function main() {
+ try {
+ const { errors, data } = await fetchGraphQL(operationsDoc, "MyQuery", {});
+
+ if (errors) {
+ console.error('GraphQL Errors:', errors);
+ return;
+ }
+
+ console.log('Data:', data);
+ } catch (error) {
+ console.error('Failed:', error);
+ }
+ }
+
+ // Function to insert a new verification record
+ async function insertWithGraphQL() {
+ try {
+ const { errors, data } = await fetchGraphQL(
+ insertOperationDoc,
+ "InsertVerification",
+ {
+ name: "Test User",
+ status: "pending"
+ }
+ );
+
+ if (errors) {
+ console.error('GraphQL Errors:', errors);
+ return;
+ }
+
+ console.log('Inserted Data:', data);
+ } catch (error) {
+ console.error('Failed:', error);
+ }
+ }
+
+ // Execute both query and mutation
+ main();
+ insertWithGraphQL();
+ ```
+
+
+ ```javascript
+ import pkg from 'pg';
+ const { Pool } = pkg;
+
+ // Initialize PostgreSQL connection (get connection string from Hasura console -> "Connect" tab)
+ const pool = new Pool({
+ connectionString: 'YOUR_POSTGRES_CONNECTION_STRING'
+ });
+
+ // Simple query to read all records from verification table
+ const readData = async () => {
+ const query = 'SELECT * FROM verification';
+ const result = await pool.query(query);
+ console.log('Current Data:', result.rows);
+ };
+
+ // Insert a new verification record with sample data
+ const insertData = async () => {
+ const query = `
+ INSERT INTO verification (id, identifier, value, created_at, expires_at)
+ VALUES ($1, $2, $3, $4, $5)
+ RETURNING *`;
+
+ // Sample values - modify according to your needs
+ const values = [
+ 'test-id-123',
+ 'test-identifier',
+ 'test-value',
+ new Date(),
+ new Date(Date.now() + 24 * 60 * 60 * 1000) // Sets expiry to 24h from now
+ ];
+
+ const result = await pool.query(query, values);
+ console.log('Inserted:', result.rows[0]);
+ };
+
+ // Update an existing record by ID
+ const updateData = async () => {
+ const query = `
+ UPDATE verification
+ SET value = $1, updated_at = $2
+ WHERE id = $3
+ RETURNING *`;
+
+ const values = ['updated-value', new Date(), 'test-id-123'];
+ const result = await pool.query(query, values);
+ console.log('Updated:', result.rows[0]);
+ };
+
+ // Execute all operations in sequence
+ async function main() {
+ try {
+ await readData();
+ await insertData();
+ await updateData();
+ await readData();
+ } finally {
+ await pool.end(); // Close database connection
+ }
+ }
+
+ main();
+ ```
+
+
+
+### Authentication Setup
+
+To run these examples, you'll need the following:
+
+For GraphQL API:
+1. **Hasura Admin Secret**: Found in the "Connect" tab of Hasura console
+2. **Application Access Token**: Generate this by following our [Application Access Tokens guide](/building-with-settlemint/application-access-tokens)
+
+For PostgreSQL:
+1. **PostgreSQL Connection String**: Found in the "Connect" tab of Hasura console under "Database URL"
+
+
+
+Always keep your credentials secure and never expose them in client-side code. Use environment variables or a secure configuration management system in production environments.
+
\ No newline at end of file
diff --git a/docs/using-platform/20_health-monitoring-tools.md b/content/docs/building-with-SettleMint/health-monitoring-tools.mdx
similarity index 93%
rename from docs/using-platform/20_health-monitoring-tools.md
rename to content/docs/building-with-SettleMint/health-monitoring-tools.mdx
index 93f16e33..05144737 100644
--- a/docs/using-platform/20_health-monitoring-tools.md
+++ b/content/docs/building-with-SettleMint/health-monitoring-tools.mdx
@@ -1,16 +1,18 @@
-# Monitoring tools
+---
+title: Monitoring tools
+---
For all your running services in a blockchain application, a set of monitoring tools is available to gain insights into the health and performance of those services.
## Service statuses
-The service status indicates whether your service is running well, facing issues, or needs your attention. [View the list of statuses](../reference/14_statuses.md).
+The service status indicates whether your service is running well, facing issues, or needs your attention. [View the list of statuses](../reference/statuses.md).
Go to the **service's overview page** or a **service detail page** to view the status of a particular service (e.g. network, node, smart contract set, etc.).
## Resource usage status & metrics
-You can view the resources (memory, vCPU, and disk space) allocated to your services at any time, and follow up on the current usage. When the current resource usage is about to reach its limit, you will see a warning with the recommendation to scale your resource pack to keep the service running. [More info on resource usage](19_resource-usage.md)
+You can view the resources (memory, vCPU, and disk space) allocated to your services at any time, and follow up on the current usage. When the current resource usage is about to reach its limit, you will see a warning with the recommendation to scale your resource pack to keep the service running. [More info on resource usage](resource-usage.md)
Go to the **Resource tab** of a **service detail page** to view the resource usage status and metrics.
diff --git a/content/docs/building-with-SettleMint/insights.mdx b/content/docs/building-with-SettleMint/insights.mdx
new file mode 100644
index 00000000..e1418caa
--- /dev/null
+++ b/content/docs/building-with-SettleMint/insights.mdx
@@ -0,0 +1,145 @@
+---
+title: Insights
+description: Guide to using blockchain explorers in SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+
+To view and inspect transactions in your blockchain application, SettleMint provides insightful dashboards via integrated blockchain explorers:
+- **Blockscout** - For EVM compatible networks (Besu, Polygon Edge)
+- **Hyperledger Explorer** - For Fabric networks
+- **Otterscan** - Alternative EVM explorer with advanced features
+
+## Add Blockchain Explorer
+
+
+
+ Navigate to the **application** where you want to add a blockchain explorer. Click **Insights** in the left navigation, and then click **Add Insights**. This opens a form.
+
+ Follow these steps:
+ 1. Select **Blockchain Explorer**
+ 2. Select the target **blockchain node** and click **Continue**
+ 3. Enter a **name** for your explorer instance
+ 4. Configure deployment settings (provider, region, size)
+ 5. Click **Confirm** to add the explorer
+
+
+
+ First ensure you're authenticated:
+ ```bash
+ settlemint login
+ ```
+
+ Create blockchain explorer:
+ ```bash
+ # Create blockchain explorer
+ settlemint platform create insights blockscout
+
+ # Get information about the command and all available options
+ settlemint platform create insights blockscout --help
+ ```
+
+
+
+ For a full example of how to create a blockchain explorer using the SDK, see the [Blockscout SDK API Reference](https://www.npmjs.com/package/@settlemint/sdk-blockscout#api-reference).
+
+
+
+## Manage Explorer
+
+
+
+ Navigate to your explorer and click **Manage insights** to:
+ - View explorer details and status
+ - Monitor health status
+ - Access the explorer interface
+ - Update configurations
+
+ Current status values:
+ - `DEPLOYING` - Initial deployment in progress
+ - `COMPLETED` - Running normally
+ - `FAILED` - Deployment or operation failed
+ - `PAUSED` - Explorer is paused
+ - `RESTARTING` - Explorer is restarting
+
+ Health status indicators:
+ - `HEALTHY` - Operating normally
+ - `HAS_INDEXING_BACKLOG` - Processing backlog
+ - `NOT_HA` - High availability issue
+ - `NO_PEERS` - Network connectivity issue
+
+
+
+ ```bash
+ # List explorers
+ settlemint platform list services --type insights
+
+ # Restart explorer
+ settlemint platform restart insights blockscout
+ ```
+
+
+
+ ```typescript
+ // List explorers
+ const listExplorers = async () => {
+ const explorers = await client.insights.list("your-app");
+ console.log('Explorers:', explorers);
+ };
+
+ // Get explorer details
+ const getExplorer = async () => {
+ const explorer = await client.insights.read("explorer-unique-name");
+ console.log('Explorer details:', explorer);
+ };
+
+ // Restart explorer
+ const restartExplorer = async () => {
+ await client.insights.restart("explorer-unique-name");
+ };
+ ```
+
+
+
+## Using the Explorer
+
+When the blockchain explorer is deployed and running successfully, you can:
+
+1. Access the web interface through the **Interface tab**
+2. View in fullscreen mode for better visibility
+3. Inspect blocks, transactions, addresses and balances
+
+Key features:
+- View latest blocks and transactions
+- Search by block number, transaction hash, or address
+- Inspect transaction details and status
+- View account balances and token transfers
+- Monitor smart contract interactions
+
+
+
+### Transaction Details
+Click a Transaction hash to see detailed information including:
+- Gas usage and fees
+- Input data and events
+- Status and confirmations
+- Related addresses
+
+
+
+### Address Details
+Click an Account address to view:
+- Balance and token holdings
+- Transaction history
+- Contract interactions
+- Analytics and graphs
+
+
+
+
+All operations require appropriate permissions in your workspace.
+
\ No newline at end of file
diff --git a/docs/using-platform/8_integration-studio.md b/content/docs/building-with-SettleMint/integration-studio.mdx
similarity index 73%
rename from docs/using-platform/8_integration-studio.md
rename to content/docs/building-with-SettleMint/integration-studio.mdx
index 16422156..5d35e74f 100644
--- a/docs/using-platform/8_integration-studio.md
+++ b/content/docs/building-with-SettleMint/integration-studio.mdx
@@ -1,4 +1,11 @@
-# Integration studio
+---
+title: Integration Studio
+description: Low-code development environment for implementing business logic
+---
+
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+
The SettleMint Integration Studio is a low-code development environment which enables you to implement business logic for your application simply by dragging and dropping.
@@ -8,10 +15,10 @@ Under the hood, the Integration Studio is powered by a **Node-RED** instance ded
The business logic for your application can be represented as a sequence of actions. Such a sequence of actions is represented by a **flow** in the Integration Studio. To bring your application to life, you need to create flows. **Nodes** are the smallest building blocks of a flow.
-**Nodes**
+### Nodes
The nodes are the smallest building blocks. They can have at most one input port, and multiple output ports. They are triggered by some event (eg. an http request). When triggered, they perform some user defined actions, and generate an output. This output can be passed to the input of another node, to trigger another action.
-**Flows**
+### Flows
A flow is represented as a tab within the editor workspace and is the main way to organize nodes. You can have more than one set of connected nodes in a flow tab.
The Integration Studio allows you to create flows in the fastest way possible. You can drag and drop nodes in workspace and easily connect them by clicking from the output port of one node to input port of another to create complex flows. This allows you to visualise the orchestration and interaction between your components (your nodes). Since you can clearly visualize the sequence of actions your application is going to perform, it is not only more interpretable but also much easier to debug in the future.
@@ -24,46 +31,54 @@ The use cases include interacting with other web services, applications, and eve
Navigate to the **application** where you want to add the integration studio. Click **Integration tools** in the left navigation, and then click **Add an integration tool**. This opens a form.
-Follow these steps to add the Integration Studio:
+
+### Select Integration Studio
+Select **Integration Studio** and click **Continue** to proceed.
+
+### Choose a Name
+Choose a **name** for your Integration Studio. Choose one that will be easily recognizable in your dashboards (eg. Crowdsale Flow)
-1. Select **Integration Studio** and click **Continue** to proceed.
-2. Choose a **name** for your Integration Studio. Choose one that will be easily recognizable in your dashboards (eg. Crowdsale Flow)
-3. Choose a deployment plan. Select the type, cloud provider, region and resource pack. [More about deployment plans](launch-platform/managed-cloud-deployment/3_deployment-plans.md)
-4. You can see the **resource cost** for the Integration Studio displayed at the bottom of the form. Click **Confirm** to add the Integration Studio.
+### Select Deployment Plan
+Choose a deployment plan. Select the type, cloud provider, region and resource pack. [More about deployment plans](/launching-the-platform/managed-cloud-deployment/deployment-plans)
+
+### Confirm Setup
+You can see the **resource cost** for the Integration Studio displayed at the bottom of the form. Click **Confirm** to add the Integration Studio.
+
## Using the Integration Studio
When the Integration Studio is deployed, click on it from the list, and go to the **Interface** tab to start building your flows. You can also view the interface in full screen mode.
-Once the Integration Studio interface is loaded, you will see 2 flow tabs: “Flow 1” and “Example”. Head over to the **“Example” tab** to see some full blown example flows to get you started.
+Once the Integration Studio interface is loaded, you will see 2 flow tabs: "Flow 1" and "Example". Head over to the **"Example" tab** to see some full blown example flows to get you started.
Double-click any of the nodes to see the code they are running. This code is written in JavaScript, and it represents the actions the particular node performs.
-
+
### Setting up a flow
Before we show you how to set up your own flow, we recommend reading this [article by Node-RED on creating your first flow](https://nodered.org/docs/tutorials/first-flow).
-Now let's set up an example flow together and build an endpoint to get the latest block number of the Polygon Mumbai Testnet using the Integration Studio. If you do not have a Polygon Mumbai Node, you can easily [deploy a node](4_add-a-node-to-a-network.md) first.
-
-#### Step 1
+Now let's set up an example flow together and build an endpoint to get the latest block number of the Polygon Mumbai Testnet using the Integration Studio. If you do not have a Polygon Mumbai Node, you can easily [deploy a node](/building-with-settlemint/add-a-node-to-a-network) first.
+
+### Add HTTP Input Node
Drag and drop a **Http In node** to listen for requests. If you double-click the node, you will see you have a couple parameters to set:
-`METHOD` - set it to `GET`. This is HTTP Method that your node is configured to listen to.
-`URL` - set it to `/getLatestBlock`. This the endpoint that your node will listen to.
+- `METHOD` - set it to `GET`. This is HTTP Method that your node is configured to listen to.
+- `URL` - set it to `/getLatestBlock`. This the endpoint that your node will listen to.
-#### Step 2
-
-Drag and drop a **function node**. This is the node that will query the blockchain for the block number. Double-click the node to configure it. You can use the snippet below to set it up.
+### Add Function Node
+Drag and drop a **function node**. This is the node that will query the blockchain for the block number. Double-click the node to configure it.
+
`rpcEndpoint` is the RPC url of your Polygon Mumbai Node.
Under the **Connect tab** of your Polygon Mumbai node, you will find its RPC url.
-`accessToken` - You will need an access token for your application. If you do not have one, you can easily [create an access token](16_application-access-tokens.md) first.
+`accessToken` - You will need an access token for your application. If you do not have one, you can easily [create an access token](/building-with-settlemint/application-access-tokens) first.
+
-Enter the following snippet in the Message tab.
+Enter the following snippet in the Message tab:
```javascript
///////////////////////////////////////////////////////////
@@ -90,9 +105,8 @@ return msg;
///////////////////////////////////////////////////////////
```
-##### Note:
-
-ethers and some ipfs libraries are already available by default and can be used like this:
+
+**Note:** ethers and some ipfs libraries are already available by default and can be used like this:
```javascript
const ethers = global.get('ethers');
@@ -110,29 +124,29 @@ const data = uint8arrays.toString(
);
```
-if the library you need isn't available by default you will need to import it in the setup tab.
-example for ethers providers:
-
+If the library you need isn't available by default you will need to import it in the setup tab.
+Example for ethers providers:
+
+
-#### Step 3
+### Add HTTP Response Node
+Drag and drop a **Http Response node** to reply to the request. Double-click and configure:
-Drag and drop a **Http Response node** to reply to the request. Same as above, double-click and configure.
-
-`Status code` - This is the HTTP status code that the node will respond with after completion of the request. We set it to 200 (`OK`)
+- `Status code` - This is the HTTP status code that the node will respond with after completion of the request. We set it to 200 (`OK`)
Click on the `Deploy` button in the top right corner to save and deploy your changes.
-#### Step 4
-
+### Test Your Endpoint
Now, go back to the **Connect tab** of your Integration Studio to see your **API endpoint**, which looks something like `https://YOUR_INTEGRATION_STUDIO_API_URL.settlemint.com`.
You can now send requests to `https://YOUR_INTEGRATION_STUDIO_API_URL.settlemint.com/getLatestBlock` to get the latest block number. Do not forget to create an API Key for your Integration studio and pass it as the `x-auth-token` authorization header with your request.
-example terminal command:
+Example terminal command:
```bash
curl -H "x-auth-token: bpaas-YOUR_INTEGRATION_KEY_HERE" https://YOUR_INTEGRATION_STUDIO_API_URL.settlemint.com/getLatestBlock
```
+
The API is live and protected by the authorization header, and you can seamlessly integrate with your application.
diff --git a/content/docs/building-with-SettleMint/invite-network-participants.mdx b/content/docs/building-with-SettleMint/invite-network-participants.mdx
new file mode 100644
index 00000000..e2df9e9e
--- /dev/null
+++ b/content/docs/building-with-SettleMint/invite-network-participants.mdx
@@ -0,0 +1,72 @@
+---
+title: Invite Network Participants
+description: Guide to inviting participants to your blockchain network
+---
+
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+
+
+Permissioned networks, although started by a single organization, allow multiple organizations with a shared business goal to come together and form the consortium. The different organizations transacting with each other in a permissioned network are called **network participants**. The organization who created the network, i.e. the owner, can invite network participants and set specific permissions for the organizations joining the network.
+
+Depending on how you organize your work, you can grow the network with new participants in two ways:
+
+- **Invite an organization** to join the SettleMint platform so they can join the network (e.g. if the organization itself is responsible for adding and managing their nodes)
+- **Add an organization** to the network yourself (e.g. if the organization is your client and you are managing the project for them)
+
+## Invite an Organization
+
+Navigate to the relevant **application**, and click **Blockchain network** in the left navigation.
+
+Open the **Participants** tab and click **Invite organization**. This opens a form.
+
+
+### Enter Contact Information
+Enter the **email address** of the contact person from the organization you want to invite.
+
+### Set Permissions
+Set the **permissions** for this new network participant. You can change these permissions at any time.
+
+### Add Optional Message
+Optionally, you can add a **message** to be included in the invitation email.
+
+### Confirm Invitation
+Click **Confirm** to go to the list of organizations participating in the network. Your email invitation has now been sent, and you see in the list that it is pending.
+
+
+The invitation email includes a code that the recipient can use to get access to the network.
+
+## Add an Organization
+
+Navigate to the relevant **application**, and click **Blockchain network** in the left navigation.
+
+Open the **Participants** tab and click **Add organization**. This opens a form.
+
+
+### Define Organization
+Define the **organization**. You can select an organization you already have in place, or create a new one and choose a name for this new organization. Separate invoices are generated for each organization, so creating a new organization might be more convenient if you need to separate invoices.
+
+### Enter Billing Information
+Enter **billing information** if you created a new organization. SettleMint creates a billing account for this organization. You will be billed monthly for the resources you use within this organization.
+
+### Define Application
+Define the **application**. You can select an application you already created, or create a new one and choose a name for this new application.
+
+### Set Permissions
+Set the **permissions** for this new network participant. You can change these permissions at any time.
+
+### Confirm Addition
+Click **Confirm** to go to the list of organizations participating in the network. You see the new participant added to the list.
+
+
+## Manage a Network Participant
+
+Navigate to the relevant **application**, and click **Blockchain network** in the left navigation.
+
+Open the **Participants** tab and click **Manage participant** to see available actions. You can only perform these actions if you have administrator rights.
+
+**Change permissions** - Changes the network participant's permissions with immediate effect.
+
+
+All operations require appropriate permissions in your workspace.
+
diff --git a/content/docs/building-with-SettleMint/join-a-network-by-invitation.mdx b/content/docs/building-with-SettleMint/join-a-network-by-invitation.mdx
new file mode 100644
index 00000000..f9f47eb1
--- /dev/null
+++ b/content/docs/building-with-SettleMint/join-a-network-by-invitation.mdx
@@ -0,0 +1,38 @@
+---
+title: Join a Network by Invitation
+description: Guide to joining an existing blockchain network
+---
+
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+
+# Join a Network by Invitation
+
+In a permissioned blockchain network (often called a consortium network), participants need to be invited by the network's owner to join the network.
+
+
+You need an invitation code from the network owner to join a permissioned network.
+
+
+## Join Process
+
+
+ ### Access Platform
+ [Log in](https://console.settlemint.com/) to SettleMint, or [create an account](../launching-the-platform/managed-cloud-deployment/create-an-account)
+
+ ### Navigate to Application
+ Go to an existing blockchain application, or create a new one
+
+ ### Add Network
+ 1. Click **Blockchain network** in the left navigation
+ 2. Click **Add a blockchain network**
+ 3. Choose **Join by invitation code**, and then click **Continue**
+ 4. Enter the **invitation code** included in the email you received
+ 5. Click **Confirm**
+
+ ### View Network Details
+ The network now appears in the overview. Click to see more details of the network.
+
+ ### Start Adding Nodes
+ You can now start [adding nodes to the network](./add-a-node-to-a-network)
+
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/meta.json b/content/docs/building-with-SettleMint/meta.json
new file mode 100644
index 00000000..2078c22f
--- /dev/null
+++ b/content/docs/building-with-SettleMint/meta.json
@@ -0,0 +1,37 @@
+{
+ "label": "Building with SettleMint",
+ "title": "Building with SettleMint",
+ "icon": "Grid2x2Plus",
+ "position": 3,
+ "pages": [
+ "create-an-application",
+ "add-a-network-to-an-application",
+ "invite-network-participants",
+ "join-a-network-by-invitation",
+ "add-a-node-to-a-network",
+ "connect-to-a-node",
+ "add-a-load-balancer",
+ "middleware",
+ "integration-studio",
+ "hasura-backend-as-a-service",
+ "insights",
+ "storage",
+ "private-keys",
+ "user-wallet",
+ "custom-deployment",
+ "dev-tools",
+ "code-studio",
+ "smart-contract-sets",
+ "smart-contract-templates",
+ "add-smart-contract-set",
+ "deploying-a-contract",
+ "AI-plugin",
+ "SDK",
+ "application-access-tokens",
+ "personal-access-tokens",
+ "audit-logs",
+ "resource-usage",
+ "health-monitoring-tools",
+ "deployment-plans"
+ ]
+}
diff --git a/docs/using-platform/7_middleware.md b/content/docs/building-with-SettleMint/middleware.mdx
similarity index 72%
rename from docs/using-platform/7_middleware.md
rename to content/docs/building-with-SettleMint/middleware.mdx
index d6e48b12..5f9e9ad1 100644
--- a/docs/using-platform/7_middleware.md
+++ b/content/docs/building-with-SettleMint/middleware.mdx
@@ -3,129 +3,137 @@ title: Middleware
description: Guide to using middleware in SettleMint
---
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# Middleware
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
Middleware acts as a bridge between your blockchain network and applications, providing essential services like data indexing, API access, and event monitoring. Before adding middleware, ensure you have an application and blockchain node in place.
-## Available Options
-
-- **Graph Middleware** - For EVM chains, providing subgraph-based indexing with GraphQL API
-- **Smart Contract Portal** - For EVM chains, offering REST & GraphQL APIs with webhooks
-- **FabConnect** - For Hyperledger Fabric, providing RESTful API
-- **Attestation Indexer** - Specialized indexer for attestations with GraphQL API
+
+
+ ### Available Options
+ - **Graph Middleware** - For EVM chains, providing subgraph-based indexing with GraphQL API
+ - **Smart Contract Portal** - For EVM chains, offering REST & GraphQL APIs with webhooks
+ - **FabConnect** - For Hyperledger Fabric, providing RESTful API
+ - **Attestation Indexer** - Specialized indexer for attestations with GraphQL API
+
+
+
+ ### Key Features
+ - Data indexing
+ - API access
+ - Event monitoring
+ - Webhook support
+
+
## How to Add Middleware
-
-
-
-Navigate to the **application** where you want to add middleware. Click **Middleware** in the left navigation, and then click **Add a middleware**. This opens a form.
-
-Follow these steps:
-1. Choose middleware type (Graph or Portal)
-2. Choose a **Middleware name**
-3. Select the **blockchain node**
-4. Configure deployment settings
-5. Click **Confirm**
-
-
-
-
-First ensure you're authenticated:
-```bash
-settlemint login
-```
-
-Create a middleware:
-```bash
-# Get the list of available middleware types
-settlemint platform create middleware --help
-
-# Create a middleware
-settlemint platform create middleware
-
-# Get information about the command and all available options
-settlemint platform create middleware --help
-```
-
-
-
-
-```typescript
-import { createSettleMintClient } from '@settlemint/sdk-js';
-
-const client = createSettleMintClient({
- accessToken: 'your_access_token',
- instance: 'https://console.settlemint.com'
-});
-
-// Create middleware
-const createMiddleware = async () => {
- const result = await client.middleware.create({
- applicationUniqueName: "your-app-unique-name",
- name: "my-middleware",
- type: "SHARED",
- interface: "GRAPH",
- blockchainNodeUniqueName: "your-node-unique-name",
- region: "EUROPE", // Required
- provider: "GKE", // Required
- size: "SMALL" // Valid options: "SMALL" | "MEDIUM" | "LARGE"
- });
- console.log('Middleware created:', result);
-};
-
-```
-
-:::tip
-Get your access token from the Platform UI under User Settings → API Tokens.
-:::
-
-
+
+
+
+ ### Navigate to Application
+ Navigate to the **application** where you want to add middleware.
+
+ ### Access Middleware Section
+ Click **Middleware** in the left navigation, and then click **Add a middleware**. This opens a form.
+
+ ### Configure Middleware
+ 1. Choose middleware type (Graph or Portal)
+ 2. Choose a **Middleware name**
+ 3. Select the **blockchain node**
+ 4. Configure deployment settings
+ 5. Click **Confirm**
+
+
+
+
+ First ensure you're authenticated:
+ ```bash
+ settlemint login
+ ```
+
+ Create a middleware:
+ ```bash
+ # Get the list of available middleware types
+ settlemint platform create middleware --help
+
+ # Create a middleware
+ settlemint platform create middleware
+
+ # Get information about the command and all available options
+ settlemint platform create middleware --help
+ ```
+
+
+
+ ```typescript
+ import { createSettleMintClient } from '@settlemint/sdk-js';
+
+ const client = createSettleMintClient({
+ accessToken: 'your_access_token',
+ instance: 'https://console.settlemint.com'
+ });
+
+ // Create middleware
+ const createMiddleware = async () => {
+ const result = await client.middleware.create({
+ applicationUniqueName: "your-app-unique-name",
+ name: "my-middleware",
+ type: "SHARED",
+ interface: "GRAPH",
+ blockchainNodeUniqueName: "your-node-unique-name",
+ region: "EUROPE", // Required
+ provider: "GKE", // Required
+ size: "SMALL" // Valid options: "SMALL" | "MEDIUM" | "LARGE"
+ });
+ console.log('Middleware created:', result);
+ };
+ ```
+
+
+ Get your access token from the Platform UI under User Settings → API Tokens.
+
+
## Manage Middleware
-
-
-
-Navigate to your middleware and click **Manage middleware** to:
-- View middleware details and status
-- Update configurations
-- Monitor health
-- Access endpoints
-
-
-
-
-```bash
-# List middlewares
-settlemint platform list middlewares --application
-
-# Get middleware details
-settlemint platform read middleware
-
-# Delete middleware
-settlemint platform delete middleware
-```
-
-
-
-
-```typescript
-// List middlewares
-await client.middleware.list("your-app");
-
-// Get middleware details
-await client.middleware.read("middleware-unique-name");
-
-// Delete middleware
-await client.middleware.delete("middleware-unique-name");
-```
-
-
+
+
+ Navigate to your middleware and click **Manage middleware** to:
+ - View middleware details and status
+ - Update configurations
+ - Monitor health
+ - Access endpoints
+
+
+
+ ```bash
+ # List middlewares
+ settlemint platform list middlewares --application
+
+ # Get middleware details
+ settlemint platform read middleware
+
+ # Delete middleware
+ settlemint platform delete middleware
+ ```
+
+
+
+ ```typescript
+ // List middlewares
+ await client.middleware.list("your-app");
+
+ // Get middleware details
+ await client.middleware.read("middleware-unique-name");
+
+ // Delete middleware
+ await client.middleware.delete("middleware-unique-name");
+ ```
+
## The Graph Middleware
@@ -147,9 +155,9 @@ const { client: graphClient, graphql } = createTheGraphClient({
});
```
-:::tip
+
For detailed API reference and advanced usage examples, check out the [TheGraph SDK documentation](https://github.com/settlemint/sdk/tree/main/sdk/thegraph).
-:::
+
### Using The Graph Middleware
@@ -159,13 +167,11 @@ Using the Graph protocol, you can create **subgraphs** that define which blockch
We have some prebuilt subgraph indexing modules included in the smart contract set, and you can build your own modules if you have a custom smart contract set.
-:::warning Warning
-
+
Before you start, make sure you are running:
- An EVM-compatible network (Ethereum, Polygon, Hyperledger Besu, Avalanche, etc.)
-
-:::
+
When the middleware is deployed, follow these steps to start using it:
@@ -229,17 +235,6 @@ The following tasks need to be run in this sequence:
The indexing of your smart contracts has now started. This can take a while, but once done you can query the middleware for your data in seconds using the **GraphQL API**. You can find the **endpoint** in the **Connect-tab**.
-## Further Reading
-
-- [The Graph Middleware](#the-graph-middleware)
-- [The Smart Contract Portal Middleware](#the-smart-contract-portal-middleware)
-- [Attestation Indexer](#attestation-indexer)
-- [Firefly FabConnect](#firefly-fabconnect)
-
-:::info Note
-All operations require appropriate permissions in your workspace.
-:::
-
## The Smart Contract Portal Middleware
The Smart Contract Portal is a middleware which creates an easy to use api on top of your smart contracts. It can be used with all EVM-compatible chains like Ethereum, Hyperledger Besu, Polygon, Avalanche, etc. You can run it on your own blockchain nodes (both public and permissioned) or on a Load Balancer.
@@ -251,14 +246,12 @@ Benefits of using the smart contract portal:
3. Improved Performance: GraphQL optimizes data fetching, ensuring that clients retrieve only the necessary data in a single request, reducing network load and improving performance.
4. Stack agnostic: Teams are free to choose their own technology stack.
-:::warning Warning
-
+
Before you start, make sure you are running:
- An EVM-compatible network (Ethereum, Polygon, Hyperledger Besu, Avalanche, etc.)
- A Private Key
-
-:::
+
### Using The Smart Contract Portal Middleware
@@ -279,33 +272,33 @@ const { client: portalClient, graphql: portalGraphql } = createPortalClient({
});
```
-:::tip
+
For comprehensive API documentation and advanced features, check out the [Portal SDK documentation](https://github.com/settlemint/sdk/tree/main/sdk/portal).
-:::
+
### Upload an ABI
A smart contract ABI (Application Binary Interface) is a standardized way for interacting with smart contracts in the Ethereum blockchain and other compatible systems. It serves as the bridge between human-readable contract code (written in languages like Solidity) and the Ethereum Virtual Machine (EVM), which executes the contract. The ABI specifies the functions that can be called on the contract, including their names, input parameters, and output types.
-When deploying a smart contract the ABI file can be found as part of the artificats. See [Deploying the Smart Contract](/documentation/docs/developer-guides/connect-frontend#adding-the-abi). Download the ABI json files and save them on your local filesystem.
+When deploying a smart contract the ABI file can be found as part of the artificats. See [Deploying the Smart Contract](/developer-guides/connect-frontend#adding-the-abi). Download the ABI json files and save them on your local filesystem.
When creating a new middleware you'll need to upload at least one ABI.
To update the ABIs of an existing smart contract portal middleware navigate to the middleware, go the details and click on the 'Manage Middleware' button on the top right. Click on the 'Update ABIs' item and a dialog will open. In this dialog upload the ABI file(s) you saved on your local filesystem in the previous step.
-
+
### REST
A fully typed REST api with documentation is created out of the Smart Contract ABI, you can discover all its endpoints on the REST tab. To see examples in your technology of choice use the dropdown in the example section on the right.
-
+
### GraphQL
The GraphQL api exposes the same functionality as the REST api, you can discover it on the GraphQL tab.
-
+
### Webhooks
@@ -315,7 +308,7 @@ When sending a message the event will have a signature which allows the receiver
The secret to validate the signature can be copied from the details page of your webhook.
-
+
Standard Webhooks has built [SDKs and useful tools](https://www.standardwebhooks.com/#resources) using different programming languages that make it easy to start using webhooks.
@@ -361,8 +354,16 @@ async function webhookConsumerBootstrap(secret: string) {
`Started the test webhook consumer on ${server?.url.toString()}`
);
});
- await app.listen(3000);
}
+```
+
+## Further Reading
-webhookConsumerBootstrap('your-secret');
-```
\ No newline at end of file
+- [The Graph Middleware](#the-graph-middleware)
+- [The Smart Contract Portal Middleware](#the-smart-contract-portal-middleware)
+- [Attestation Indexer](#attestation-indexer)
+- [Firefly FabConnect](#firefly-fabconnect)
+
+
+All operations require appropriate permissions in your workspace.
+
\ No newline at end of file
diff --git a/docs/using-platform/17_personal-access-tokens.md b/content/docs/building-with-SettleMint/personal-access-tokens.mdx
similarity index 74%
rename from docs/using-platform/17_personal-access-tokens.md
rename to content/docs/building-with-SettleMint/personal-access-tokens.mdx
index e0f29cc8..04b84dd7 100644
--- a/docs/using-platform/17_personal-access-tokens.md
+++ b/content/docs/building-with-SettleMint/personal-access-tokens.mdx
@@ -1,6 +1,16 @@
+---
+title: Personal Access Tokens
+description: Guide to managing personal access tokens in SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
# Personal Access Tokens
-Personal access tokens (or [Application access tokens](16_application-access-tokens.md)) let you connect your SettleMint services with other apps securely. They represent an individual user, and have the same rights as the user's role in the organization (admin or user). They can be used to connect to all services that the user has access to.
+Personal access tokens (or [Application access tokens](/building-with-settlemint/application-access-tokens)) let you connect your SettleMint services with other apps securely. They represent an individual user, and have the same rights as the user's role in the organization (admin or user). They can be used to connect to all services that the user has access to.
## Create a personal access token
@@ -12,11 +22,9 @@ Click on the **Add a personal access token** button, this opens a form where you
2. Select an **expiration date**. You cannot update this later.
3. Click **Confirm** to create your personal access token.
-:::warning Warning
-
+
Copy and save your token securely - you won't see it again. Treat it like a password and keep it secret.
-
-:::
+
## Delete a personal access token
@@ -40,4 +48,4 @@ You can use these personal access tokens in three ways depending on what works f
For most use cases, you should use application access tokens. Since they are directly linked to the application, the token continues to work even if the user leaves the organization. They also provide more granular access control.
-Personal access tokens are a simpler way to authenticate, but they are linked to the user's account. If the user leaves the organization, the token will no longer work for the services of that organization.
+Personal access tokens are a simpler way to authenticate, but they are linked to the user's account. If the user leaves the organization, the token will no longer work for the services of that organization.
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/private-keys.mdx b/content/docs/building-with-SettleMint/private-keys.mdx
new file mode 100644
index 00000000..b82138b5
--- /dev/null
+++ b/content/docs/building-with-SettleMint/private-keys.mdx
@@ -0,0 +1,133 @@
+---
+title: Private Keys
+description: Guide to managing private keys on SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+# Private Keys
+
+To send transactions to a blockchain network, you need a private key to sign these transactions, and the private key should contain enough funds to cover the gas price for the transaction.
+
+You can sign transactions with private keys you created outside SettleMint with e.g. MetaMask or other wallet solutions. SettleMint however provides an option to **create and manage private keys within the platform**.
+
+When you deploy a blockchain node it contains a signing proxy that captures the eth_sendTransaction call, uses the appropriate key from the private key section to sign it, and sends it onwards to the blockchain node. You can use this proxy directly via the nodes JSON-RPC endpoints ([https://eth.wiki/json-rpc/API](https://eth.wiki/json-rpc/API)) and via tools like Hardhat ([https://hardhat.org/config/#json-rpc-based-networks](https://hardhat.org/config/#json-rpc-based-networks)) configured to use the "remote" default option for signing.
+
+## Create a private key
+
+
+
+ Navigate to your **application**, click **Private keys** in the left navigation, and then click **Create a private key**. This opens a form.
+
+ Follow these steps to create the private key:
+
+ 1. Choose a **private key type**:
+ - **Accessible ECDSA P256**: Standard Ethereum-style private keys with exposed mnemonic
+ - **HD ECDSA P256**: Hierarchical Deterministic keys for advanced key management
+ - **HSM ECDSA P256**: Hardware Security Module protected keys for maximum security
+
+ 2. Choose a **name** for your private key
+ 3. Select the **nodes** on which you want the key to be active
+ 4. Click **Confirm** to create the key
+
+
+
+ ```bash
+ # Create Accessible ECDSA P256 key
+ settlemint platform create private-key accessible-ecdsa-p256 my-key \
+ --application my-app \
+ --blockchain-node node-123
+
+ # Create HD ECDSA P256 key
+ settlemint platform create private-key hd-ecdsa-p256 my-key \
+ --application my-app
+
+ # Create HSM ECDSA P256 key
+ settlemint platform create private-key hsm-ecdsa-p256 my-key \
+ --application my-app
+ ```
+
+
+
+ ```typescript
+ import { createSettleMintClient } from '@settlemint/sdk-js';
+
+ const client = createSettleMintClient({
+ accessToken: 'your_access_token',
+ instance: 'https://console.settlemint.com'
+ });
+
+ // Create private key
+ const createKey = async () => {
+ const result = await client.privateKey.create({
+ name: "my-key",
+ applicationUniqueName: "my-app",
+ privateKeyType: "ACCESSIBLE_ECDSA_P256", // or "HD_ECDSA_P256" or "HSM_ECDSA_P256"
+ blockchainNodeUniqueNames: ["node-123"] // optional
+ });
+ console.log('Private key created:', result);
+ };
+ ```
+
+
+
+## Manage private keys
+
+
+
+ 1. Navigate to your application's **Private keys** section
+ 2. Click on a private key to:
+ - View details and status
+ - Manage node associations
+ - Check balances
+ - Fund the key
+
+
+
+ ```bash
+ # List all private keys
+ settlemint platform list private-keys --application
+
+ # View specific key details
+ settlemint platform read private-key
+
+ # Restart a private key
+ settlemint platform restart private-key
+ ```
+
+
+
+ ```typescript
+ // List private keys
+ const listKeys = async () => {
+ const keys = await client.privateKey.list("your-app-name");
+ };
+
+ // Get key details
+ const getKey = async () => {
+ const key = await client.privateKey.read("key-unique-name");
+ };
+
+ // Restart key
+ const restartKey = async () => {
+ await client.privateKey.restart("key-unique-name");
+ };
+ ```
+
+
+
+## Fund the private key
+
+For networks that require gas to perform a transaction, your private key should contain enough funds to cover the gas price.
+
+1. Click the **private key** in the overview to see detailed information
+2. Open the **Balances tab**
+3. Click **Fund**
+4. Scan the **QR code** with your wallet/exchange to fund the key
+
+
+Ensure your private key has sufficient funds before attempting transactions on networks that require gas fees.
+
\ No newline at end of file
diff --git a/docs/using-platform/19_resource-usage.md b/content/docs/building-with-SettleMint/resource-usage.mdx
similarity index 65%
rename from docs/using-platform/19_resource-usage.md
rename to content/docs/building-with-SettleMint/resource-usage.mdx
index cd3073a3..20046a82 100644
--- a/docs/using-platform/19_resource-usage.md
+++ b/content/docs/building-with-SettleMint/resource-usage.mdx
@@ -3,13 +3,17 @@ title: Resource Usage
description: Guide to monitoring resource usage
---
-# Resource usage
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
-When you add a service (network, node, smart contract set, etc.), you select the amount of resources to allocate to that service by choosing a small, medium or large [resource pack](launch-platform/managed-cloud-deployment/3_deployment-plans.md). Resources are the **memory**, **vCPU**, and **disk space** you need to keep your services running. You can see the resources allocated to your services at any time, and follow up on the current resource usage.
+
+When you add a service (network, node, smart contract set, etc.), you select the amount of resources to allocate to that service by choosing a small, medium or large [resource pack](/docs/launch-platform/managed-cloud-deployment/deployment-plans). Resources are the **memory**, **vCPU**, and **disk space** you need to keep your services running. You can see the resources allocated to your services at any time, and follow up on the current resource usage.
## Resource usage metrics
-
+
Navigate to your **application**. Click **Blockchain networks**, **Blockchain nodes** or **Smart contracts** in the left navigation, depending on which resource usage you want to see, and choose the relevant one from the list.
@@ -21,7 +25,7 @@ Moreover, detailed graphs are available to check memory, vCPU, and disk space us
## Resource usage status
-
+
The **status** indicates whether or not your resources are still sufficient for optimal functioning of the service.
@@ -31,4 +35,4 @@ The following statuses are defined:
- **Suboptimal** - the used resources are between 75% and 90% of the allocated resources
- **Critical** - the used resources are over 90% of the allocated resources
-When the status is **Suboptimal**, and the current resource usage is about to reach its limit, you will see a **warning** with the recommendation to scale your resource pack to keep the service running.
+When the status is **Suboptimal**, and the current resource usage is about to reach its limit, you will see a **warning** with the recommendation to scale your resource pack to keep the service running.
\ No newline at end of file
diff --git a/content/docs/building-with-SettleMint/storage.mdx b/content/docs/building-with-SettleMint/storage.mdx
new file mode 100644
index 00000000..0304db08
--- /dev/null
+++ b/content/docs/building-with-SettleMint/storage.mdx
@@ -0,0 +1,149 @@
+---
+title: Storage
+description: Guide to using storage solutions in SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+Managing complex or large data in decentralized systems can be a challenge. To securely store and share your files and data, SettleMint offers two storage solutions that can interact with the blockchain: **IPFS (decentralized)** and **MinIO (centralized)**.
+
+## Add Storage
+
+
+
+ Navigate to the **application** where you want to add storage. Click **Storage** in the left navigation, and then click **Add storage**. This opens a form.
+
+
+ ### Configure Storage
+ 1. Choose storage type (IPFS or MinIO)
+ 2. Choose a **Storage name**
+ 3. Configure deployment settings
+ 4. Click **Confirm**
+
+
+
+
+ First ensure you're authenticated:
+ ```bash
+ settlemint login
+ ```
+
+ Create storage:
+ ```bash
+ # Get the list of available storage types
+ settlemint platform create storage --help
+
+ # Create storage
+ settlemint platform create storage
+
+ # Get information about the command and all available options
+ settlemint platform create storage --help
+ ```
+
+
+
+ For a full example of how to connect to a storage using the SDK, see the [MinIO SDK API Reference](https://www.npmjs.com/package/@settlemint/sdk-minio#api-reference) or [IPFS SDK API Reference](https://www.npmjs.com/package/@settlemint/sdk-ipfs#api-reference).
+
+
+ Get your access token from the Platform UI under User Settings → API Tokens.
+
+
+
+ The SDK enables you to:
+ - Use IPFS for decentralized storage - check out the [IPFS SDK documentation](https://github.com/settlemint/sdk/tree/main/sdk/ipfs)
+ - Use MinIO for S3-compatible storage - check out the [MinIO SDK documentation](https://github.com/settlemint/sdk/tree/main/sdk/minio)
+
+
+
+
+## Manage Storage
+
+
+
+ Navigate to your storage and click **Manage storage** to:
+ - View storage details and status
+ - Monitor health
+ - Access storage interface
+ - Update configurations
+
+
+
+ ```bash
+ # List storage instances
+ settlemint platform list storage --application
+
+ # Get storage details
+ settlemint platform read storage
+
+ # Delete storage
+ settlemint platform delete storage
+ ```
+
+
+
+ ```typescript
+ // List storage instances
+ const listStorage = async () => {
+ const storages = await client.storage.list("your-app-id");
+ console.log('Storage instances:', storages);
+ };
+
+ // Get storage details
+ const getStorage = async () => {
+ const storage = await client.storage.read("storage-unique-name");
+ console.log('Storage details:', storage);
+ };
+
+ // Delete storage
+ const deleteStorage = async () => {
+ await client.storage.delete("storage-unique-name");
+ };
+ ```
+
+
+
+## About IPFS (decentralized)
+
+The InterPlanetary File System (IPFS) is a peer-to-peer network for storing and sharing data in a distributed file system. When uploading a file to IPFS it generates a unique fingerprint (hash). Later when querying that data it will use that fingerprint to find nodes storing the data behind this fingerprint. This means that this hash is not only a key used to retrieve a file, but it also serves as a proof of integrity. Often such fingerprints will be stored on chain in order to act as a bridge between the blockchain and IPFS.
+
+[Learn more on IPFS here](https://docs.ipfs.tech/concepts/)
+
+## About MinIO (centralized - S3 compatible)
+
+For private or confidential data, MinIO would be your preferred option.
+
+[Learn more on MinIO here](https://min.io/)
+
+MinIO is S3-compatible. If you want to **set up a MinIO client for AWS S3**, you need these parameters:
+
+**endPoint**
+The endpoint is the URL to object storage service. Example value: example-minio-123a.settlemint.com, unique-name.settlemint.com (you can get the unique name from the Details tab)
+
+**accessKey**
+The access key is like a user ID that uniquely identifies your account. You can get your access key under the **Connect tab**
+
+**secretKey**
+The secret key is like the password to your account. You can get your secret key under the **Connect tab**.
+
+```js
+var Minio = require('minio');
+
+var s3Client = new Minio.Client({
+ endPoint: 'your-minio-instance.settlemint.com',
+ accessKey: 'YOUR-ACCESSKEYID',
+ secretKey: 'YOUR-SECRETACCESSKEY'
+});
+```
+
+You can now use the s3Client object to call methods like `makeBucket`, `getObject`, and [many more methods which you can find here](https://docs.min.io/docs/javascript-client-api-reference.html).
+
+
+MinIO client can also be configured in Python, .NET, Java, Golang, Haskell. You can follow the [quickstart guides provided by MinIO here](https://docs.min.io/docs/java-client-quickstart-guide.html) for more information.
+
+
+
+All operations require appropriate permissions in your workspace.
+
\ No newline at end of file
diff --git a/docs/using-platform/13_user_wallet.md b/content/docs/building-with-SettleMint/user-wallet.mdx
similarity index 70%
rename from docs/using-platform/13_user_wallet.md
rename to content/docs/building-with-SettleMint/user-wallet.mdx
index b39092ee..c9be62c0 100644
--- a/docs/using-platform/13_user_wallet.md
+++ b/content/docs/building-with-SettleMint/user-wallet.mdx
@@ -1,4 +1,13 @@
-# User Wallets
+---
+title: User Wallets
+description: Guide to managing user wallets in SettleMint
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
SettleMint's **User Wallets** feature offers a production-ready solution for managing infinite wallets with efficiency and scalability. This tool empowers users with seamless wallet generation, ensuring **cost-effective management** and eliminating additional expenses. By generating **unique addresses for each user**, privacy is significantly enhanced, while improved performance ensures faster, parallel transaction processing through separate nonces. User wallet also simplifies wallet recovery since all wallets are derived from a single master key. User wallets use the same signing proxy to sign transactions with the corresponding user private key.
@@ -8,24 +17,24 @@ To set up your user wallets, navigate to your application, click **Private keys*
Select **HD ECDSA P256** as the private key type then, enter a **name** for your deployment. You can also select the nodes or load balancers on which you want to enable the user wallets. You can change this later if you want to use your user wallets on a different node. Click **Confirm** to deploy the wallet.
-
+
## Create User Wallets
When your deployment status is **Running**, you can click on it to check the details. You can see the Mnemonic from which the user wallets are generated under **Key material**.
-
+
Upon initialization, the User Wallets section is empty. To create your first user wallet, click on **Create a user wallet**.
-
+
This opens a form in which you must enter a wallet name.
-
+
The new user wallet appears in the list.
-
+
-You can now see the address associated with that user. Remember that for networks that require gas to perform a transaction, the user wallet should contain enough funds to cover the gas price. You can fund it using the address displayed in the list.
+You can now see the address associated with that user. Remember that for networks that require gas to perform a transaction, the user wallet should contain enough funds to cover the gas price. You can fund it using the address displayed in the list.
\ No newline at end of file
diff --git a/content/docs/core-components/index.mdx b/content/docs/core-components/index.mdx
new file mode 100644
index 00000000..c6c521fd
--- /dev/null
+++ b/content/docs/core-components/index.mdx
@@ -0,0 +1,3 @@
+---
+title: Core Components
+---
\ No newline at end of file
diff --git a/content/docs/core-components/meta.json b/content/docs/core-components/meta.json
new file mode 100644
index 00000000..162df54a
--- /dev/null
+++ b/content/docs/core-components/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "Core Components",
+ "icon": "Grid2x2Plus",
+ "pages": ["about-settlemint"]
+}
diff --git a/docs/developer-guides/asset-tokenization.md b/content/docs/developer-guides/asset-tokenization.mdx
similarity index 92%
rename from docs/developer-guides/asset-tokenization.md
rename to content/docs/developer-guides/asset-tokenization.mdx
index 2d2fb22d..5f380eca 100644
--- a/docs/developer-guides/asset-tokenization.md
+++ b/content/docs/developer-guides/asset-tokenization.mdx
@@ -41,7 +41,7 @@ Asset tokenization is the process of representing ownership rights to an asset t
To start, you need to create an application on SettleMint. An application is a collection
of the different components on SettleMint that will help run your solution.
-
+
To create an application on SettleMint, select the application launcher in the top right of the dashboard (four boxes). Click `Add an application`.
@@ -52,13 +52,13 @@ You will now be able to create a blockchain application and give it a name.
After creating an application, you can now deploy a network and node. We will use both of these
resources to deploy our Asset Tokenization Smart Contract.
-
+
To create a network and node, click on the `Start Here` button. Then Select `Add a Blockchain Network`. This will show all the supported blockchains on SettleMint.
For this guide, select `Hyperledger Besu`.
-
+
After selecting `Hyperledger Besu`, you now have the option to select our deployment plan.
@@ -72,7 +72,7 @@ For this guide, you can use the following settings:
**Resouce Pack**: Small
-
+
After clicking confirm, the node and network will start deploying at the same time. You will
see the status as `Running` once both have been successfully deployed.
@@ -81,7 +81,7 @@ see the status as `Running` once both have been successfully deployed.
This guide uses a simple image as the tokenized asset. This image will be pinned on IPFS, so the next step is to deploy a storage service.
-
+
Click on `Storage` and then select `Add storage`. Then select `IPFS` and create an instance called `Token Storage`. You can choose the same deployment plan that you did earlier with the network and node.
@@ -89,7 +89,7 @@ Click on `Storage` and then select `Add storage`. Then select `IPFS` and create
To get access to the node you deployed, you will need to generate a private key.
-
+
To create a key, click on the `Private Keys` option, then select the `Accessible EC DSA P256`
option. Create a name and select the node that you deployed in the earlier step.
@@ -106,13 +106,13 @@ To create a Smart contract set, navigate to the `Dev tools` section in the left
You will now be given the option to select a template. Choose the `Empty` option.
Create a name and select the same deployment plan as you did earlier. For more information on how to add a smart contract set, [see our Smart Contract Sets section](using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/3_add-smart-contract-set.md).
-
+
### 2. Opening the Integrated Development Environment (IDE)
To add and edit the smart contract code, you will use the IDE.
-
+
Once the resource has been deployed, select the `IDE` tab and then `View in fullscreen mode`.
@@ -120,7 +120,7 @@ Once the resource has been deployed, select the `IDE` tab and then `View in full
With the IDE open in fullscreen, create a new file for your Asset Tokenization smart contract.
-
+
1. On the File Explorer on the left side, select the `Contracts` option.
2. Right Click and select `New File...`
@@ -314,7 +314,7 @@ contract AssetTokenization is Initializable, UUPSUpgradeable, ERC1155SupplyUpgra
With the code pasted in the IDE, you now need to change the deployment settings to include the smart contract you have just created.
-
+
In the file explorer on the left, select the `ignition` folder. Then open the `main.ts` file under `modules`.
@@ -343,7 +343,7 @@ export default AssetTokenizationModule;
With those settings changed, you are now ready to compile and deploy your smart contract.
-
+
To compile the smart contract:
@@ -357,11 +357,11 @@ To deploy your smart contract:
2. The terminal will open to show the status of deploying your contract
3. The terminal will show the contract address of your smart contract
-
+
-:::info
+
The contract address can also be found in `deployed_addresses.json` in the `deployments`folder created when deploying the smart contract code. You will need it later for the integration.
-:::
+
## Part 3: Connect the Resources
@@ -369,11 +369,11 @@ The contract address can also be found in `deployed_addresses.json` in the `depl
You will now upload the image to the IPFS storage service you deployed earlier.
-
+
Save the image above to your computer. It is what you will use to represent your asset.
-
+
To upload this image to IPFS:
@@ -381,7 +381,7 @@ To upload this image to IPFS:
2. Select File Manager
3. Select the `Import` option
-
+
After the image has been imported, select the `Share Link` option by clicking on the 3 dots
next to the file size.
@@ -392,7 +392,7 @@ Save this URL as you will use it later in this guide when building the integrati
Select the `Set pinning` option. This will make sure your file remains on IPFS.
-
+
Choose the local node option and click `Apply`.
@@ -400,7 +400,7 @@ Choose the local node option and click `Apply`.
To connect to the network that you have created, you need to get your JSON-RPC connection URL.
-
+
The URL can be found by:
@@ -408,9 +408,9 @@ The URL can be found by:
2. Clicking on the `Connect` tab
3. Copy the `JSON-RPC` URL
-:::info
+
Save this URL as you will use it later in this guide when building the integration.
-:::
+
### 3. Creating an access token
@@ -418,7 +418,7 @@ To connect to your node and storage, you will need an access token. We recommend
You can create an application access token by navigating to the application dashboard, and then clicking on the `Access Tokens` section in the left sidebar.
-
+
You can now create an application access token with an expiration and the scopes you want to use. For this guide, we recommend you create an access token scoped to your node and storage.
@@ -428,7 +428,7 @@ You will now see your access token. Copy the token since you cannot see it again
The final step is to create a deployment of the `Integration Studio`.
-
+
To create an integration studio deployment:
@@ -436,13 +436,13 @@ To create an integration studio deployment:
2. Name the Integration Studio
3. Choose the same deployment plan you have used in this guide
-
+
Open your Integration Studio by selecting the `Interface` tab and then opening it in fullscreen mode.
For this guide, import the template below into the Integration Studio.
-
+
To import the below JSON file:
@@ -485,15 +485,15 @@ To import the below JSON file:
The Integration Studio allows you to interact with your smart contract and add business logic.
Go to the newly created `Asset Tokenisation` tab in the Integration Studio.
-
+
The first function you need to complete is to set the global variables of the integration.
-
+
To do this, click on the middle item in the diagram labeled `Set Global Variables`. There you will you a variable called `glbVar`. Here is where you will enter the information to start interacting with your smart contract.
-
+
1. **privateKey** - Enter your private key that you created in [Part 1 / Step 4](#4-deploy-a-private-key)
2. **privateKeyAdress** - The address created after completing [Part 1 / Step 4](#4-deploy-a-private-key)
@@ -505,7 +505,7 @@ With this information entered, click on the blue square next to the `Inject` ite
Now you need to create an asset by creating an asset name, asset symbol and assetUri.
-
+
To create an asset, double click on the `Inject` option next to the `Initialise Asset` item.
@@ -521,7 +521,7 @@ From here you can now click on the other `inject` options to:
3. Mint the Asset
4. View the Balance
-
+
To see how the interactions with your smart contract, choose the `Debug` option under the deploy button.
@@ -529,6 +529,6 @@ To see how the interactions with your smart contract, choose the `Debug` option
You have now created and deployed an Asset Tokenization smart contract using SettleMint!
-Find other guides in to help you build with SettleMint in our [Guide Library](guide-library.mdx)
+Find other guides in our [Guide Library](/developer-guides/guide-library) to help you build with SettleMint.
```
diff --git a/docs/developer-guides/attestation-service.md b/content/docs/developer-guides/attestation-service.mdx
similarity index 96%
rename from docs/developer-guides/attestation-service.md
rename to content/docs/developer-guides/attestation-service.mdx
index 83735be3..4566b03f 100644
--- a/docs/developer-guides/attestation-service.md
+++ b/content/docs/developer-guides/attestation-service.mdx
@@ -1,7 +1,6 @@
---
title: Complete Guide to Ethereum Attestation Service (EAS)
description: A comprehensive guide to implementing and using the Ethereum Attestation Service (EAS) for creating, managing, and verifying on-chain attestations
-sidebar_position: 2
keywords:
[
ethereum,
@@ -16,10 +15,10 @@ keywords:
]
---
-# Complete Guide to Ethereum Attestation Service (EAS)
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
## 1. Introduction to EAS
@@ -72,7 +71,19 @@ Ethereum Attestation Service (EAS) is a decentralized protocol that allows users
## 3. How EAS Works
-
+```mermaid
+graph TD
+ SchemaRegistry["SchemaRegistry"]
+ UsersSystems["Users/Systems"]
+ EASContract["EAS Contract"]
+ Verifiers["Verifiers"]
+ Attestations["Attestations"]
+
+ SchemaRegistry -- "Defines Data Structure" --> EASContract
+ UsersSystems -- "Interact" --> EASContract
+ EASContract -- "Creates" --> Attestations
+ Verifiers -- "Verify" --> Attestations
+```
### Workflow
@@ -94,7 +105,7 @@ Before deploying the EAS contracts, you must add the smart contract set to your
3. **Customize**: Modify the set as needed for your specific project.
4. **Save**: Save the configuration.
-For detailed instructions, visit the [Smart Contract Sets Documentation](../using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md).
+For detailed instructions, visit the [Smart Contract Sets Documentation](/docs/using-platform/dev-tools/code-studio/smart-contract-sets/smart-contract-sets).
---
@@ -103,7 +114,7 @@ For detailed instructions, visit the [Smart Contract Sets Documentation](../usin
Once the contract set is ready, you can deploy it using either the **Task Menu** in the SettleMint IDE or via the **Terminal**.
-
+
#### Deploy Using the Task Menu
@@ -118,8 +129,8 @@ Once the contract set is ready, you can deploy it using either the **Task Menu**
3. **Monitor Deployment Logs**:
- The terminal output will display the deployment progress and contract addresses.
-
-
+
+
#### Deploy Using the Terminal
@@ -149,7 +160,7 @@ Once the contract set is ready, you can deploy it using either the **Task Menu**
3. **Monitor Deployment Logs**:
- The terminal output will display the deployment progress and contract addresses.
-
+
---
@@ -223,7 +234,7 @@ registerSchema();
### Example Use Case
-Let’s create an attestation that proves:
+Let's create an attestation that proves:
- **Username**: `awesome_developer`
- **Platform**: `GitHub`
@@ -301,7 +312,7 @@ Verification is essential to ensure the integrity and authenticity of attestatio
### Choose Your Verification Method
-
+
#### Verification Using the EAS SDK
@@ -352,8 +363,8 @@ verifyAttestation('YOUR_ATTESTATION_UID_HERE');
- **Lightweight**: Suitable for most off-chain verifications.
- **No Custom Logic**: Fetches and verifies data stored in EAS.
-
-
+
+
#### Verification Using a Custom Smart Contract Resolver
@@ -421,7 +432,7 @@ npx hardhat deploy --module ignition/modules/main.ts
###### Linking the Resolver to a Schema
-When registering a schema, include the resolver’s address for on-chain validation.
+When registering a schema, include the resolver's address for on-chain validation.
```javascript
const resolverAddress = 'YOUR_DEPLOYED_RESOLVER_ADDRESS';
@@ -456,7 +467,7 @@ console.log('✅ Is the attestation valid?', isValid);
- **Customizable Rules**: Add your own validation logic to the resolver.
- **On-Chain Validation**: Ensures attestations meet specific conditions before they are considered valid.
-
+
---
diff --git a/docs/developer-guides/connect-frontend.md b/content/docs/developer-guides/connect-frontend.md
similarity index 90%
rename from docs/developer-guides/connect-frontend.md
rename to content/docs/developer-guides/connect-frontend.md
index dca62355..461e24f2 100644
--- a/docs/developer-guides/connect-frontend.md
+++ b/content/docs/developer-guides/connect-frontend.md
@@ -26,7 +26,7 @@ At the end of this guide, you will have deployed an ERC-20 token smart contract
The first step is to create a new blockchain application on SettleMint. This is done by clicking on the grid icon in the top right and selecting `Create new application`.
-
+
For this guide, we will name this application `TokenSender`.
@@ -36,7 +36,7 @@ After creating an application, we need to create a Blockchain Network and Node t
We will deploy our smart contract to the Polygon Amoy Testnet like the image below:
-
+
We can continue to use the `TokenSender` name for the naming of the network.
@@ -61,7 +61,7 @@ Below is the configuration you should use for your private key:
Now that we have our private key address, we can copy the address and go to the [Polygon Faucet](https://faucet.polygon.technology/):
-
+
Insert your Wallet Address and click the `Submit` button. Depending on faucet traffic, you may have to perform some validation that you are a human.
@@ -75,15 +75,16 @@ You now have the option to select a smart contract set template. These are pre-b
For this guide, we will use the ERC-20 Token template:
-
+
-You can continue to use the naming and deployment plan that you used earlier for the other resources. For more information on how to add a smart contract set, [see our Smart Contract Sets section](using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/3_add-smart-contract-set.md).
+You can continue to use the naming and deployment plan that you used earlier for the other resources. For more information on how to add a smart contract set,
+[see our Smart Contract Sets section](/building-with-settlemint/dev-tools/code-studio/smart-contract-sets/smart-contract-sets).
### Editing the Contract
Once that is deployed, we can go to the IDE and start editing our contract.
-
+
You can find the ERC20 contract on the left in the Explorer under `contracts/GenericERC20.sol`
@@ -109,7 +110,7 @@ const counter = m.contract('GenericERC20', ['DocumentationToken', 'DT']);
After making the changes, we can compile our contract code. This is done by selecting the `Task Manager` option on the left side.
-
+
1. Select the `Task Manager` on the left
2. Compile the contract by selecting `Hardhat - Build`
@@ -144,7 +145,7 @@ The first thing we will do is add the ABI and address of our deployed contract.
Go to the `ignition/deployments/chain-46622/artifacts` folder in the file explorer and copy the `GenericERC20Module#GenericERC20.json` file to the `contractData` directory.
-
+
### Adding the access token
@@ -152,7 +153,7 @@ To connect to your node and middleware, you will need an access token. We recomm
You can create an application access token by navigating to the application dashboard, and then clicking on the `Access Tokens` section in the left sidebar.
-
+
You can now create an application access token with an expiration and the scopes you want to use. For this guide, we recommend you create an access token scoped to your node and middleware.
@@ -166,7 +167,7 @@ After creating an account, you can create a new project. From there you will see
On that page, you will find the `Project ID` like below:
-
+
Copy your Project ID and add it as the `NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID` variable value in the `.env` file.
@@ -211,7 +212,7 @@ bun dev
```
This will start your application locally on `localhost:3000`. Go to that address and you will now see the frontend using NextJS:
-
+
Using the `Smart Contract Portal Middleware` enables us to read different functions and values from our smart contract. In this template, we are reading the `symbol` function to display which token is connected to this smart contract.
@@ -236,7 +237,7 @@ To send some tokens that we just created, we need to add our private key to our
Copy your private key and open up your Metamask Extension. From there, select whatever account name is at the top of the window. Then scroll down until you see the `Import Account` option.
-
+
Select that option and paste into your private key. You now have access via Metamask to perform transactions from this account.
@@ -254,16 +255,17 @@ Your Metamask should now open up for you to sign the transaction. If not, make s
After clicking `Confirm`, you will see a `Tokens Sent` confirmation on your front end:
-
+
Congrats! You will now see the transaction confirmed in your Metamask activity.
## Next Steps
-Now that you have built your custom frontend, you can now explore more [smart contract use cases](../guide-library) you can build on SettleMint!
+Now that you have built your custom frontend, you can now explore more [smart contract use cases](/developer-guides/guide-library) you can build on SettleMint!
## Deploy Your Frontend as a Custom Deployment
After building your custom frontend, you can deploy it on the SettleMint platform using the Custom Deployment feature. This allows you to host your frontend application alongside your blockchain components, providing a seamless integration within the SettleMint ecosystem.
-For more detailed information on Custom Deployments, refer to the [Custom Deployment documentation](../../using-platform/custom-deployment).
+For more detailed information on Custom Deployments, refer to the
+ [Custom Deployment documentation](/building-with-settlemint/custom-deployment).
diff --git a/content/docs/developer-guides/guide-library.mdx b/content/docs/developer-guides/guide-library.mdx
new file mode 100644
index 00000000..7382ae23
--- /dev/null
+++ b/content/docs/developer-guides/guide-library.mdx
@@ -0,0 +1,39 @@
+---
+title: Guide Library
+description: A Guide to Connecting a Frontend to Your Blockchain Application
+---
+
+import { Card, Cards } from 'fumadocs-ui/components/card'
+
+# Guide Library
+
+## Application Development
+
+These guides will help you in your blockchain application development process.
+
+
+
+ 
+
+ This connects a frontend to your blockchain application using NextJS, wagmi and web3auth.
+
+
+
+
+## Blockchain Use-Cases
+
+These guides will show you how to build blockchain applications for popular use-cases.
+
+
+
+
+ 
+ This guide explains how to build an asset tokenization application using SettleMint
+
+
diff --git a/content/docs/developer-guides/meta.json b/content/docs/developer-guides/meta.json
new file mode 100644
index 00000000..0085fe83
--- /dev/null
+++ b/content/docs/developer-guides/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "Developer Guides",
+ "icon": "Code",
+ "pages": ["guide-library","utilizing-ai-features","asset-tokenization","attestation-service","user-wallets-and-scp","connect-frontend"]
+}
diff --git a/docs/developer-guides/user-wallets-and-smart-contract-portal.md b/content/docs/developer-guides/user-wallets-and-scp.md
similarity index 85%
rename from docs/developer-guides/user-wallets-and-smart-contract-portal.md
rename to content/docs/developer-guides/user-wallets-and-scp.md
index 3b597535..ca0532b3 100644
--- a/docs/developer-guides/user-wallets-and-smart-contract-portal.md
+++ b/content/docs/developer-guides/user-wallets-and-scp.md
@@ -3,7 +3,6 @@ title: User Wallets and Smart Contract Portal
description: Guide for creating user wallets and sending transactions using the smart contract portal
---
-# User Wallets and Smart Contract Portal
In this document, we will guide you through the creation of user wallets using the smart contract portal on the SettleMint platform. We will also show how you can send transactions to your contracts and sign them with one of the wallets in the portal.
@@ -30,7 +29,7 @@ Keep the address of the smart contract, you will need it to send a transaction i
-
+
You will also need the contract ABI. You can find it in **out/counter.sol/counter.json**
@@ -38,24 +37,24 @@ You will also need the contract ABI. You can find it in **out/counter.sol/counte
### Smart contract portal
Deploy the portal on your blockchain network and use the contract that you copied from the IDE. This will create a custom API automatically.
-
+
## Create a new wallet using the portal
To create a new wallet go to the REST tab of your portal and enter full screen mode. You should see this screen
-
+
Next, expand the Wallet section on the left and select `/wallets`.
-
+
You can test the request directly from the portal by clicking on **Test Request**. This opens a form in which you can enter the **keyVaultId** of your wallet and the user name of your choice:
-
+
After you've sent the request, you can check your HD ECDSA wallet in the private key section. You should see a new account in the account section:
-
+
Alternatively, you can also send the request using cURL:
@@ -77,8 +76,8 @@ Other wallets methods are currently not supported.
## Send a transaction through the portal
You are now going to send a transaction to the counter contract deployed earlier. To do so, expand the **Counter** section on the left and select `/api/counter/{address}/set-number`.
-
+
Click on **Test Request** to open the details. To successfully send a transaction, you must enter the smart contract address in **Path Variables**. Then, in the body, enter the address of one of the user accounts. You can get it from the **Users** tab of the deployment. Set the **gasLimit**, the **gasPrice**, the **input** and click on **Send**. You should get a transactionHash back.
-
+
diff --git a/docs/developer-guides/ai-features.md b/content/docs/developer-guides/utilizing-ai-features.mdx
similarity index 98%
rename from docs/developer-guides/ai-features.md
rename to content/docs/developer-guides/utilizing-ai-features.mdx
index 0727fd81..652fd133 100644
--- a/docs/developer-guides/ai-features.md
+++ b/content/docs/developer-guides/utilizing-ai-features.mdx
@@ -59,7 +59,7 @@ You can use this flow as a reference while building your own implementation. Eac
- Use this node to generate vector embeddings for the text data using OpenAI's Embedding API.
- Configure the OpenAI node to use the appropriate model and input data, such as `text-embedding-ada-002`.
-
+
### Step 5: Store Vectors in Hasura with pgvector
diff --git a/content/docs/index.mdx b/content/docs/index.mdx
new file mode 100644
index 00000000..7de187a7
--- /dev/null
+++ b/content/docs/index.mdx
@@ -0,0 +1,53 @@
+---
+title: Platform Overview
+icon: House
+---
+
+SettleMint makes it easy for any developer to build, deploy and integrate blockchain applications rapidly. How? By radically simplifying the entire blockchain development process through our Blockchain Transformation platform. This drastically reduces the complexity and the time needed for each step in the blockchain development process.
+
+## Getting Started
+
+
+
+
+
+
+
+
+## Start Building
+
+Follow these developer guides to start building on SettleMint
+
+
+
+
+
+
diff --git a/docs/launch-platform/managed-cloud-deployment/2_about-organizations.md b/content/docs/launching-the-platform/managed-cloud-deployment/about-organizations.md
similarity index 84%
rename from docs/launch-platform/managed-cloud-deployment/2_about-organizations.md
rename to content/docs/launching-the-platform/managed-cloud-deployment/about-organizations.md
index b384b087..571f6623 100644
--- a/docs/launch-platform/managed-cloud-deployment/2_about-organizations.md
+++ b/content/docs/launching-the-platform/managed-cloud-deployment/about-organizations.md
@@ -3,21 +3,21 @@ title: Managing Organizations
description: Guide to managing Organizations
---
-# About organizations
An organization is the highest level of hierarchy in SettleMint.
It's at this level that you:
-- Create and manage [blockchain applications](../../using-platform/0_create-an-application.md)
+- Create and manage [blockchain applications](/building-with-settlemint/create-an-application)
- [Invite team members](#invite-new-organization-members) to collaborate
-- Manage [billing](../../account-billing/20_billing.md)
+- Manage [billing](/account-billing/billing)
You created your first organization when you signed up to use the SettleMint platform, but you can create as many organizations as you want, e.g. for your company, departments, teams, clients, etc. Organizations help you structure your work, manage collaboration, and keep your invoices clearly organized.
## Create an organization
-
+
+
Navigate to the **homepage**, or click the **grid icon** in the upper right corner.
@@ -28,13 +28,13 @@ Click **Create new organization**. This opens a form. Follow these steps to crea
2. Enter **billing information**.
SettleMint creates a billing account for this organization. You will be billed monthly for the resources you use within this organization.
3. Click **Confirm** to go to the organization dashboard.
- From here, you can [create your first application](../../using-platform/0_create-an-application.md) in this organization. The dashboard will show you a summary of your organization's applications, the members in this organization, and a status of the resource costs for the current month.
+ From here, you can [create your first application](/building-with-settlemint/create-an-application) in this organization. The dashboard will show you a summary of your organization's applications, the members in this organization, and a status of the resource costs for the current month.
When you create an organization, you are the owner, and therefore an administrator of the organization. This means you can perform all actions within this organization, with no limitations.
## Invite new organization members
-
+
Navigate to the **Members section** of your organization, via the homepage, or via your organization dashboard.
@@ -48,7 +48,7 @@ Follow these steps to invite new members to your organization:
## Manage an organization
-
+
Navigate to the **organization dashboard**.
diff --git a/docs/launch-platform/managed-cloud-deployment/1_create-an-account.md b/content/docs/launching-the-platform/managed-cloud-deployment/create-an-account.md
similarity index 79%
rename from docs/launch-platform/managed-cloud-deployment/1_create-an-account.md
rename to content/docs/launching-the-platform/managed-cloud-deployment/create-an-account.md
index 7ac845a4..c2b06c6d 100644
--- a/docs/launch-platform/managed-cloud-deployment/1_create-an-account.md
+++ b/content/docs/launching-the-platform/managed-cloud-deployment/create-an-account.md
@@ -3,9 +3,7 @@ title: Creating an account
description: Guide to create an account on SettleMint
---
-# Create an account
-
-
+
Navigate to [SettleMint](https://console.settlemint.com/) and follow these steps to create an account:
@@ -13,11 +11,11 @@ Navigate to [SettleMint](https://console.settlemint.com/) and follow these steps
Magic links let you sign up and log in without a password. When you provide your email address, you get a magic link sent to your email. Once you click on the link, you will be logged in.
2. Enter your **first and last name**, and choose a name for your **organization**.
- An organization is the highest level of hierarchy in SettleMint. It's at this level that you create and manage blockchain applications, invite team members to collaborate, and manage billing. You can create as many organizations as you want. Choose a name that is easily recognizable in your dashboards (like your company name, department name, team name, etc.). You can change the name of your organization at any time. [More about organizations](2_about-organizations.md)
+ An organization is the highest level of hierarchy in SettleMint. It's at this level that you create and manage blockchain applications, invite team members to collaborate, and manage billing. You can create as many organizations as you want. Choose a name that is easily recognizable in your dashboards (like your company name, department name, team name, etc.). You can change the name of your organization at any time. [More about organizations](/launching-the-platform/managed-cloud-deployment/about-organizations)
3. Choose a name for your first **blockchain application**.
- You may want to choose a name related to what you are building, e.g. track and trace, NFT, data exchange, etc. Names like "my first app" or "test app" are also fine. You can change the name of an application at any time. [More about applications](../../using-platform/0_create-an-application.md)
+ You may want to choose a name related to what you are building, e.g. track and trace, NFT, data exchange, etc. Names like "my first app" or "test app" are also fine. You can change the name of an application at any time. [More about applications](/building-with-settlemint/create-an-application)
4. You're all set up now, and ready to start building your first application.
-Start by [adding a network to your application](../../using-platform/1_add-a-network-to-an-application.md).
+Start by [adding a network to your application](/building-with-settlemint/add-a-network-to-an-application).
diff --git a/docs/launch-platform/managed-cloud-deployment/3_deployment-plans.md b/content/docs/launching-the-platform/managed-cloud-deployment/deployment-plans.md
similarity index 94%
rename from docs/launch-platform/managed-cloud-deployment/3_deployment-plans.md
rename to content/docs/launching-the-platform/managed-cloud-deployment/deployment-plans.md
index 171bcb4f..d3ebc3d4 100644
--- a/docs/launch-platform/managed-cloud-deployment/3_deployment-plans.md
+++ b/content/docs/launching-the-platform/managed-cloud-deployment/deployment-plans.md
@@ -3,7 +3,6 @@ title: Deployment plans
description: A list of the available deployment plans for SettleMint
---
-# Deployment plans
For each service you deploy (network, node, smart contract set, etc.) you need to select a deployment plan. The deployment plan defines the infrastructure type, the cloud provider and region of your choice, and the resources (memory, vCPU and disk space) that will be allocated to your service.
@@ -20,7 +19,7 @@ Not all applications are equal. Some are for experimentation, some are pilots, w
We offer you the flexibility to deploy your services in the cloud of your choice, and easily build cross-cloud provider and cross-geographical region networks. All leading cloud providers are supported and we are continously working on adding support for more regions.
-[Discover all supported cloud providers and available regions](0_supported-cloud-providers.md)
+[Discover all supported cloud providers and available regions](/launching-the-platform/managed-cloud-deployment/supported-cloud-providers)
## Resource pack
diff --git a/content/docs/launching-the-platform/managed-cloud-deployment/meta.json b/content/docs/launching-the-platform/managed-cloud-deployment/meta.json
new file mode 100644
index 00000000..aecd4c07
--- /dev/null
+++ b/content/docs/launching-the-platform/managed-cloud-deployment/meta.json
@@ -0,0 +1,6 @@
+
+{
+ "label": "Managed Cloud Deployment",
+ "position": 1,
+ "pages": ["supported-cloud-providers","create-an-account", "about-organizations", "deployment-plans","quickstart"]
+}
\ No newline at end of file
diff --git a/docs/launch-platform/managed-cloud-deployment/4_quickstart.md b/content/docs/launching-the-platform/managed-cloud-deployment/quickstart.mdx
similarity index 90%
rename from docs/launch-platform/managed-cloud-deployment/4_quickstart.md
rename to content/docs/launching-the-platform/managed-cloud-deployment/quickstart.mdx
index c25b4def..346a86e4 100644
--- a/docs/launch-platform/managed-cloud-deployment/4_quickstart.md
+++ b/content/docs/launching-the-platform/managed-cloud-deployment/quickstart.mdx
@@ -3,11 +3,9 @@ title: Getting Started - Hello World
description: A step-by-step guide on building your first application on SettleMint
---
-# Getting Started - Hello World
-
##### This guide will help you explore some of the core building blocks of working with SettleMint even if this is your first time working with a Blockchain
-In this guide you will learn how to [create a blockchain network](../../using-platform/1_add-a-network-to-an-application.md), [deploy a node](../../using-platform/4_add-a-node-to-a-network.md), write a [smart contract](../../using-platform/15_dev-tools/0_code-studio/1_smart-contract-sets/1_smart-contract-sets.md) and [create an integration](../../using-platform/8_integration-studio.md).
+In this guide you will learn how to [create a blockchain network](/building-with-settlemint/add-a-network-to-an-application), [deploy a node](/building-with-settlemint/add-a-node-to-a-network), write a [smart contract](/building-with-settlemint/dev-tools/code-studio/smart-contract-sets/add-smart-contract-set) and [create an integration](/building-with-settlemint/integration-studio).
Below is both a video and written guide for you to build along to:
@@ -21,7 +19,7 @@ Organizations can create blockchain applications, monitor service usage, and man
When registering an account, you have created an organization. If you already have an account, click the `+ Create an Organization` option on the main dashboard after logging in.
-
+
## Create A Blockchain Application
@@ -33,11 +31,11 @@ If you are currently on a trial of SettleMint, you will also see your remaining
Let's start creating our application by clicking on the `Let's create one!` link:
-
+
From here, you will now need to provide a name of your blockchain application. To keep it simple, let's name this application `HelloWorld`:
-
+
### Choosing a Network
@@ -47,7 +45,7 @@ We have options covering both permissioned and public networks. To understand th
For this guide, we will select to deploy a `Hyperledger Besu` network:
-
+
### Configuring Network Details
@@ -65,7 +63,7 @@ SettleMint provides various hosting choices, including both cloud-hosted and on-
We will use the below settings:
-
+
Deployment Options:
@@ -91,7 +89,7 @@ If you are on the trial version, you will see your remaining credits that will c
Click confirm and let's get deploying!
-
+
You can now see the status of the deployment of the network and node. Deployment times range depending on the traffic, region, and resources.
@@ -109,7 +107,7 @@ It also comes with smart contract templates that can help you get started quicke
Click on `Smart contract sets` on the left navigation and then `Add a smart contract set` to start the deployment configuration:
-
+
### Selecting the Node
@@ -125,7 +123,7 @@ This is a list of popular standardized smart contracts like ERC-20 for launching
Since we are going to be creating a `Hello World` smart contract, you can choose the `Empty` option:
-
+
### Choosing a Deployment Plan
@@ -149,7 +147,7 @@ Now it is time to write some smart contract code! It is ok if you have not worke
In the IDE, you need to locate and rename the `Example.sol` file that comes included in your smart contract set. You can do this by following these steps:
-
+
1. On the left File Explorer panel, find the `contracts` folder and click the arrow to expand.
2. Find the `Example.sol` file in the list
@@ -197,12 +195,12 @@ Allowing blockchain applications to integrate with existing applications and bus
On SettleMint you can deploy different tools to make integration more effective. In this guide, we will use the `Integration Studio`. You can deploy this tool by following the steps below:
-
+
After you have the Integration Studio has been deployed, you can now go to the interface to start building the integration using the following steps:
-
-
+
+
1. Click on the name of the Integration Studio
2. Select the `Interface` tab
@@ -211,11 +209,11 @@ After you have the Integration Studio has been deployed, you can now go to the i
### Importing the Template
The Integration Studio allows you to build a visual version of an integration to your blockchain application.
-
+
In this guide, we have provided a contract template that will allow you to start interacting with the Hello World smart contract.
To import the JSON file listed below, click on the top right "hamburger" icon and select the `Import` option:
-
+
Copy the code below and paste it into the import window. As the code is in JSON format, make sure you have copied the complete code sample or you will receive an error.
@@ -290,7 +288,7 @@ Copy the code below and paste it into the import window. As the code is in JSON
After importing the code, this will create a new tab on the interface called `Contract Editor`. You should also see the configuration like in the below image:
-
+
The JSON code we pasted below is set up for the Hello World contract. We still need to set up the specific information contract you are working with. This is done by clicking on the `Set Information` block.
@@ -299,13 +297,13 @@ The JSON code we pasted below is set up for the Hello World contract. We still n
After selecting the `Set Information` option, you will now see the configuration options for this block. Click on the `On Message` tab if it is not open already.
Here we will start to paste important information about your smart contract and blockchain network.
-
+
#### 1. Creating a Private Key
You will need to create a private key for the Blockchain node. This allows you to sign transactions on the blockchain network. You can do this by following the steps below:
-
+
1. Select the `Private keys` from the left menu
2. Select the `Create a private key` button
@@ -326,12 +324,12 @@ Now that you have deployed the private key, you can copy this key and paste it i
This is done by clicking the name of the private key. There select the `Details` tab and the copy option by the `Private Key` field like below:
-
-
+
+
With the private key copied, you can now go back to the Integration Studio and paste this key into the first line after `const privateKey =` inside the ' ''. The private key should begin with `0x`.
-
+
#### 2. Get the Contract Address
@@ -343,7 +341,7 @@ To get the contract address you need to deploy the contract. This is done in the
SettleMint uses Hardhat scripts to deploy smart contracts. To deploy the Hello World smart contract, follow the steps below:
-
+
1. Go to the `deploy` folder in the file explorer on the left
2. Open the `00_deploy_example.ts` file
@@ -378,25 +376,25 @@ After replacing the code with the code above, it is now time to compile. This wi
To compile the Hello World contract, follow the steps below:
-
+
1. Click on the Clipboard icon on the left menu
2. Double click on `Compile`. This should open the terminal at the bottom of the screen. After the compiling is complete, the output should look similar to the below:
-
+
3. After successfully compiling the contract, double click on the `smartcontract:deploy`option in the Tasks Menu. This will run the deploy script we created earlier and deploy the contract to your blockchain network.
Once the contract is deployed, the terminal will show its `contractAddress`. Copy this address and head back over to the Integration Studio.
-
+
Once the contract is deployed, the terminal will show its `contractAddress`. Copy this address and head back over to the Integration Studio.
Paste the `contractAddress` into the next line in the `Set Information` window where you pasted the `privateKey`earlier.
-
+
We are almost done! The last thing we need to add is the JSON RPC that will allow you to connect to our blockchain node.
@@ -406,7 +404,7 @@ First, you will need to get the JSON RPC URL. This is the URL to make the connec
### Getting the JSON-RPC URL
-
+
1. Go to the Blockchain nodes menu on the main dashboard
2. Go to the `Connect` tab
@@ -414,7 +412,7 @@ First, you will need to get the JSON RPC URL. This is the URL to make the connec
Now that you have the JSON-RPC URL, it is time to add this to the `Set Information` window of the Integration Studio:
-
+
Paste the URL into the next line titled `jsonRPC` like the above image.
@@ -422,7 +420,7 @@ Paste the URL into the next line titled `jsonRPC` like the above image.
Below are the steps to generate an API key: 1. On the main dashboard, click on the `Profile` icon in the top right:
-
+
1. On the main dashboard, click on the `Profile` icon in the top right
2. Select `API Keys`from the menu options
@@ -434,7 +432,7 @@ Let's name the API key, `helloworld-key` and give it `No expiration` so you know
Next, you will need to configure what access this key has. For this guide, you can select all the options like the image below.
If you have multiple apps, you can control the access of the API key to specific apps and resources.
-
+
After clicking the `Confirm` button, you will now be shown the new API key that has been created. Click on the copy icon to copy the API key. This key will only be shown to you once.
@@ -444,7 +442,7 @@ Go back to the Integration Studio and the `Set Information` window. You can now
Your `Set Information`window should look like the below image:
-
+
#### A Note about ABI
@@ -458,7 +456,7 @@ Now that we have added all the required information for our integration, it is n
Close the `Set Information` window and click the `Deploy` button on the top right.
-
+
You will now receive a notification that the integration has been deployed:
@@ -477,14 +475,14 @@ In your browser you will see two options `Read-only` and `Write`functions:
- `Write Functions`: These functions can change the value of the data
-
+
By clicking the `Call` Button under `greetingMessage` this will call the contract and read the current value of the `greetingMessage`
The result will be `Hello world!` as this was the initial value set we set in the `constructor` of the smart contract.
To make it interesting, you can also change this value to whatever message you want!
-
+
1. Write a new message in the text field of `setGrettings`
2. Click the `Call` button
@@ -492,7 +490,7 @@ To make it interesting, you can also change this value to whatever message you w
Now to confirm that the `greetingMessage` has changed, click the `Call` button again:
-
+
## Wrapping Up
diff --git a/content/docs/launching-the-platform/managed-cloud-deployment/supported-cloud-providers.mdx b/content/docs/launching-the-platform/managed-cloud-deployment/supported-cloud-providers.mdx
new file mode 100644
index 00000000..4cf8bac7
--- /dev/null
+++ b/content/docs/launching-the-platform/managed-cloud-deployment/supported-cloud-providers.mdx
@@ -0,0 +1,130 @@
+---
+title: Supported Cloud Providers
+description: Overview of cloud providers supported by the SettleMint platform
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+
+## Overview
+
+When launching a blockchain development project, you need to decide where your project will be stored. SettleMint offers you the flexibility to deploy in the cloud of your choice, and easily build cross-cloud provider and cross-geographical region networks.
+
+Every deployment uses Kubernetes as an orchestration layer for all the different services. Kubernetes is a widely used open-source system for automating the deployment, scaling, and management of containerized applications. By leveraging managed Kubernetes services by cloud providers, our platform can offer affordable, stable, and scalable environments to run the blockchain nodes and additional services.
+
+
+
+## Cloud Provider Options
+
+
+
+ ### Available Regions
+
+ #### Ready to Deploy
+ - Frankfurt
+ - Mumbai
+ - Singapore
+
+ #### Contact Required
+ - Ohio [Contact us](mailto:support@settlemint.com)
+ - Bahrain [Contact us](mailto:support@settlemint.com)
+ - Osaka [Contact us](mailto:support@settlemint.com)
+
+
+ **AWS Benefits**
+ - Global infrastructure
+ - Enterprise-grade security
+ - Extensive service integration
+ - Flexible pricing options
+
+
+
+
+ ### Available Regions
+
+ #### Ready to Deploy
+ - Brussels
+ - Mumbai
+ - Singapore
+ - Tokyo
+
+ #### Contact Required
+ - Oregon [Contact us](mailto:support@settlemint.com)
+
+
+ **GCP Benefits**
+ - Advanced networking
+ - Strong container support
+ - Integrated DevOps tools
+ - AI/ML capabilities
+
+
+
+
+ ### Available Regions
+
+ #### Ready to Deploy
+ - Dubai
+ - Tokyo
+
+ #### Contact Required
+ - Amsterdam [Contact us](mailto:support@settlemint.com)
+ - Singapore [Contact us](mailto:support@settlemint.com)
+ - California [Contact us](mailto:support@settlemint.com)
+
+
+ **Azure Benefits**
+ - Enterprise integration
+ - Hybrid cloud support
+ - Comprehensive compliance
+ - Advanced security features
+
+
+
+
+## Infrastructure Details
+
+Every deployment uses Kubernetes as an orchestration layer for all services, providing:
+
+- Automated deployment
+- Scalable operations
+- Container management
+- Service orchestration
+- High availability
+- Resource optimization
+
+## Getting Started
+
+1. Choose your preferred cloud provider
+2. Select an available region
+3. Contact us for regions marked with "Contact Required"
+4. Begin your deployment process
+
+
+### Looking for More Options?
+
+We are continuously working on adding support for more cloud providers and regions.
+
+- Need a specific region?
+- Interested in on-premise setup?
+- Want to learn about 'Bring Your Own Cloud'?
+
+[Contact our team](mailto:support@settlemint.com) to discuss your requirements.
+
diff --git a/content/docs/launching-the-platform/meta.json b/content/docs/launching-the-platform/meta.json
new file mode 100644
index 00000000..59376f31
--- /dev/null
+++ b/content/docs/launching-the-platform/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "Launching the Platform",
+ "icon": "Rocket",
+ "pages": ["managed-cloud-deployment","self-hosted"]
+}
diff --git a/content/docs/launching-the-platform/self-hosted/infrastructure-requirements.mdx b/content/docs/launching-the-platform/self-hosted/infrastructure-requirements.mdx
new file mode 100644
index 00000000..8f38419f
--- /dev/null
+++ b/content/docs/launching-the-platform/self-hosted/infrastructure-requirements.mdx
@@ -0,0 +1,327 @@
+---
+title: Infrastructure Requirements
+description: Infrastructure requirements for self-hosting the platform
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Card } from 'fumadocs-ui/components/card'
+
+
+The requirements listed below are for the core platform components only. Additional resources will be needed for prerequisites and services you plan to deploy.
+
+
+## Compute Resources
+
+
+
+ - **CPU**: 4 cores
+ - **RAM**: 16GB
+ - **Storage**: 100GB SSD
+
+
+ Minimum requirements are suitable for testing and development environments only.
+
+
+
+
+ - **CPU**: 8+ cores
+ - **RAM**: 32GB
+ - **Storage**: 250GB+ SSD
+
+
+ These specifications provide headroom for growth and better performance.
+
+
+
+
+## Network Requirements
+
+The platform requires specific network configurations to ensure secure and reliable communication between components:
+
+
+
+ ### Connectivity
+
+ - **Internet Access**: Required for pulling container images and updates
+ - **Load Balancer**: For distributing traffic across nodes
+ - **Ingress Controller**: For routing external traffic
+ - **SSL/TLS**: Valid certificates for secure communication
+
+
+
+ ### Required Ports
+
+ - **80/443**: HTTP/HTTPS traffic
+ - **6443**: Kubernetes API server
+ - **30000-32767**: NodePort services range
+ - **10250**: Kubelet API
+ - **179**: Calico BGP (if using Calico)
+
+
+
+
+**Network Security**
+We recommend implementing network policies and security groups to control traffic flow between components.
+
+
+## Storage Requirements
+
+Proper storage configuration is crucial for platform stability and performance. Consider the following requirements:
+
+
+
+ ### Performance Requirements
+
+ - **Type**: SSD storage required for all components
+ - **IOPS**: Minimum 3000 IOPS for database volumes
+ - **Latency**: < 10ms average latency
+ - **Throughput**: 125MB/s minimum for database volumes
+
+
+
+ ### Capacity Planning
+
+ - **Initial Allocation**: Start with recommended sizes
+ - **Growth Buffer**: Plan for 30% annual growth
+ - **Backup Storage**: Equal to primary storage
+ - **Monitoring**: Implement storage usage alerts
+
+
+
+
+### Storage Best Practices
+
+- Use separate volumes for different components
+- Implement regular backup procedures
+- Monitor storage performance metrics
+- Set up alerts for capacity thresholds
+
+
+## Prerequisites Resource Requirements
+
+
+When hosting prerequisites on the same infrastructure, these requirements must be added to the base platform specifications. Each component can be hosted separately or together depending on your architecture.
+
+
+
+
+ ### PostgreSQL
+
+
+
+
+
+
+### Production Considerations
+
+These are baseline requirements. For production environments, consider:
+
+- High availability configurations may require 2-3x these resources
+- Monitoring and logging overhead
+- Backup storage requirements
+- Scaling headroom for growth
+
+
+### Total Resource Summary
+
+For a production setup hosting both platform and prerequisites:
+
+
+
+## Service Requirements
+
+The platform allows you to deploy services in two ways:
+
+1. On the same cluster as the platform
+2. On separate target clusters
+
+
+
+ ### Same Cluster Deployment
+
+ If you plan to deploy services on the same cluster as the platform:
+
+ - Add service requirements to the platform requirements
+ - Include them in capacity planning
+ - Account for resource overhead
+ - Plan for scaling headroom
+
+
+
+ ### Target Cluster Deployment
+
+ Using separate target clusters for services:
+
+ - Keeps platform and service workloads isolated
+ - Requires separate infrastructure planning
+ - Can be optimized for specific service needs
+ - Enables geographic distribution
+
+
+
+
+### Infrastructure Planning Strategy
+We recommend:
+
+1. List all services you plan to deploy
+2. Decide on deployment strategy (same cluster or target clusters)
+3. For same cluster: Add service requirements to platform requirements
+4. For target clusters: Plan separate infrastructure
+5. Include 30% buffer for growth and peak loads
+
+
+
+### Example Calculation
+Let's calculate requirements for a setup with:
+
+- 2 Polygon nodes (Mainnet & Mumbai)
+- 1 Hyperledger Besu node
+- 1 Smart Contract Portal
+- 1 Integration Studio
+- 1 Blocksout Explorer
+
+**Service Requirements (Medium size, Dedicated mode):**
+
+- Polygon Nodes (2x):
+ - CPU: 2 × 1.5 cores = 3 cores
+ - RAM: 2 × 1.0 GB = 2 GB
+ - Storage: Minimal
+
+- Besu Node (1x):
+ - CPU: 1.5 cores
+ - RAM: 2.5 GB
+ - Storage: 100 GB
+
+- Smart Contract Portal:
+ - CPU: 2.0 cores
+ - RAM: 2.0 GB
+ - Storage: 10 GB
+
+- Integration Studio:
+ - CPU: 2.0 cores
+ - RAM: 4.0 GB
+ - Storage: 10 GB
+
+- Blocksout Explorer:
+ - CPU: 2.0 cores
+ - RAM: 4.0 GB
+ - Storage: 50 GB
+
+**Same Cluster Approach:**
+- Total CPU: 27+ cores (16 platform/prereqs + 11 services)
+- Total RAM: 67GB+ (52GB platform/prereqs + 15GB services)
+- Total Storage: 620GB+ (440GB platform/prereqs + 180GB services)
+
+**Target Cluster Approach:**
+- Platform Cluster: 16+ cores, 52GB+ RAM, 440GB+ storage
+- Service Cluster: 11+ cores, 15GB+ RAM, 180GB+ storage
+
+
+
+For detailed specifications of all available services and their resource requirements, please refer to our [Service Requirements Documentation](/reference/service-requirements).
+
diff --git a/docs/launch-platform/self-hosted/installation-guide/introduction.md b/content/docs/launching-the-platform/self-hosted/introduction.mdx
similarity index 54%
rename from docs/launch-platform/self-hosted/installation-guide/introduction.md
rename to content/docs/launching-the-platform/self-hosted/introduction.mdx
index 4dee14b5..37dccced 100644
--- a/docs/launch-platform/self-hosted/installation-guide/introduction.md
+++ b/content/docs/launching-the-platform/self-hosted/introduction.mdx
@@ -1,93 +1,95 @@
---
title: Introduction
-sidebar_position: 1
description: Getting started with the SettleMint Platform self-hosted installation
---
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+
+
# Self-Hosted Installation Guide
Welcome to the SettleMint Platform self-hosted installation guide. This comprehensive guide will walk you through deploying the SettleMint Platform in your own infrastructure.
-:::tip Installation Time
+
+**Installation Time**
Complete installation typically takes 2-4 hours, depending on your infrastructure setup and familiarity with the components.
-:::
+
## Guide Structure
-This installation guide is organized into three main sections, designed to be followed in order:
-
-
-
-
-Start here to ensure your infrastructure meets all necessary specifications before proceeding. This section covers:
-
-- Kubernetes cluster requirements
-- Network and storage specifications
-- Access and security requirements
-
-[View Requirements Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/infrastructure-requirements)
+This installation guide is organized into three main sections. Select each tab below to learn more:
-
-
+
+
+ ### Requirements Section
+
+ Start here to ensure your infrastructure meets all necessary specifications before proceeding. This section covers:
-After confirming requirements, set up the required supporting services. This section provides:
+ - Kubernetes cluster requirements
+ - Network and storage specifications
+ - Access and security requirements
-- Step-by-step setup guides
-- Multiple deployment options
-- Configuration requirements
-- Information collection checklists
+ 👉 [View Requirements Guide](/launching-the-platform/self-hosted/infrastructure-requirements)
+
-[View Prerequisites Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/overview)
+
+ ### Prerequisites Section
+
+ After confirming requirements, set up the required supporting services. This section provides:
-
-
+ - Step-by-step setup guides
+ - Multiple deployment options
+ - Configuration requirements
+ - Information collection checklists
-Finally, deploy the SettleMint Platform using Helm:
+ 👉 [View Prerequisites Guide](/launching-the-platform/self-hosted/installation-guide/prerequisites/overview)
+
-- Standard Kubernetes deployment
-- Flexible configuration options
-- Production-ready setup
+
+ ### Installation Section
+
+ Finally, deploy the SettleMint Platform using Helm:
-[View Installation Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/platform-installation)
+ - Standard Kubernetes deployment
+ - Flexible configuration options
+ - Production-ready setup
-
+ 👉 [View Installation Guide](/docs/launching-the-platform/self-hosted/installation-guide/platform-installation)
+
-:::tip Using This Guide
+
+**Using This Guide**
We recommend:
1. Read through each section before starting
2. Complete all requirements and prerequisites
3. Collect required information as you progress
4. Follow the guides in order
- :::
+
## Before You Begin
-
-
+
+
+ ### Required Access
-### Required Access
+ - Administrative access to your infrastructure
+ - Ability to create/modify DNS records
+ - Permission to deploy Kubernetes resources
+ - Access to cloud resources (if applicable)
+
-- Administrative access to your infrastructure
-- Ability to create/modify DNS records
-- Permission to deploy Kubernetes resources
-- Access to cloud resources (if applicable)
+
+
+## Next Steps
+
+
+ ### Configure OAuth provider
+ ### Generate JWT signing key
+ ### Proceed to [PostgreSQL Setup](/launching-the-platform/self-hosted/prerequisites/postgresql)
+
+
+
+Need help? Contact [support@settlemint.com](mailto:support@settlemint.com) if you encounter any issues.
+
diff --git a/content/docs/launching-the-platform/self-hosted/prerequisites/overview.mdx b/content/docs/launching-the-platform/self-hosted/prerequisites/overview.mdx
new file mode 100644
index 00000000..0167b26d
--- /dev/null
+++ b/content/docs/launching-the-platform/self-hosted/prerequisites/overview.mdx
@@ -0,0 +1,151 @@
+---
+title: Prerequisites Overview
+description: Complete guide to setting up prerequisites for the SettleMint Platform installation
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Card } from 'fumadocs-ui/components/card'
+
+Before installing the SettleMint Platform, you'll need to set up several core services. This guide will walk you through each prerequisite and help you collect the necessary information for installation.
+
+
+
+Use the sidebar to navigate between different prerequisites. We recommend following them in order, but you can skip to specific sections if needed.
+
+
+## How to Use This Section
+
+1. Review each prerequisite service
+2. Choose your preferred deployment method for each service
+3. Follow the setup instructions
+4. Record the required information in a secure location
+5. Proceed to the next prerequisite
+
+
+Make sure to complete **all** prerequisites before proceeding with the platform installation. Missing or incorrectly configured services can cause installation failures.
+
+
+## Required Services
+
+
+
+ ### Ingress Controller
+ - Traffic management and load balancing
+ - SSL/TLS termination
+ - [Setup Guide](/launching-the-platform/self-hosted/prerequisites/ingress-controller)
+
+ ### Domain and TLS
+ - Domain name configuration
+ - SSL/TLS certificates
+ - [Setup Guide](/launching-the-platform/self-hosted/prerequisites/domain-and-tls)
+
+ ### Metrics and Logs
+ - Prometheus metrics collection
+ - Grafana visualization
+ - Loki log aggregation
+ - [Setup Guide](/launching-the-platform/self-hosted/prerequisites/metrics-and-logs)
+
+
+
+ ### PostgreSQL Database
+ - Primary platform database
+ - Stores user data and configurations
+ - Minimum version: PostgreSQL 13+
+ - [Setup Guide](/launching-the-platform/self-hosted/prerequisites/postgresql)
+
+ ### Redis Cache
+ - Session management
+ - Real-time features
+ - Performance optimization
+ - [Setup Guide](/launching-the-platform/self-hosted/prerequisites/redis)
+
+
+
+ ### S3-Compatible Storage
+ - Platform assets storage
+ - Blockchain data persistence
+ - [Setup Guide](/launching-the-platform/self-hosted/prerequisites/s3-compatible-storage)
+
+ ### Secrets management
+ - Secrets management
+ - Encryption keys
+ - [Setup Guide](/launching-the-platform/self-hosted/prerequisites/secret-management)
+
+ ### OAuth Provider
+ - Authentication service
+ - User identity management
+ - [Setup Guide](/launching-the-platform/self-hosted/prerequisites/oauth)
+
+
+
+## Deployment Options
+
+
+
+## Deployment Options
+
+
+
+ ### Google Secret Manager Setup
+
+
+ ### Enable the Secret Manager API
+ - Go to [Google Cloud Console](https://console.cloud.google.com)
+ - Navigate to Secret Manager
+ - Enable the Secret Manager API for your project
+
+ ### Create Service Account
+ - Navigate to IAM & Admin > Service Accounts
+ - Create a new service account
+ - Grant the following roles:
+ - `Secret Manager Admin`
+
+ ### Download Credentials
+ - Create and download a JSON key for the service account
+ - Keep this file secure - you'll need it during platform installation
+
+
+
+ **Google Secret Manager provides:**
+ - Fully managed service
+ - Automatic replication
+ - Fine-grained IAM controls
+ - Audit logging
+
+
+
+ **Helm Chart Values:**
+ ```yaml
+ # values.yaml for Helm installation
+ googleSecretManager:
+ # -- Enable Google Secret Manager integration
+ enabled: true
+ # -- The Google Cloud project ID
+ projectId: "your-project-id"
+ # -- The Google Cloud service account credentials JSON
+ credentials: |
+ {
+ // Your service account JSON key
+ }
+ ```
+
+
+
+ Make sure to:
+ 1. Enable Google Secret Manager in your Helm values
+ 2. Use the same project ID and credentials as in your platform configuration
+ 3. Properly format the service account JSON credentials
+
+
+
+
+ ### HashiCorp Cloud Platform Setup
+
+
+ ### Create Vault Cluster
+ - Sign up for [HashiCorp Cloud](https://portal.cloud.hashicorp.com)
+ - Choose Development tier (sufficient for most setups)
+ - Select "Start from Scratch" template
+ - Pick your preferred region
+
+ ### Configure Secret Engines
+ ```bash
+ vault secrets enable -path=ethereum kv-v2
+ vault secrets enable -path=ipfs kv-v2
+ vault secrets enable -path=fabric kv-v2
+ ```
+
+ ### Set Up Authentication
+ ```bash
+ # Enable AppRole auth method
+ vault auth enable approle
+
+ # Create platform policy
+ vault policy write btp - <
+
+
+ **TTL Configuration**
+ - `token_ttl`: How long tokens are valid (e.g., `1h`, `24h`, `30m`)
+ - `token_max_ttl`: Maximum token lifetime including renewals
+ - `secret_id_ttl`: How long secret IDs remain valid
+ - Set to `0` for non-expiring secret IDs
+ - Or specify duration like `6h`, `24h`, `168h` (1 week)
+
+
+
+ **HCP Vault provides:**
+ - Managed infrastructure
+ - Automatic updates
+ - Built-in high availability
+ - Professional support
+
+
+
+
+ ### Helm Chart Installation
+
+
+ ### Install Vault
+ ```bash
+ helm upgrade --install vault vault \
+ --repo https://helm.releases.hashicorp.com \
+ --namespace vault \
+ --create-namespace
+ ```
+
+ ### Initialize Vault
+ ```bash
+ # Initialize and save keys
+ kubectl exec vault-0 -n vault -- vault operator init \
+ -key-shares=1 \
+ -key-threshold=1
+
+ # Unseal Vault (replace with your key)
+ kubectl exec vault-0 -n vault -- vault operator unseal $VAULT_UNSEAL_KEY
+ ```
+
+ ### Configure Vault
+ Follow the same configuration steps as HCP Vault (steps 2-5) after logging in with the root token.
+
+
+
+ **For Production Use:**
+ - Use multiple key shares
+ - Configure proper storage backend
+ - Set up high availability
+ - Implement proper unsealing strategy
+
+
+
+
+## Information Collection
+
+
+### Required Values for Platform Installation
+
+Choose one of the following configurations for your Helm values:
+
+**For Google Secret Manager:**
+- [ ] GCP Project ID
+- [ ] Service Account JSON key
+
+```yaml
+# values.yaml
+vault:
+ enabled: false
+
+googleSecretManager:
+ enabled: true
+ projectId: 'your-project-id'
+ credentials: |
+ {
+ // Your service account JSON key
+ }
+```
+
+**For HashiCorp Vault:**
+- [ ] Vault address/endpoint
+- [ ] Role ID
+- [ ] Secret ID
+- [ ] Namespace (if using HCP Vault: `admin`)
+
+```yaml
+# values.yaml
+googleSecretManager:
+ enabled: false
+
+vault:
+ enabled: true
+ address: 'https://vault-cluster.hashicorp.cloud:8200'
+ namespace: 'admin' # Required for HCP Vault
+ roleId: 'your-role-id'
+ secretId: 'your-secret-id'
+```
+
+
+Make sure to:
+1. Enable only one secret management solution (`vault` or `googleSecretManager`)
+2. Disable the other option by setting `enabled: false`
+3. Provide all required values for your chosen solution
+
+
+
+## Validation
+
+
+
+ ```bash
+ # Set environment variables
+ export GOOGLE_APPLICATION_CREDENTIALS="path/to/service-account.json"
+ export PROJECT_ID="your-project-id"
+
+ # Verify access
+ gcloud secrets list --project=$PROJECT_ID
+ ```
+
+
+
+ ```bash
+ # Set environment variables
+ export VAULT_ADDR="your-vault-address"
+ export VAULT_NAMESPACE="admin" # For HCP Vault
+ export VAULT_ROLE_ID="your-role-id"
+ export VAULT_SECRET_ID="your-secret-id"
+
+ # Verify access
+ vault write auth/approle/login \
+ role_id=$VAULT_ROLE_ID \
+ secret_id=$VAULT_SECRET_ID
+ ```
+
+
+
+## Troubleshooting
+
+
+
+ ### Google Secret Manager Issues
+ - Verify service account permissions
+ - Check credentials file format
+ - Confirm API is enabled
+ - Validate project ID
+
+
+
+ ### Vault Issues
+ - Verify Vault address
+ - Check network access
+ - Confirm TLS settings
+ - Validate namespace (HCP)
+
+
+
+## Next Steps
+
+
+ ### Set up secret management service
+ ### Configure authentication
+ ### Proceed to [Metrics and Logs Setup](/launching-the-platform/self-hosted/prerequisites/metrics-and-logs)
+
+
+
+Need help? Contact [support@settlemint.com](mailto:support@settlemint.com) if you encounter any issues.
+
\ No newline at end of file
diff --git a/content/docs/launching-the-platform/self-hosted/prerequisites/terraform.mdx b/content/docs/launching-the-platform/self-hosted/prerequisites/terraform.mdx
new file mode 100644
index 00000000..f38caa43
--- /dev/null
+++ b/content/docs/launching-the-platform/self-hosted/prerequisites/terraform.mdx
@@ -0,0 +1,188 @@
+---
+title: Terraform Installation (Optional)
+description: Optional quick setup using Terraform for testing environments
+---
+
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+import { Steps } from 'fumadocs-ui/components/steps'
+import { Card } from 'fumadocs-ui/components/card'
+
+
+### Quick Setup Only
+This Terraform-based installation is designed for quick setup and testing environments only. For production deployments, we strongly recommend following the manual installation process to properly configure and secure each component according to your organization's requirements.
+
+**Key limitations:**
+- Components run locally in the cluster without High Availability
+- Basic security configurations
+- Limited customization options
+- Not suitable for production workloads
+
+
+## Prerequisites
+
+
+
+## Required APIs
+
+
+ ### Enable Container API
+ Visit: `https://console.developers.google.com/apis/api/container.googleapis.com/overview?project=`
+
+ ### Enable Cloud KMS API
+ Visit: `https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview?project=`
+
+
+## IAM Permissions
+
+
+
+ ### Recommended for Quick Setup
+ - `Owner` role
+
+
+
+ ### Required Roles
+ - `Editor`
+ - `Cloud KMS Admin`
+ - `Project IAM Admin`
+ - `Kubernetes Engine Admin`
+ - `Service Account Admin`
+
+
+
+## Installation Steps
+
+
+ ### Clone Repository
+ ```bash
+ git clone git@github.com:settlemint/tutorial-btp-on-gcp.git
+ ```
+
+ ### Set Environment Variables
+ ```bash
+ # DNS zone (subdomain) for platform access
+ export TF_VAR_gcp_dns_zone='YOUR_DNS_ZONE'
+
+ # Your GCP project ID
+ export TF_VAR_gcp_project_id='YOUR_GCP_PROJECT_ID'
+
+ # Target GCP region
+ export TF_VAR_gcp_region='YOUR_GCP_REGION'
+
+ # OAuth credentials
+ export TF_VAR_gcp_client_id='YOUR_GCP_CLIENT_ID'
+ export TF_VAR_gcp_client_secret='YOUR_GCP_CLIENT_SECRET'
+
+ # Registry credentials (provided by SettleMint)
+ export TF_VAR_oci_registry_username='YOUR_REGISTRY_USERNAME'
+ export TF_VAR_oci_registry_password='YOUR_REGISTRY_PASSWORD'
+ export TF_VAR_btp_version='BTP_VERSION'
+ ```
+
+
+## DNS Zone Setup
+
+
+ ### Navigate to DNS Zone Directory
+ ```bash
+ cd tutorial-btp-on-gcp/00_dns_zone
+ ```
+
+ ### Create DNS Zone
+ ```bash
+ terraform init
+ terraform apply
+ ```
+
+ ### Configure Domain Registrar
+ Add NS records for your subdomain (e.g., btp.settlemint.com) pointing to Google nameservers:
+ - ns-cloud-a1.googledomains.com
+ - ns-cloud-a2.googledomains.com
+ - ns-cloud-a3.googledomains.com
+ - ns-cloud-a4.googledomains.com
+
+ ### Verify DNS Delegation
+ ```bash
+ dig NS btp.settlemint.com
+ ```
+
+
+## Platform Infrastructure Setup
+
+
+ ### Navigate to Infrastructure Directory
+ ```bash
+ cd ../01_infrastructure
+ ```
+
+ ### Deploy Infrastructure
+ ```bash
+ terraform init
+ terraform apply
+ ```
+
+
+## Cleanup
+
+
+ ### Remove Resources
+ ```bash
+ terraform destroy
+ ```
+
+
+ You may need to run the destroy command twice if the first attempt fails.
+
+
+
+## Next Steps
+
+
+ ### Access Platform
+ Visit `https://btp.`
+
+ ### Complete Setup
+ Follow the initial setup wizard
+
+ ### Review Documentation
+ Check the [platform documentation](/launching-the-platform/self-hosted/introduction)
+
+
+## Troubleshooting
+
+
+
+ ### Common Issues
+ - Verify all environment variables are set correctly
+ - Ensure DNS delegation is complete (can take up to 48 hours)
+ - Check Terraform logs for specific error messages
+
+
+
+ ### Get Help
+ - Review error messages in detail
+ - Check GCP quotas and limits
+ - Contact [support@settlemint.com](mailto:support@settlemint.com)
+
+
+
+
+The Terraform installation is designed for demonstration and testing. For production deployments, we recommend following the manual installation process to configure each component according to your specific requirements.
+
\ No newline at end of file
diff --git a/content/docs/meta.json b/content/docs/meta.json
new file mode 100644
index 00000000..c895c1df
--- /dev/null
+++ b/content/docs/meta.json
@@ -0,0 +1,5 @@
+ {
+ "title": "Meta",
+ "icon": "Grid2x2Plus",
+ "pages": ["about-settlemint", "launching-the-platform" ,"building-with-settlemint","developer-guides","blockchain-guides","support","account-billing","releases","reference","terms-and-policies","security" ]
+}
diff --git a/docs/reference/.gitignore b/content/docs/reference/.gitignore
similarity index 100%
rename from docs/reference/.gitignore
rename to content/docs/reference/.gitignore
diff --git a/content/docs/reference/meta.json b/content/docs/reference/meta.json
new file mode 100644
index 00000000..742f76aa
--- /dev/null
+++ b/content/docs/reference/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "Reference",
+ "icon": "Library",
+ "position": 9
+}
diff --git a/docs/reference/service-requirements.md b/content/docs/reference/service-requirements.mdx
similarity index 95%
rename from docs/reference/service-requirements.md
rename to content/docs/reference/service-requirements.mdx
index 40f80d22..8642b472 100644
--- a/docs/reference/service-requirements.md
+++ b/content/docs/reference/service-requirements.mdx
@@ -1,16 +1,18 @@
---
title: Service Requirements
-sidebar_position: 3
description: Resource requirements for blockchain services that can be deployed on the platform
---
+import { Tabs, Tab } from 'fumadocs-ui/components/tabs'
+import { Callout } from 'fumadocs-ui/components/callout'
+
# Service Requirements
This document outlines the resource requirements for various services that can be deployed on the platform. Each service is available in different tiers and deployment modes to suit your needs.
-:::info Self-Hosted Installations
+
For self-hosted installations, when calculating infrastructure requirements, you should only consider the **Dedicated** mode specifications. Shared mode is only applicable for cloud-hosted deployments.
-:::
+
## Deployment Modes
@@ -25,17 +27,22 @@ Each mode comes in three sizes:
- **Medium**: For production environments with moderate load
- **Large**: For high-performance production environments
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-
-
+
+
## Public Networks
### Avalanche
-- **Mainnet Node**
+**Mainnet Node**
| Size | Mode | CPU (cores) | Memory (GB) | Storage (GB) | RPS |
| ------ | --------- | ----------- | ----------- | ------------ | --- |
@@ -210,9 +217,9 @@ import TabItem from '@theme/TabItem';
| Small | Dedicated | 0.75 | 1.25 | 10 | 10 |
| Medium | Dedicated | 1.5 | 2.5 | 100 | 20 |
| Large | Dedicated | 2.25 | 3.75 | 500 | 30 |
+
-
-
+
### Solidity Smart Contract Set
@@ -224,9 +231,9 @@ import TabItem from '@theme/TabItem';
| Small | Shared | 2.0 | 1.0 | 10 | - |
| Medium | Shared | 4.0 | 2.0 | 20 | - |
| Large | Shared | 6.0 | 3.0 | 30 | - |
+
-
-
+
### Attestation Indexer
@@ -271,9 +278,9 @@ import TabItem from '@theme/TabItem';
| Small | Shared | 0.25 | 0.25 | 5 | 20 |
| Medium | Shared | 0.5 | 0.5 | 10 | 30 |
| Large | Shared | 0.75 | 0.75 | 20 | 40 |
+
-
-
+
### Integration Studio
@@ -296,9 +303,9 @@ import TabItem from '@theme/TabItem';
| Small | Shared | 1.0 | 2.0 | 20 | 10 |
| Medium | Shared | 2.0 | 4.0 | 50 | 20 |
| Large | Shared | 3.0 | 6.0 | 100 | 30 |
+
-
-
+
### Blocksout Explorer
@@ -321,9 +328,9 @@ import TabItem from '@theme/TabItem';
| Small | Shared | 0.75 | 1.25 | 10 | 10 |
| Medium | Shared | 1.5 | 2.5 | 100 | 20 |
| Large | Shared | 2.25 | 3.75 | 500 | 30 |
+
-
-
+
### Custom Deployments
@@ -335,9 +342,9 @@ import TabItem from '@theme/TabItem';
| Small | Shared | 0.5 | 0.5 | - | 50 |
| Medium | Shared | 1.0 | 1.0 | - | 100 |
| Large | Shared | 2.0 | 2.0 | - | 150 |
+
-
-
+
### Minio Storage
@@ -360,12 +367,9 @@ import TabItem from '@theme/TabItem';
| Small | Shared | 0.5 | 1.0 | 10 | 10 |
| Medium | Shared | 1.0 | 2.0 | 50 | 20 |
| Large | Shared | 1.5 | 3.0 | 100 | 30 |
-
-
+
----
-
## Resource Allocation Notes
- CPU resources are measured in cores
@@ -374,10 +378,10 @@ import TabItem from '@theme/TabItem';
- RPS indicates Requests Per Second capacity
- Some services don't require persistent storage (indicated by "-")
-:::tip Sizing Recommendation
+
For production environments, we recommend:
- Starting with Medium size for moderate workloads
- Using Dedicated mode for critical infrastructure
- Planning for 30% additional capacity for growth
- :::
+
diff --git a/content/docs/releases/2024.mdx b/content/docs/releases/2024.mdx
new file mode 100644
index 00000000..16940556
--- /dev/null
+++ b/content/docs/releases/2024.mdx
@@ -0,0 +1,319 @@
+---
+title: "2024"
+---
+
+## Introducing the SettleMint SDK
+
+
+
+We're excited to announce the release of the **SettleMint SDK**, a powerful toolkit designed to streamline blockchain integration into modern applications. This comprehensive solution provides developers with everything needed to build and integrate blockchain solutions effectively.
+
+**Key Features**
+
+- **Comprehensive Integration**: Complete suite of tools for interacting with SettleMint's blockchain platform services including Smart Contracts, Smart Contract Portal Middleware, The Graph Middleware, IPFS, MinIO, and Blockchain Explorer
+- **Modular Architecture**: Specialized packages that let you pick and choose the exact blockchain functionalities your application needs
+- **Developer Experience**: Rich development tools with CLI capabilities and extensive documentation to accelerate your development process
+- **Enterprise Ready**: Production-grade components with built-in support for Next.js, GraphQL, and other enterprise technologies
+- **Type Safety**: Full TypeScript support across all packages, ensuring strong typing and modern development patterns
+
+The SDK simplifies blockchain development by providing pre-built components, utilities, and integrations while maintaining high standards for type safety, performance, and developer experience. Whether you're building a new blockchain application or integrating blockchain capabilities into an existing system, the SettleMint SDK provides the tools you need.
+
+The SDK is open source and available under the FSL Software License. To get started, visit our [SDK documentation](/docs/using-platform/dev-tools/SDK/) or explore the [SDK GitHub repository](https://github.com/settlemint/sdk).
+
+> This is just the beginning! We'll be continuously expanding the SDK's capabilities based on developer feedback and needs. Stay tuned for more updates and features.
+
+## Introducing Dev Tools
+
+
+
+We've made some exciting changes to improve your development experience:
+
+**What's New**
+
+- We've introduced a new **Dev Tools** section that will host various services aimed at making the development of decentralized applications easier
+- The first tool we're launching is **Code Studio** - our Integrated Development Environment (IDE) based on Visual Studio Code
+- Smart contract sets are now available as the first type of Code Studio
+- For more information on Dev Tools, please refer to the [Dev Tools documentation](/docs/using-platform/dev-tools/)
+
+**What's Changed**
+
+- The "Smart contract sets" service has moved into Dev Tools
+- Don't worry - all the same great features of Smart contract sets are still there, just in a new home!
+
+**Coming Soon**
+
+Stay tuned for more types of Code Studios that will make building decentralized applications even easier!
+
+---
+
+**Note**: All existing Smart contract sets functionality remains unchanged - we've just reorganized things to make room for more developer tools.
+
+## Zeto Smart Contract Set
+
+We're excited to introduce the Zeto Smart Contract Set, bringing comprehensive zero-knowledge token capabilities to the SettleMint platform.
+
+### Token Types
+
+#### Fungible Tokens
+
+1. **Zeto_Anon**
+
+ - Basic anonymous transfers
+ - Privacy-preserving transactions
+ - Standard fungible features
+
+2. **Zeto_AnonEnc**
+
+ - Encrypted anonymous transfers
+ - Enhanced privacy features
+ - Encrypted transaction data
+
+3. **Zeto_AnonNullifier**
+
+ - Anonymous with nullifiers
+ - Prevents double-spending
+ - Transaction tracking without revealing details
+
+4. **Zeto_AnonNullifierKyc**
+
+ - KYC-enabled anonymous transfers
+ - Regulatory compliance features
+ - Identity verification while maintaining privacy
+
+5. **Zeto_AnonEncNullifier**
+
+ - Encrypted transfers with nullifiers
+ - Combined encryption and tracking
+ - Maximum privacy with spending controls
+
+6. **Zeto_AnonEncNullifierKyc**
+ - KYC-enabled encrypted transfers
+ - Full suite of privacy features
+ - Compliant with regulatory requirements
+
+#### Non-Fungible Tokens
+
+1. **Zeto_NfAnon**
+
+ - Basic anonymous NFTs
+ - Private ownership
+ - Hidden transfer history
+
+2. **Zeto_NfAnonNullifier**
+ - NFTs with nullifiers
+ - Trackable unique assets
+ - Privacy-preserving ownership transfers
+
+### Zero-Knowledge DVP (Delivery vs Payment)
+
+- Atomic swaps between any token types
+- Private order matching
+- Secure settlement verification
+
+### Testing, Deployment & Trusted Setup
+
+- Fast test deployments with pre-configured environments
+- Local development setup
+- Production deployment helpers & MPC trusted setup guides
+
+### Subgraph Integration
+
+Pre-configured subgraph templates for all contracts
+
+### Open Source Zeto Deployment
+
+- Zeto smart contracts repository: [github.com/settlemint/solidity-zeto](https://github.com/settlemint/solidity-zeto)
+
+## Simplified Subgraph Deployments
+
+We've significantly simplified the subgraph deployment process. Here's what's changed:
+
+**Previously:**
+
+- Required deploying a smart contract set
+- Required IPFS deployment
+- Middleware needed explicit connections to both smart contract set and IPFS
+- Subgraphs could only be deployed to middlewares from their connected smart contract set
+
+**Now:**
+
+- Deploy middlewares independently without a smart contract set or IPFS required
+- Deploy subgraphs from any smart contract set to any middleware within an application
+
+**Key Benefits:**
+
+- Simplified architecture: Reduced deployment complexity and dependencies
+- Cost efficiency: Reuse graph middlewares across different smart contract sets
+- Enhanced flexibility: Freedom to deploy subgraphs from any smart contract set to any middleware
+
+## Run anything as a custom deployment
+
+
+
+SettleMint is excited to announce a powerful new feature: **Run Anything with Custom Deployments**! This feature revolutionizes how users can deploy decentralized applications (dApps) on our platform, offering unprecedented flexibility and control. Whether you’re developing a fintech platform, an NFT marketplace, or a DeFi solution, Custom Deployments let you seamlessly integrate your custom-built front-end and web technologies while leveraging the robust blockchain backend that SettleMint provides.
+
+With **Custom Deployments**, you now have the freedom to design applications according to your specific needs. This includes using custom domains for a more professional appearance, integrating advanced functionalities, and selecting the best infrastructure for your use case. The platform allows for flexible application design, which means you can use your preferred frameworks, programming languages, and design architectures without limitations. For instance, a fintech company developing a peer-to-peer lending platform can now deploy a user-friendly interface that meets their precise user requirements, streamlining the entire deployment process.
+
+Moreover, this feature unlocks enhanced scalability and security for your dApps. With SettleMint’s scalable infrastructure, you can handle high traffic and performance peaks seamlessly, ensuring your application grows as your user base expands. Additionally, our secure environment ensures your deployments meet the highest security standards, making Custom Deployments perfect for businesses that need to maintain trust and reliability with their users, such as investment firms launching asset tokenization platforms or DeFi platforms managing cross-chain transfers.
+
+## Integration of external consortia
+
+
+
+We’re excited to introduce a new feature in SettleMint that lets you connect directly to existing Hyperledger Besu and Quorum blockchain networks run by other organizations. This is a big win for businesses already involved in blockchain consortia or those looking to join one. With this feature, you can create nodes on the SettleMint platform and easily integrate with these permissioned networks, making collaboration with external partners more streamlined and secure.
+
+For companies working within consortia, this feature simplifies the process of joining networks that are already up and running. Whether you’re part of a supply chain network, a financial services consortium, or any other multi-party blockchain setup, you can now seamlessly connect without needing to build or manage the entire network yourself. This opens the door to stronger collaboration and more efficient operations, as all members of the consortium can easily contribute while maintaining control over their own nodes.
+
+By allowing organizations to integrate into these existing networks, this feature helps businesses accelerate their blockchain journey. It’s a powerful tool for enhancing transparency, security, and trust between partners in a consortium. With SettleMint, you can now tap into the benefits of shared blockchain networks with minimal setup, helping your enterprise grow and innovate alongside trusted collaborators.
+
+## Support the Soneium Network
+
+
+
+SettleMint’s support for the Soneium testnet is a significant boost for developers wanting to build on this efficient blockchain platform. Soneium is designed for scalability and offers a great environment for testing decentralized applications (dApps) before going live. With this integration, developers can take advantage of SettleMint’s powerful tools while experimenting with Soneium’s features, like low transaction costs and high processing speed. This makes it easier for teams to test their applications effectively and make quick adjustments as needed.
+
+By supporting the Soneium testnet, SettleMint improves the development experience by providing a secure and flexible space for developers to refine their applications. Users can easily deploy their dApps on the Soneium testnet, benefiting from its advanced features while using SettleMint’s straightforward interface and tools. This partnership not only encourages innovation but also helps developers create more reliable and efficient blockchain solutions, supporting the growth and adoption of the Soneium ecosystem.
+
+SettleMint is also committed to supporting the Soneium mainnet as soon as it goes live. This means that developers who have been testing their applications on the Soneium testnet can seamlessly transition to the mainnet without any disruptions. By providing immediate support for the mainnet, SettleMint ensures that developers can launch their dApps confidently, leveraging the full capabilities of the Soneium blockchain from day one. This approach not only streamlines the deployment process but also allows teams to continue building on the solid foundation they established during their testing phase, making it easier to bring innovative solutions to the market.
+
+## User Wallet Manager
+
+
+
+The User Wallet Manager feature within SettleMint provides a sophisticated and elegant solution for account management and identity masking through the use of Hierarchical Deterministic (HD) wallets. These HD wallets generate a structured hierarchy of private/public key pairs from a single master seed, allowing users to create a unique address for every transaction. This approach not only enhances privacy and security—since the addresses are related but not publicly linked—but also streamlines the management of keys. Users can efficiently create multiple child wallets under a single parent wallet, making it easy to categorize funds and back up their assets securely.
+
+One of the most significant benefits of the User Wallet Manager is its ability to mask user identity on a per-transaction basis. This feature provides an unlimited supply of account addresses, each with its own unique, untraceable private key. Organizations can manage different transaction classes or allocate accounts for various end users, significantly enhancing operational flexibility. This capability is especially beneficial for businesses that require distinct accounts for different functions, enabling them to avoid key reuse and duplicate signing, which can pose security risks.
+
+Moreover, the User Wallet Manager’s HD wallet functionality greatly simplifies asset management for both individuals and enterprises. By allowing businesses to partition separate wallets within their organization, it enhances organizational efficiency and security. The ability to recover entire wallet structures from a single master seed minimizes the risk associated with losing individual keys, making it an attractive option for financial services looking to deliver a secure blockchain solution.
+
+## Customize Kubernetes deployment settings
+
+
+
+The feature to customize Kubernetes deployment settings within SettleMint offers users an intuitive user interface (UI) that simplifies the management of deployed services in self-managed installations. This UI provides a comprehensive set of options for adjusting key deployment parameters, such as annotations, labels, tolerations, affinity, and node selectors. By making these customization options readily accessible, SettleMint enables users to tailor their Kubernetes configurations to better align with their specific operational needs and infrastructure requirements, fostering a more efficient and optimized deployment process.
+
+One of the standout benefits of this feature is its ability to facilitate seamless integration into existing infrastructure. Organizations often have unique requirements based on their operational environment, and the customization options provided by SettleMint empower users to implement any necessary settings effortlessly. This flexibility ensures that deployments can adhere to organizational policies and best practices while maintaining compatibility with the broader Kubernetes ecosystem. By allowing users to specify their desired configurations directly through the UI, SettleMint reduces the complexity typically associated with Kubernetes management, allowing teams to focus on their core business objectives.
+
+Moreover, the customization of deployment settings significantly enhances the scalability and resilience of services within the Kubernetes environment. By leveraging advanced features like affinity and tolerations, users can optimize resource allocation and improve workload distribution across nodes, leading to better performance and reliability. The ability to modify labels and annotations also aids in effective resource management, enabling users to implement advanced monitoring, logging, and orchestration strategies tailored to their needs. Overall, this feature empowers users to harness the full potential of their Kubernetes deployments, ensuring they can operate efficiently and effectively within their own customized infrastructure.
+
+## Support QBFT for Besu
+
+
+
+QBFT (Quorum Byzantine Fault Tolerance) is the latest consensus algorithm now available in Hyperledger Besu on the SettleMint platform. This proof-of-authority consensus mechanism is designed to provide enhanced security, scalability, and performance for enterprise blockchain networks. QBFT ensures that all participating nodes in the network agree on the state of the blockchain, even in the presence of potentially malicious actors or network failures. By utilizing a leader-based system with rotating block proposers, QBFT maintains network integrity while allowing for efficient transaction processing.
+
+Compared to its predecessor, IBFTv2, QBFT offers several significant improvements. First and foremost, QBFT provides immediate transaction finality, meaning that once a block is added to the chain, it's considered final and cannot be reversed. This feature is particularly crucial for financial applications where transaction certainty is paramount. Additionally, QBFT boasts enhanced performance metrics, with faster block times and higher transaction throughput. The algorithm also incorporates improved security measures, including protection against certain types of attacks that could potentially compromise IBFTv2 networks. These enhancements make QBFT a more robust and efficient choice for enterprise-grade blockchain deployments.
+
+We're excited to announce that QBFT is now the default consensus algorithm for all new Hyperledger Besu networks deployed on the SettleMint platform. This means that users can immediately take advantage of QBFT's benefits when launching their blockchain projects.
+
+## Attestation Service
+
+
+
+The Attestation Service is a groundbreaking framework designed to facilitate the creation, management, and verification of attestations on EVM cpmpatible blockchains (public or cosortium). By leveraging the decentralized and immutable nature of blockchain technology, it allows individuals and organizations to issue verifiable statements of fact, which can include anything from identity verification to compliance with regulatory standards. This service empowers users to maintain control over their data while providing transparency and trustworthiness to various processes.
+
+One of the most remarkable aspects of the Attestation Service is its potential to streamline numerous processes across various industries. For instance, in the realm of education, institutions can issue verified diplomas and certifications that are tamper-proof, ensuring that employers can trust the qualifications of job candidates. In healthcare, medical professionals can share validated credentials, thus enhancing patient safety and care quality. The Attestation Service also plays a crucial role in compliance-related scenarios, allowing businesses to demonstrate adherence to regulations and standards seamlessly, reducing the burden of paperwork and audits.
+
+The versatility of the Attestation Service extends to a wide array of use cases, making it an invaluable tool for both individuals and enterprises. Beyond identity verification and compliance, EAS can be applied to create transparent voting systems, enhance reputation management in decentralized finance (DeFi), and even support peer-to-peer lending by validating the creditworthiness of borrowers. Moreover, in the realm of environmental sustainability, it can help track and verify carbon credits, ensuring that claims about carbon offsets are accurate and trustworthy. Overall, the Ethereum Attestation Service stands as a transformative solution, unlocking new possibilities for trust and verification in our increasingly digital world.
+
+## Customize Genesis, Bootnode lists and key material
+
+
+
+You can now create new consortium networks where you have the capability to customize literally everything.
+
+1. You can build your own genesis files,
+2. Import them from external sources
+3. Customize boot node lists and the key material used for your nodes
+
+This allows you to do a variety of use cases that were impossible before.
+
+For example, you can migrate between different networks and different instances of the SettleMint platform. You can execute your own hard forks, customize settings that are not customizable via the UI, join external consortia that are restricted by identity or just in general join any external network you want.
+
+## Audit logs
+
+
+
+Every application and organization/workspace now has full access to the audit log. This will help you ensure maximum compliance in enterprise environments.
+
+## Smart Contract Portal
+
+
+
+The Smart Contract Portal is a middleware which creates an easy to use api on top of your smart contracts. It can be used with all EVM-compatible chains like Ethereum, Hyperledger Besu, Polygon, Binance Smart Chain, Avalanche, etc. You can run it on your own blockchain nodes (both public and permissioned) or on a Load Balancer.
+Benefits of using the smart contract portal:
+
+1. Simplified Integration: APIs allow developers to interact with complex smart contract functions through familiar interfaces, reducing the need to understand blockchain-specific languages and [protocols.](http://protocols.Data)
+
+2. Data Aggregation: APIs can consolidate data from multiple smart contracts, providing a unified view.
+
+3. Improved Performance: GraphQL optimizes data fetching, ensuring that clients retrieve only the necessary data in a single request, reducing network load and improving performance.
+
+4. Stack agnostic: Teams are free to choose their own technology stack.
+
+## Installation guide for GCP
+
+
+
+Getting started with the self-managed platform might seem daunting, but in practice it is not that complex. To showcase this we have open-sourced a complete guide and Terraform module to do so on GCP. From 0 to hero in about 30 minutes!
+
+Get started today on [https://github.com/settlemint/tutorial-btp-on-gcp ](https://github.com/settlemint/tutorial-btp-on-gcp)
+
+## Hashgraph Hedera
+
+
+
+Hedera is a public distributed ledger technology (DLT) network that was launched in August 2018 by Hedera Hashgraph, LLC. It uses the Hashgraph consensus algorithm, which is a unique and novel approach to achieving consensus in a distributed network.
+
+Hedera's native cryptocurrency is called HBAR, and it is used to power the network’s services, including smart contracts, file storage, and regular transactions.
+
+Hedera focuses on providing high throughput, low latency, and fair transaction ordering, making it suitable for enterprise-grade applications. Unlike blockchain-based systems, Hedera’s Hashgraph algorithm ensures fast, fair, and secure transactions without compromising decentralization. We support, the Hedera Mainnet and the Hedera Testnet.
+
+## Embedded o11y infrastructure
+
+
+
+The platform now includes a complete observability suite. It powers the resource metrics and logs in the platform UI, and includes a Grafana instance for operation personel to track any metric they wish to follow.
+
+## Polygon Amoy
+
+
+
+The beloved and widely used Mumbai testnet for Polygon PoS uses Ethereum Goerli testnet as its root chain. This means Mumbai counts on Goerli for block production.
+But Goerli is currently scheduled for deprecation, by the end of Q1 2024. The Amoy testnet for Polygon PoS is the replacement and has been launched, a new testnet that provides a low-stakes environment to build, test, and break things.
+Amoy will use Ethereum Sepolia testnet as the root (L1) chain. Developers deploying on Amoy can continue to count on the availability of essential validators, infra, faucets, tooling, and more, in a sustainable and future-proof environment.
+Now available in the SettleMint platform.
+
+> Any Mumbai nodes will cease to function in the near future, please migrate your applications as soon as possible.
+
+## Managed Platform v7
+
+
+
+The managed platform has been upgraded to the same codebase as the earlier Self-Managed release, providing a secure and more importantly, low barrier entry to transofring your organisation with Blockchain
+
+## Self-Managed platform v7
+
+
+
+Fully modular overhaul of the self managed platform to enable maximum flexibility in its deployment and feature parity with the Managed Platform
+
+- New and improved Helm chart to deploy the platform on your own infrastructure
+
+- Fully customisable and configurable via the Helm values
+
+- Complete feature parity, from services to service deployment with the Managed platform (same codebase and helm chart)
+
+- Dramatically improved performance in restrictive environments
+
+- [Open-Source Smart Contract](https://github.com/settlemint) sets and the ability to build custom sets from these templates and add them as default options in the platform
+
+Get in touch with your SettleMint contact to upgrade or start a trial
diff --git a/static/img/releases/attestation-service.png b/content/docs/releases/assets/attestation-service.png
similarity index 100%
rename from static/img/releases/attestation-service.png
rename to content/docs/releases/assets/attestation-service.png
diff --git a/static/img/releases/audit-logs.png b/content/docs/releases/assets/audit-logs.png
similarity index 100%
rename from static/img/releases/audit-logs.png
rename to content/docs/releases/assets/audit-logs.png
diff --git a/static/img/releases/customize-genesis-bootnode-lists-and-key-material.png b/content/docs/releases/assets/customize-genesis-bootnode-lists-and-key-material.png
similarity index 100%
rename from static/img/releases/customize-genesis-bootnode-lists-and-key-material.png
rename to content/docs/releases/assets/customize-genesis-bootnode-lists-and-key-material.png
diff --git a/static/img/releases/customize-kubernetes-deployment-settings.png b/content/docs/releases/assets/customize-kubernetes-deployment-settings.png
similarity index 100%
rename from static/img/releases/customize-kubernetes-deployment-settings.png
rename to content/docs/releases/assets/customize-kubernetes-deployment-settings.png
diff --git a/static/img/releases/dev-tools.png b/content/docs/releases/assets/dev-tools.png
similarity index 100%
rename from static/img/releases/dev-tools.png
rename to content/docs/releases/assets/dev-tools.png
diff --git a/static/img/releases/embedded-o11y-infrastructure.png b/content/docs/releases/assets/embedded-o11y-infrastructure.png
similarity index 100%
rename from static/img/releases/embedded-o11y-infrastructure.png
rename to content/docs/releases/assets/embedded-o11y-infrastructure.png
diff --git a/static/img/releases/hashgraph-hedera.png b/content/docs/releases/assets/hashgraph-hedera.png
similarity index 100%
rename from static/img/releases/hashgraph-hedera.png
rename to content/docs/releases/assets/hashgraph-hedera.png
diff --git a/static/img/releases/installation-guide-for-google-cloud-platform.png b/content/docs/releases/assets/installation-guide-for-google-cloud-platform.png
similarity index 100%
rename from static/img/releases/installation-guide-for-google-cloud-platform.png
rename to content/docs/releases/assets/installation-guide-for-google-cloud-platform.png
diff --git a/static/img/releases/integration-of-external-consortia.png b/content/docs/releases/assets/integration-of-external-consortia.png
similarity index 100%
rename from static/img/releases/integration-of-external-consortia.png
rename to content/docs/releases/assets/integration-of-external-consortia.png
diff --git a/static/img/releases/managed-platform-v7.png b/content/docs/releases/assets/managed-platform-v7.png
similarity index 100%
rename from static/img/releases/managed-platform-v7.png
rename to content/docs/releases/assets/managed-platform-v7.png
diff --git a/static/img/releases/polygon-amoy.png b/content/docs/releases/assets/polygon-amoy.png
similarity index 100%
rename from static/img/releases/polygon-amoy.png
rename to content/docs/releases/assets/polygon-amoy.png
diff --git a/static/img/releases/run-anything-as-a-custom-deployment.png b/content/docs/releases/assets/run-anything-as-a-custom-deployment.png
similarity index 100%
rename from static/img/releases/run-anything-as-a-custom-deployment.png
rename to content/docs/releases/assets/run-anything-as-a-custom-deployment.png
diff --git a/static/img/releases/self-managed-platform-v7.png b/content/docs/releases/assets/self-managed-platform-v7.png
similarity index 100%
rename from static/img/releases/self-managed-platform-v7.png
rename to content/docs/releases/assets/self-managed-platform-v7.png
diff --git a/static/img/releases/smart-contract-set-portal.png b/content/docs/releases/assets/smart-contract-set-portal.png
similarity index 100%
rename from static/img/releases/smart-contract-set-portal.png
rename to content/docs/releases/assets/smart-contract-set-portal.png
diff --git a/static/img/releases/support-qbft-for-besu.png b/content/docs/releases/assets/support-qbft-for-besu.png
similarity index 100%
rename from static/img/releases/support-qbft-for-besu.png
rename to content/docs/releases/assets/support-qbft-for-besu.png
diff --git a/static/img/releases/support-the-soneium-network.png b/content/docs/releases/assets/support-the-soneium-network.png
similarity index 100%
rename from static/img/releases/support-the-soneium-network.png
rename to content/docs/releases/assets/support-the-soneium-network.png
diff --git a/static/img/releases/user-wallet-manager.png b/content/docs/releases/assets/user-wallet-manager.png
similarity index 100%
rename from static/img/releases/user-wallet-manager.png
rename to content/docs/releases/assets/user-wallet-manager.png
diff --git a/content/docs/releases/meta.json b/content/docs/releases/meta.json
new file mode 100644
index 00000000..8ecc2d8b
--- /dev/null
+++ b/content/docs/releases/meta.json
@@ -0,0 +1,4 @@
+{
+ "title": "Release Notes",
+ "icon": "PackagePlus"
+}
diff --git a/docs/security/4_application_security.md b/content/docs/security/application-security.mdx
similarity index 97%
rename from docs/security/4_application_security.md
rename to content/docs/security/application-security.mdx
index 25e0392f..e58cf7ce 100644
--- a/docs/security/4_application_security.md
+++ b/content/docs/security/application-security.mdx
@@ -1,10 +1,7 @@
---
-id: application-security
title: Application Security
---
-# Application Security
-
Our development process integrates security at every stage. We follow best practices and employ advanced tools to ensure the security of our applications.
## Secure Software Development Lifecycle (SDLC)
diff --git a/docs/security/2_compliance-and-certifications.md b/content/docs/security/compliance-and-certifications.mdx
similarity index 97%
rename from docs/security/2_compliance-and-certifications.md
rename to content/docs/security/compliance-and-certifications.mdx
index cabef2d5..c6edc7c8 100644
--- a/docs/security/2_compliance-and-certifications.md
+++ b/content/docs/security/compliance-and-certifications.mdx
@@ -1,10 +1,7 @@
---
-id: compliance-and-certifications
title: Compliance and Certifications
---
-# Compliance and Certifications
-
SettleMint is committed to maintaining compliance with industry standards and regulations. We have obtained several certifications that demonstrate our dedication to security and quality.
## Industry Standards and Certifications
diff --git a/docs/security/5_data_security.md b/content/docs/security/data-security.mdx
similarity index 97%
rename from docs/security/5_data_security.md
rename to content/docs/security/data-security.mdx
index f9fab251..048bd734 100644
--- a/docs/security/5_data_security.md
+++ b/content/docs/security/data-security.mdx
@@ -1,10 +1,7 @@
---
-id: data-security
title: Data Security
---
-# Data Security
-
We employ advanced encryption techniques and data protection measures to ensure the security of data at all times.
## Data Encryption
diff --git a/docs/security/6_incident_response.md b/content/docs/security/incident-response.mdx
similarity index 96%
rename from docs/security/6_incident_response.md
rename to content/docs/security/incident-response.mdx
index 3bae7807..13bfe3ad 100644
--- a/docs/security/6_incident_response.md
+++ b/content/docs/security/incident-response.mdx
@@ -1,10 +1,7 @@
---
-id: incident-response
title: Incident Response
---
-# Incident Response
-
We have a detailed incident response plan in place to address security incidents promptly and effectively.
## Incident Detection
diff --git a/docs/security/0_introduction.md b/content/docs/security/index.mdx
similarity index 97%
rename from docs/security/0_introduction.md
rename to content/docs/security/index.mdx
index 5b419b36..877e332a 100644
--- a/docs/security/0_introduction.md
+++ b/content/docs/security/index.mdx
@@ -1,10 +1,7 @@
---
-id: introduction
title: Introduction
---
-# Introduction
-
At SettleMint, we prioritize the security of our clients' data and systems. Our comprehensive security posture encompasses policies, procedures, and technologies designed to protect against a wide range of threats. This document outlines the key elements of our security strategy and demonstrates our commitment to maintaining the highest standards of security.
## Our Commitment to Security
diff --git a/docs/security/3_infrastructure_security.md b/content/docs/security/infrastructure-security.mdx
similarity index 98%
rename from docs/security/3_infrastructure_security.md
rename to content/docs/security/infrastructure-security.mdx
index 0ef523b8..ffd1ce36 100644
--- a/docs/security/3_infrastructure_security.md
+++ b/content/docs/security/infrastructure-security.mdx
@@ -1,10 +1,7 @@
---
-id: infrastructure-security
title: Infrastructure Security
---
-# Infrastructure Security
-
Our infrastructure is designed with multiple layers of security to protect against various threats. We employ advanced technologies and best practices to ensure the security and resilience of our systems.
## Cloud Security
diff --git a/content/docs/security/meta.json b/content/docs/security/meta.json
new file mode 100644
index 00000000..04081c2e
--- /dev/null
+++ b/content/docs/security/meta.json
@@ -0,0 +1,13 @@
+{
+ "title": "Security",
+ "icon": "ShieldCheck",
+ "pages": [
+ "security-policies",
+ "compliance-and-certifications",
+ "infrastructure-security",
+ "application-security",
+ "data-security",
+ "incident-response",
+ "security-scanners"
+ ]
+}
diff --git a/docs/security/1_security-policies.md b/content/docs/security/security-policies.mdx
similarity index 98%
rename from docs/security/1_security-policies.md
rename to content/docs/security/security-policies.mdx
index 35998827..0c7666a4 100644
--- a/docs/security/1_security-policies.md
+++ b/content/docs/security/security-policies.mdx
@@ -1,10 +1,7 @@
---
-id: security-policies
title: Security Policies
---
-# Security Policies
-
SettleMint has established comprehensive security policies to safeguard our systems and data. These policies are designed to ensure the confidentiality, integrity, and availability of information.
## Data Protection and Privacy
diff --git a/docs/security/7_security_scanners.md b/content/docs/security/security-scanners.mdx
similarity index 91%
rename from docs/security/7_security_scanners.md
rename to content/docs/security/security-scanners.mdx
index dd45e713..8d4ddeb5 100644
--- a/docs/security/7_security_scanners.md
+++ b/content/docs/security/security-scanners.mdx
@@ -1,10 +1,7 @@
---
-id: security-scanners
title: Security Scanners
---
-# Security Scanners
-
SettleMint uses advanced security scanners to maintain the integrity and security of our codebase and dependencies. This page provides detailed information about the scanners we use, including Aikido, TruffleHog, and Renovate.
## Aikido
@@ -46,10 +43,6 @@ Renovate is a dependency management tool that automates the process of updating
- **Pull Request Creation**: Automatically generates pull requests for updates, simplifying the update process.
- **Compatibility Checks**: Ensures that updates are compatible with the existing codebase, reducing the risk of breaking changes.
-## Chainguard Docker Images
-
-We use Chainguard Docker images for most of the images we use. Chainguard images are known for their enhanced security features, which further strengthens our overall security posture. However, it's important to note that Chainguard does not provide images for everything, so we complement them with other solutions as needed.
-
## Integration with CI/CD Pipeline
These security scanners are integrated into our CI/CD pipeline to provide continuous security checks and ensure that vulnerabilities are identified and addressed promptly.
diff --git a/content/docs/support/meta.json b/content/docs/support/meta.json
new file mode 100644
index 00000000..0f08152f
--- /dev/null
+++ b/content/docs/support/meta.json
@@ -0,0 +1,5 @@
+{
+ "label": "Get Support",
+ "position": 5,
+ "icon": "LifeBuoy"
+}
diff --git a/docs/support/support.md b/content/docs/support/support.md
similarity index 89%
rename from docs/support/support.md
rename to content/docs/support/support.md
index 06d46d82..3b093f67 100644
--- a/docs/support/support.md
+++ b/content/docs/support/support.md
@@ -1,3 +1,7 @@
+---
+title: "Get Support"
+---
+
# Contact Us
We are here to provide support for all your troubleshooting and technical questions.
diff --git a/docs/terms-and-policies/1_cookie-policy.md b/content/docs/terms-and-policies/cookie-policy.mdx
similarity index 98%
rename from docs/terms-and-policies/1_cookie-policy.md
rename to content/docs/terms-and-policies/cookie-policy.mdx
index b8e209d4..702da401 100644
--- a/docs/terms-and-policies/1_cookie-policy.md
+++ b/content/docs/terms-and-policies/cookie-policy.mdx
@@ -1,4 +1,6 @@
-# Cookie policy
+---
+title: Cookie Policy
+---
## 1. What are cookies?
diff --git a/docs/terms-and-policies/3_gdpr_guide.md b/content/docs/terms-and-policies/gdpr-guide.mdx
similarity index 97%
rename from docs/terms-and-policies/3_gdpr_guide.md
rename to content/docs/terms-and-policies/gdpr-guide.mdx
index ec4dcbb6..aae55987 100644
--- a/docs/terms-and-policies/3_gdpr_guide.md
+++ b/content/docs/terms-and-policies/gdpr-guide.mdx
@@ -1,4 +1,6 @@
-# GDPR Compliance for Blockchain Applications: A Guide for European Companies
+---
+title: "GDPR Compliance for Blockchain Applications: A Guide for European Companies"
+---
## Introduction
diff --git a/content/docs/terms-and-policies/meta.json b/content/docs/terms-and-policies/meta.json
new file mode 100644
index 00000000..c746c3c0
--- /dev/null
+++ b/content/docs/terms-and-policies/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "Terms & Policies",
+ "icon": "Scale",
+ "pages": ["terms-of-service", "cookie-policy", "privacy-policy", "gdpr-guide"]
+}
diff --git a/docs/terms-and-policies/2_privacy-policy.md b/content/docs/terms-and-policies/privacy-policy.mdx
similarity index 98%
rename from docs/terms-and-policies/2_privacy-policy.md
rename to content/docs/terms-and-policies/privacy-policy.mdx
index 72dfb4f8..f9595942 100644
--- a/docs/terms-and-policies/2_privacy-policy.md
+++ b/content/docs/terms-and-policies/privacy-policy.mdx
@@ -1,4 +1,6 @@
-# Privacy policy
+---
+title: Privacy Policy
+---
## 1. Who we are
@@ -9,8 +11,8 @@ Your privacy is important to us, therefore we've developed this Privacy Policy,
Personal data are all data that can be traced back to individual persons and identify them directly or indirectly; such as a name, phone number, location, email or home address.
Should you have any questions, concerns or complaints regarding this Privacy Policy or our processing of your personal data; or you wish to submit a request to exercise your rights as set out by the GDPR, you can contact us:
-(a) Via mail: privacy@settlemint.com.
-(b) By post: 7Tuinen, Building B, Arnould Nobelstraat 38, 3000 Leuven, Belgium to the attention of our Data Protection Officer.
+- Via mail: privacy@settlemint.com.
+- By post: Arnould Nobelstraat 30, 3000 Leuven, Belgium to the attention of our Data Protection Officer.
This Privacy Policy was revised last on February 21, 2021.
@@ -31,7 +33,7 @@ For this purpose, we collect the following data:
- Phone number
- Any additional information you provide to us regarding your project
-Alternatively, you can contact us by email via hello@settlemint.com, hello@certimint.com or hello@databroker.global.
+Alternatively, you can contact us by email via hello@settlemint.com.
We process this information based on your consent as you provided this information freely to us.
### 2.2 Newsletter
diff --git a/docs/terms-and-policies/0_terms-of-service.md b/content/docs/terms-and-policies/terms-of-service.mdx
similarity index 95%
rename from docs/terms-and-policies/0_terms-of-service.md
rename to content/docs/terms-and-policies/terms-of-service.mdx
index 86a842ca..add58719 100644
--- a/docs/terms-and-policies/0_terms-of-service.md
+++ b/content/docs/terms-and-policies/terms-of-service.mdx
@@ -1,22 +1,24 @@
-# Terms of service
+---
+title: Terms of Service
+---
-SettleMint Blockchain-as-a-Service (BaaS) Platform -- Terms of Service
+SettleMint Platform -- Terms of Service
-DISCLAIMER: Please read these Terms of Service carefully before using the SettleMint BaaS Platform (as defined below). By clicking the "I agree" button, you agree that your use of the SettleMint BaaS Platform shall be governed by these Terms of Service.
+DISCLAIMER: Please read these Terms of Service carefully before using the SettleMint Platform (as defined below). By using the platform, you agree that your use of the SettleMint Platform shall be governed by these Terms of Service.
Version 2.0 -- October 15, 2021
-If you have any questions about the SettleMint BaaS Platform or these Terms of Service, please contact us at hello@settlemint.com.
+If you have any questions about the SettleMint Platform or these Terms of Service, please contact us at hello@settlemint.com.
-The SettleMint BaaS Platform (as defined herafter) is operated and managed by SettleMint, a limited liability company (naamloze vennootschap) having its registered office at 7Tuinen, Building B, Arnould Nobelstraat 38, 3000 Leuven (Belgium) and registered with the Crossroads Bank of Enterprises (Kruispuntbank van Ondernemingen) under company number 0661.674.810 (RLE Leuven) ("SettleMint" or "we").
+The SettleMint Platform (as defined herafter) is operated and managed by SettleMint, a limited liability company (naamloze vennootschap) having its registered office at 7Tuinen, Building B, Arnould Nobelstraat 38, 3000 Leuven (Belgium) and registered with the Crossroads Bank of Enterprises (Kruispuntbank van Ondernemingen) under company number 0661.674.810 (RLE Leuven) ("SettleMint" or "we").
-These terms of service (the "Terms of Service") describe the terms and conditions under which user(s) ("User(s)" or "you") can access and use the SettleMint BaaS Platform) except when other contractual arrangements are expressly made between SettleMint and User. The general terms and conditions of the User are not applicable and are therefore expressly excluded, even if such general terms and conditions would contain a similar clause. In the event of any conflict or inconsistency between the provisions of these Terms of Service and the provisions of any contractual arrangements between SettleMint and User, the provisions of the latter shall prevail.
+These terms of service (the "Terms of Service") describe the terms and conditions under which user(s) ("User(s)" or "you") can access and use the SettleMint Platform) except when other contractual arrangements are expressly made between SettleMint and User. The general terms and conditions of the User are not applicable and are therefore expressly excluded, even if such general terms and conditions would contain a similar clause. In the event of any conflict or inconsistency between the provisions of these Terms of Service and the provisions of any contractual arrangements between SettleMint and User, the provisions of the latter shall prevail.
SettleMint and the User are hereinafter jointly referred to as "Parties" and each individually as a "Party".
-## 1. DESCRIPTION OF THE SettleMint BAAS PLATFORM
+## 1. DESCRIPTION OF THE SettleMint PLATFORM
-The SettleMint BaaS Platform is a cloud-based blockchain application building, integration and hosting platform allowing developers to build and integrate blockchain applications available at ``(the "Platform").
+The SettleMint Platform is a cloud-based blockchain application building, integration and hosting platform allowing developers to build and integrate blockchain applications available at https://console.settlemint.com (the "Platform").
## 2. APPLICABILITY
diff --git a/static/img/about-settlemint/192shots_so.png b/content/img/about-settlemint/192shots_so.png
similarity index 100%
rename from static/img/about-settlemint/192shots_so.png
rename to content/img/about-settlemint/192shots_so.png
diff --git a/static/img/about-settlemint/Blockchain Certification.png b/content/img/about-settlemint/Blockchain Certification.png
similarity index 100%
rename from static/img/about-settlemint/Blockchain Certification.png
rename to content/img/about-settlemint/Blockchain Certification.png
diff --git a/static/img/about-settlemint/ISO_27001.png b/content/img/about-settlemint/ISO_27001.png
similarity index 100%
rename from static/img/about-settlemint/ISO_27001.png
rename to content/img/about-settlemint/ISO_27001.png
diff --git a/static/img/about-settlemint/ISO_9001.png b/content/img/about-settlemint/ISO_9001.png
similarity index 100%
rename from static/img/about-settlemint/ISO_9001.png
rename to content/img/about-settlemint/ISO_9001.png
diff --git a/static/img/about-settlemint/SM_blockchain-made-easy.png b/content/img/about-settlemint/SM_blockchain-made-easy.png
similarity index 100%
rename from static/img/about-settlemint/SM_blockchain-made-easy.png
rename to content/img/about-settlemint/SM_blockchain-made-easy.png
diff --git a/static/img/about-settlemint/SOC2_type2.png b/content/img/about-settlemint/SOC2_type2.png
similarity index 100%
rename from static/img/about-settlemint/SOC2_type2.png
rename to content/img/about-settlemint/SOC2_type2.png
diff --git a/static/img/about-settlemint/add-load.png b/content/img/about-settlemint/add-load.png
similarity index 100%
rename from static/img/about-settlemint/add-load.png
rename to content/img/about-settlemint/add-load.png
diff --git a/static/img/about-settlemint/add-member.png b/content/img/about-settlemint/add-member.png
similarity index 100%
rename from static/img/about-settlemint/add-member.png
rename to content/img/about-settlemint/add-member.png
diff --git a/static/img/about-settlemint/add-network.png b/content/img/about-settlemint/add-network.png
similarity index 100%
rename from static/img/about-settlemint/add-network.png
rename to content/img/about-settlemint/add-network.png
diff --git a/static/img/about-settlemint/add-node.png b/content/img/about-settlemint/add-node.png
similarity index 100%
rename from static/img/about-settlemint/add-node.png
rename to content/img/about-settlemint/add-node.png
diff --git a/static/img/about-settlemint/aikido-icon.png b/content/img/about-settlemint/aikido-icon.png
similarity index 100%
rename from static/img/about-settlemint/aikido-icon.png
rename to content/img/about-settlemint/aikido-icon.png
diff --git a/static/img/about-settlemint/blockchain-application.png b/content/img/about-settlemint/blockchain-application.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-application.png
rename to content/img/about-settlemint/blockchain-application.png
diff --git a/static/img/about-settlemint/blockchain-logos/arbitrum-logo.png b/content/img/about-settlemint/blockchain-logos/arbitrum-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/arbitrum-logo.png
rename to content/img/about-settlemint/blockchain-logos/arbitrum-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/avalanche-logo.png b/content/img/about-settlemint/blockchain-logos/avalanche-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/avalanche-logo.png
rename to content/img/about-settlemint/blockchain-logos/avalanche-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/besu-logo.png b/content/img/about-settlemint/blockchain-logos/besu-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/besu-logo.png
rename to content/img/about-settlemint/blockchain-logos/besu-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/bnb-logo.png b/content/img/about-settlemint/blockchain-logos/bnb-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/bnb-logo.png
rename to content/img/about-settlemint/blockchain-logos/bnb-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/edge-logo.png b/content/img/about-settlemint/blockchain-logos/edge-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/edge-logo.png
rename to content/img/about-settlemint/blockchain-logos/edge-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/eth-logo.png b/content/img/about-settlemint/blockchain-logos/eth-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/eth-logo.png
rename to content/img/about-settlemint/blockchain-logos/eth-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/fabric-logo.png b/content/img/about-settlemint/blockchain-logos/fabric-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/fabric-logo.png
rename to content/img/about-settlemint/blockchain-logos/fabric-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/hedera-logo.png b/content/img/about-settlemint/blockchain-logos/hedera-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/hedera-logo.png
rename to content/img/about-settlemint/blockchain-logos/hedera-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/optimism-logo.png b/content/img/about-settlemint/blockchain-logos/optimism-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/optimism-logo.png
rename to content/img/about-settlemint/blockchain-logos/optimism-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/polygon-edge.png b/content/img/about-settlemint/blockchain-logos/polygon-edge.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/polygon-edge.png
rename to content/img/about-settlemint/blockchain-logos/polygon-edge.png
diff --git a/static/img/about-settlemint/blockchain-logos/polygon-logo.webp b/content/img/about-settlemint/blockchain-logos/polygon-logo.webp
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/polygon-logo.webp
rename to content/img/about-settlemint/blockchain-logos/polygon-logo.webp
diff --git a/static/img/about-settlemint/blockchain-logos/Quorum-logo.png b/content/img/about-settlemint/blockchain-logos/quorum-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/Quorum-logo.png
rename to content/img/about-settlemint/blockchain-logos/quorum-logo.png
diff --git a/static/img/about-settlemint/blockchain-logos/zkevm-logo.png b/content/img/about-settlemint/blockchain-logos/zkevm-logo.png
similarity index 100%
rename from static/img/about-settlemint/blockchain-logos/zkevm-logo.png
rename to content/img/about-settlemint/blockchain-logos/zkevm-logo.png
diff --git a/static/img/about-settlemint/create-app.png b/content/img/about-settlemint/create-app.png
similarity index 100%
rename from static/img/about-settlemint/create-app.png
rename to content/img/about-settlemint/create-app.png
diff --git a/static/img/about-settlemint/create-org.png b/content/img/about-settlemint/create-org.png
similarity index 100%
rename from static/img/about-settlemint/create-org.png
rename to content/img/about-settlemint/create-org.png
diff --git a/static/img/about-settlemint/discord-icon.png b/content/img/about-settlemint/discord-icon.png
similarity index 100%
rename from static/img/about-settlemint/discord-icon.png
rename to content/img/about-settlemint/discord-icon.png
diff --git a/static/img/about-settlemint/discord-icon.webp b/content/img/about-settlemint/discord-icon.webp
similarity index 100%
rename from static/img/about-settlemint/discord-icon.webp
rename to content/img/about-settlemint/discord-icon.webp
diff --git a/static/img/about-settlemint/integration.png b/content/img/about-settlemint/integration.png
similarity index 100%
rename from static/img/about-settlemint/integration.png
rename to content/img/about-settlemint/integration.png
diff --git a/static/img/about-settlemint/jira-icon.webp b/content/img/about-settlemint/jira-icon.webp
similarity index 100%
rename from static/img/about-settlemint/jira-icon.webp
rename to content/img/about-settlemint/jira-icon.webp
diff --git a/static/img/about-settlemint/manage-network.png b/content/img/about-settlemint/manage-network.png
similarity index 100%
rename from static/img/about-settlemint/manage-network.png
rename to content/img/about-settlemint/manage-network.png
diff --git a/static/img/about-settlemint/manage-org.png b/content/img/about-settlemint/manage-org.png
similarity index 100%
rename from static/img/about-settlemint/manage-org.png
rename to content/img/about-settlemint/manage-org.png
diff --git a/static/img/about-settlemint/middleware.png b/content/img/about-settlemint/middleware.png
similarity index 100%
rename from static/img/about-settlemint/middleware.png
rename to content/img/about-settlemint/middleware.png
diff --git a/static/img/about-settlemint/network-node.png b/content/img/about-settlemint/network-node.png
similarity index 100%
rename from static/img/about-settlemint/network-node.png
rename to content/img/about-settlemint/network-node.png
diff --git a/static/img/about-settlemint/platform-screenshot.png b/content/img/about-settlemint/platform-screenshot.png
similarity index 100%
rename from static/img/about-settlemint/platform-screenshot.png
rename to content/img/about-settlemint/platform-screenshot.png
diff --git a/static/img/about-settlemint/platform.png b/content/img/about-settlemint/platform.png
similarity index 100%
rename from static/img/about-settlemint/platform.png
rename to content/img/about-settlemint/platform.png
diff --git a/static/img/about-settlemint/platformModel.png b/content/img/about-settlemint/platformModel.png
similarity index 100%
rename from static/img/about-settlemint/platformModel.png
rename to content/img/about-settlemint/platformModel.png
diff --git a/static/img/about-settlemint/platformModelBlue.png b/content/img/about-settlemint/platformModelBlue.png
similarity index 100%
rename from static/img/about-settlemint/platformModelBlue.png
rename to content/img/about-settlemint/platformModelBlue.png
diff --git a/static/img/about-settlemint/platformModelWhite.png b/content/img/about-settlemint/platformModelWhite.png
similarity index 100%
rename from static/img/about-settlemint/platformModelWhite.png
rename to content/img/about-settlemint/platformModelWhite.png
diff --git a/static/img/about-settlemint/platformScreenshot.webp b/content/img/about-settlemint/platformScreenshot.webp
similarity index 100%
rename from static/img/about-settlemint/platformScreenshot.webp
rename to content/img/about-settlemint/platformScreenshot.webp
diff --git a/static/img/about-settlemint/sign-up.png b/content/img/about-settlemint/sign-up.png
similarity index 100%
rename from static/img/about-settlemint/sign-up.png
rename to content/img/about-settlemint/sign-up.png
diff --git a/static/img/about-settlemint/smart-contract.png b/content/img/about-settlemint/smart-contract.png
similarity index 100%
rename from static/img/about-settlemint/smart-contract.png
rename to content/img/about-settlemint/smart-contract.png
diff --git a/static/img/about-settlemint/storage.png b/content/img/about-settlemint/storage.png
similarity index 100%
rename from static/img/about-settlemint/storage.png
rename to content/img/about-settlemint/storage.png
diff --git a/static/img/about-settlemint/support-icon.png b/content/img/about-settlemint/support-icon.png
similarity index 100%
rename from static/img/about-settlemint/support-icon.png
rename to content/img/about-settlemint/support-icon.png
diff --git a/static/img/about-settlemint/trial-status.png b/content/img/about-settlemint/trial-status.png
similarity index 100%
rename from static/img/about-settlemint/trial-status.png
rename to content/img/about-settlemint/trial-status.png
diff --git a/static/img/about-settlemint/zoom-icon.png b/content/img/about-settlemint/zoom-icon.png
similarity index 100%
rename from static/img/about-settlemint/zoom-icon.png
rename to content/img/about-settlemint/zoom-icon.png
diff --git a/static/img/account-billing/Client-Partner.png b/content/img/account-billing/Client-Partner.png
similarity index 100%
rename from static/img/account-billing/Client-Partner.png
rename to content/img/account-billing/Client-Partner.png
diff --git a/static/img/account-billing/Partner-Client.png b/content/img/account-billing/Partner-Client.png
similarity index 100%
rename from static/img/account-billing/Partner-Client.png
rename to content/img/account-billing/Partner-Client.png
diff --git a/static/img/blockchain-guide/Hasura_Import.png b/content/img/blockchain-guide/Hasura_Import.png
similarity index 100%
rename from static/img/blockchain-guide/Hasura_Import.png
rename to content/img/blockchain-guide/Hasura_Import.png
diff --git a/static/img/blockchain-guide/IDE.png b/content/img/blockchain-guide/IDE.png
similarity index 100%
rename from static/img/blockchain-guide/IDE.png
rename to content/img/blockchain-guide/IDE.png
diff --git a/static/img/deploy-scs/foundry-build.png b/content/img/deploy-scs/foundry-build.png
similarity index 100%
rename from static/img/deploy-scs/foundry-build.png
rename to content/img/deploy-scs/foundry-build.png
diff --git a/static/img/deploy-scs/hardhat-build.png b/content/img/deploy-scs/hardhat-build.png
similarity index 100%
rename from static/img/deploy-scs/hardhat-build.png
rename to content/img/deploy-scs/hardhat-build.png
diff --git a/static/img/deploy-scs/hardhat-deploy-local-network.png b/content/img/deploy-scs/hardhat-deploy-local-network.png
similarity index 100%
rename from static/img/deploy-scs/hardhat-deploy-local-network.png
rename to content/img/deploy-scs/hardhat-deploy-local-network.png
diff --git a/static/img/deploy-scs/hardhat-deploy-local-success.png b/content/img/deploy-scs/hardhat-deploy-local-success.png
similarity index 100%
rename from static/img/deploy-scs/hardhat-deploy-local-success.png
rename to content/img/deploy-scs/hardhat-deploy-local-success.png
diff --git a/static/img/deploy-scs/hardhat-deploy-remote-select-node.png b/content/img/deploy-scs/hardhat-deploy-remote-select-node.png
similarity index 100%
rename from static/img/deploy-scs/hardhat-deploy-remote-select-node.png
rename to content/img/deploy-scs/hardhat-deploy-remote-select-node.png
diff --git a/static/img/deploy-scs/hardhat-deploy-remote-select-private-key.png b/content/img/deploy-scs/hardhat-deploy-remote-select-private-key.png
similarity index 100%
rename from static/img/deploy-scs/hardhat-deploy-remote-select-private-key.png
rename to content/img/deploy-scs/hardhat-deploy-remote-select-private-key.png
diff --git a/static/img/deploy-scs/hardhat-deploy-remote-success.png b/content/img/deploy-scs/hardhat-deploy-remote-success.png
similarity index 100%
rename from static/img/deploy-scs/hardhat-deploy-remote-success.png
rename to content/img/deploy-scs/hardhat-deploy-remote-success.png
diff --git a/static/img/deploy-scs/hardhat-deploy-remote.png b/content/img/deploy-scs/hardhat-deploy-remote.png
similarity index 100%
rename from static/img/deploy-scs/hardhat-deploy-remote.png
rename to content/img/deploy-scs/hardhat-deploy-remote.png
diff --git a/static/img/deploy-scs/hardhat-start-local-network.png b/content/img/deploy-scs/hardhat-start-local-network.png
similarity index 100%
rename from static/img/deploy-scs/hardhat-start-local-network.png
rename to content/img/deploy-scs/hardhat-start-local-network.png
diff --git a/static/img/deploy-scs/open-ide.png b/content/img/deploy-scs/open-ide.png
similarity index 100%
rename from static/img/deploy-scs/open-ide.png
rename to content/img/deploy-scs/open-ide.png
diff --git a/static/img/deploy-scs/settlemint-login.png b/content/img/deploy-scs/settlemint-login.png
similarity index 100%
rename from static/img/deploy-scs/settlemint-login.png
rename to content/img/deploy-scs/settlemint-login.png
diff --git a/static/img/deploy-scs/task-manager.png b/content/img/deploy-scs/task-manager.png
similarity index 100%
rename from static/img/deploy-scs/task-manager.png
rename to content/img/deploy-scs/task-manager.png
diff --git a/static/img/developer-guides/access-token.png b/content/img/developer-guides/access-token.png
similarity index 100%
rename from static/img/developer-guides/access-token.png
rename to content/img/developer-guides/access-token.png
diff --git a/static/img/developer-guides/asset-tokenization/access-token-node-storage.png b/content/img/developer-guides/asset-tokenization/access-token-node-storage.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/access-token-node-storage.png
rename to content/img/developer-guides/asset-tokenization/access-token-node-storage.png
diff --git a/static/img/developer-guides/asset-tokenization/add-ipfs.png b/content/img/developer-guides/asset-tokenization/add-ipfs.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/add-ipfs.png
rename to content/img/developer-guides/asset-tokenization/add-ipfs.png
diff --git a/static/img/developer-guides/asset-tokenization/add-to-ipfs.png b/content/img/developer-guides/asset-tokenization/add-to-ipfs.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/add-to-ipfs.png
rename to content/img/developer-guides/asset-tokenization/add-to-ipfs.png
diff --git a/static/img/developer-guides/asset-tokenization/asset-debug.png b/content/img/developer-guides/asset-tokenization/asset-debug.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/asset-debug.png
rename to content/img/developer-guides/asset-tokenization/asset-debug.png
diff --git a/static/img/developer-guides/asset-tokenization/asset-imported.png b/content/img/developer-guides/asset-tokenization/asset-imported.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/asset-imported.png
rename to content/img/developer-guides/asset-tokenization/asset-imported.png
diff --git a/static/img/developer-guides/asset-tokenization/asset.png b/content/img/developer-guides/asset-tokenization/asset.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/asset.png
rename to content/img/developer-guides/asset-tokenization/asset.png
diff --git a/static/img/developer-guides/asset-tokenization/assetname.gif b/content/img/developer-guides/asset-tokenization/assetname.gif
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/assetname.gif
rename to content/img/developer-guides/asset-tokenization/assetname.gif
diff --git a/static/img/developer-guides/asset-tokenization/compile-contract.png b/content/img/developer-guides/asset-tokenization/compile-contract.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/compile-contract.png
rename to content/img/developer-guides/asset-tokenization/compile-contract.png
diff --git a/static/img/developer-guides/asset-tokenization/configure-besu.png b/content/img/developer-guides/asset-tokenization/configure-besu.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/configure-besu.png
rename to content/img/developer-guides/asset-tokenization/configure-besu.png
diff --git a/static/img/developer-guides/asset-tokenization/contract-address.png b/content/img/developer-guides/asset-tokenization/contract-address.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/contract-address.png
rename to content/img/developer-guides/asset-tokenization/contract-address.png
diff --git a/static/img/developer-guides/asset-tokenization/create-a-network.gif b/content/img/developer-guides/asset-tokenization/create-a-network.gif
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/create-a-network.gif
rename to content/img/developer-guides/asset-tokenization/create-a-network.gif
diff --git a/static/img/developer-guides/asset-tokenization/create-an-application.png b/content/img/developer-guides/asset-tokenization/create-an-application.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/create-an-application.png
rename to content/img/developer-guides/asset-tokenization/create-an-application.png
diff --git a/static/img/developer-guides/asset-tokenization/create-an-integration.png b/content/img/developer-guides/asset-tokenization/create-an-integration.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/create-an-integration.png
rename to content/img/developer-guides/asset-tokenization/create-an-integration.png
diff --git a/static/img/developer-guides/asset-tokenization/create-asset-contract.png b/content/img/developer-guides/asset-tokenization/create-asset-contract.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/create-asset-contract.png
rename to content/img/developer-guides/asset-tokenization/create-asset-contract.png
diff --git a/static/img/developer-guides/asset-tokenization/create-empty-smart-contract.png b/content/img/developer-guides/asset-tokenization/create-empty-smart-contract.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/create-empty-smart-contract.png
rename to content/img/developer-guides/asset-tokenization/create-empty-smart-contract.png
diff --git a/static/img/developer-guides/asset-tokenization/create-key.png b/content/img/developer-guides/asset-tokenization/create-key.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/create-key.png
rename to content/img/developer-guides/asset-tokenization/create-key.png
diff --git a/static/img/developer-guides/asset-tokenization/deploy-integration.png b/content/img/developer-guides/asset-tokenization/deploy-integration.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/deploy-integration.png
rename to content/img/developer-guides/asset-tokenization/deploy-integration.png
diff --git a/static/img/developer-guides/asset-tokenization/edit-deploy.png b/content/img/developer-guides/asset-tokenization/edit-deploy.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/edit-deploy.png
rename to content/img/developer-guides/asset-tokenization/edit-deploy.png
diff --git a/static/img/developer-guides/asset-tokenization/generate-key.png b/content/img/developer-guides/asset-tokenization/generate-key.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/generate-key.png
rename to content/img/developer-guides/asset-tokenization/generate-key.png
diff --git a/static/img/developer-guides/asset-tokenization/globalvariables-settings.png b/content/img/developer-guides/asset-tokenization/globalvariables-settings.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/globalvariables-settings.png
rename to content/img/developer-guides/asset-tokenization/globalvariables-settings.png
diff --git a/static/img/developer-guides/asset-tokenization/import-integration.png b/content/img/developer-guides/asset-tokenization/import-integration.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/import-integration.png
rename to content/img/developer-guides/asset-tokenization/import-integration.png
diff --git a/static/img/developer-guides/asset-tokenization/json-rpc.png b/content/img/developer-guides/asset-tokenization/json-rpc.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/json-rpc.png
rename to content/img/developer-guides/asset-tokenization/json-rpc.png
diff --git a/static/img/developer-guides/asset-tokenization/name-the-application.png b/content/img/developer-guides/asset-tokenization/name-the-application.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/name-the-application.png
rename to content/img/developer-guides/asset-tokenization/name-the-application.png
diff --git a/static/img/developer-guides/asset-tokenization/network-success.png b/content/img/developer-guides/asset-tokenization/network-success.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/network-success.png
rename to content/img/developer-guides/asset-tokenization/network-success.png
diff --git a/static/img/developer-guides/asset-tokenization/open-fullscreen.png b/content/img/developer-guides/asset-tokenization/open-fullscreen.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/open-fullscreen.png
rename to content/img/developer-guides/asset-tokenization/open-fullscreen.png
diff --git a/static/img/developer-guides/asset-tokenization/open-integration.png b/content/img/developer-guides/asset-tokenization/open-integration.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/open-integration.png
rename to content/img/developer-guides/asset-tokenization/open-integration.png
diff --git a/static/img/developer-guides/asset-tokenization/set-global-variables.gif b/content/img/developer-guides/asset-tokenization/set-global-variables.gif
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/set-global-variables.gif
rename to content/img/developer-guides/asset-tokenization/set-global-variables.gif
diff --git a/static/img/developer-guides/asset-tokenization/set-local-node.png b/content/img/developer-guides/asset-tokenization/set-local-node.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/set-local-node.png
rename to content/img/developer-guides/asset-tokenization/set-local-node.png
diff --git a/static/img/developer-guides/asset-tokenization/set-pinning.png b/content/img/developer-guides/asset-tokenization/set-pinning.png
similarity index 100%
rename from static/img/developer-guides/asset-tokenization/set-pinning.png
rename to content/img/developer-guides/asset-tokenization/set-pinning.png
diff --git a/static/img/developer-guides/choose-network.png b/content/img/developer-guides/choose-network.png
similarity index 100%
rename from static/img/developer-guides/choose-network.png
rename to content/img/developer-guides/choose-network.png
diff --git a/static/img/developer-guides/choose-tempalte.png b/content/img/developer-guides/choose-tempalte.png
similarity index 100%
rename from static/img/developer-guides/choose-tempalte.png
rename to content/img/developer-guides/choose-tempalte.png
diff --git a/static/img/developer-guides/connect-frontend-erc20-template.png b/content/img/developer-guides/connect-frontend-erc20-template.png
similarity index 100%
rename from static/img/developer-guides/connect-frontend-erc20-template.png
rename to content/img/developer-guides/connect-frontend-erc20-template.png
diff --git a/static/img/developer-guides/copy-abi.png b/content/img/developer-guides/copy-abi.png
similarity index 100%
rename from static/img/developer-guides/copy-abi.png
rename to content/img/developer-guides/copy-abi.png
diff --git a/static/img/developer-guides/create-application.png b/content/img/developer-guides/create-application.png
similarity index 100%
rename from static/img/developer-guides/create-application.png
rename to content/img/developer-guides/create-application.png
diff --git a/static/img/developer-guides/deploy-contract.png b/content/img/developer-guides/deploy-contract.png
similarity index 100%
rename from static/img/developer-guides/deploy-contract.png
rename to content/img/developer-guides/deploy-contract.png
diff --git a/static/img/developer-guides/front-end.png b/content/img/developer-guides/front-end.png
similarity index 100%
rename from static/img/developer-guides/front-end.png
rename to content/img/developer-guides/front-end.png
diff --git a/static/img/developer-guides/metamask.png b/content/img/developer-guides/metamask.png
similarity index 100%
rename from static/img/developer-guides/metamask.png
rename to content/img/developer-guides/metamask.png
diff --git a/static/img/developer-guides/open-ide.png b/content/img/developer-guides/open-ide.png
similarity index 100%
rename from static/img/developer-guides/open-ide.png
rename to content/img/developer-guides/open-ide.png
diff --git a/static/img/developer-guides/openai-node.png b/content/img/developer-guides/openai-node copy.png
similarity index 100%
rename from static/img/developer-guides/openai-node.png
rename to content/img/developer-guides/openai-node copy.png
diff --git a/content/img/developer-guides/openai-node.png b/content/img/developer-guides/openai-node.png
new file mode 100644
index 00000000..49a531f4
Binary files /dev/null and b/content/img/developer-guides/openai-node.png differ
diff --git a/static/img/developer-guides/polygon-faucet.png b/content/img/developer-guides/polygon-faucet.png
similarity index 100%
rename from static/img/developer-guides/polygon-faucet.png
rename to content/img/developer-guides/polygon-faucet.png
diff --git a/static/img/developer-guides/project-id.png b/content/img/developer-guides/project-id.png
similarity index 100%
rename from static/img/developer-guides/project-id.png
rename to content/img/developer-guides/project-id.png
diff --git a/static/img/developer-guides/tokens-sent.png b/content/img/developer-guides/tokens-sent.png
similarity index 100%
rename from static/img/developer-guides/tokens-sent.png
rename to content/img/developer-guides/tokens-sent.png
diff --git a/static/img/document360/Files/Cookie Policy SettleMint - February 2021.pdf b/content/img/document360/Files/Cookie Policy SettleMint - February 2021.pdf
similarity index 100%
rename from static/img/document360/Files/Cookie Policy SettleMint - February 2021.pdf
rename to content/img/document360/Files/Cookie Policy SettleMint - February 2021.pdf
diff --git a/static/img/document360/Images/Blockscout 1.png b/content/img/document360/Images/Blockscout 1.png
similarity index 100%
rename from static/img/document360/Images/Blockscout 1.png
rename to content/img/document360/Images/Blockscout 1.png
diff --git a/static/img/document360/Images/Blockscout 2.png b/content/img/document360/Images/Blockscout 2.png
similarity index 100%
rename from static/img/document360/Images/Blockscout 2.png
rename to content/img/document360/Images/Blockscout 2.png
diff --git a/static/img/document360/Images/Blockscout 3.png b/content/img/document360/Images/Blockscout 3.png
similarity index 100%
rename from static/img/document360/Images/Blockscout 3.png
rename to content/img/document360/Images/Blockscout 3.png
diff --git a/static/img/document360/Images/HLF connect to a node.png b/content/img/document360/Images/HLF connect to a node.png
similarity index 100%
rename from static/img/document360/Images/HLF connect to a node.png
rename to content/img/document360/Images/HLF connect to a node.png
diff --git a/static/img/document360/Images/aiko-1.png b/content/img/document360/Images/aiko-1.png
similarity index 100%
rename from static/img/document360/Images/aiko-1.png
rename to content/img/document360/Images/aiko-1.png
diff --git a/static/img/document360/Images/blockchain-integration-studio.webp b/content/img/document360/Images/blockchain-integration-studio.webp
similarity index 100%
rename from static/img/document360/Images/blockchain-integration-studio.webp
rename to content/img/document360/Images/blockchain-integration-studio.webp
diff --git a/static/img/document360/Images/ethers-project-import.png b/content/img/document360/Images/ethers-project-import.png
similarity index 100%
rename from static/img/document360/Images/ethers-project-import.png
rename to content/img/document360/Images/ethers-project-import.png
diff --git a/static/img/document360/Images/thumbzup_419.png b/content/img/document360/Images/thumbzup_419.png
similarity index 100%
rename from static/img/document360/Images/thumbzup_419.png
rename to content/img/document360/Images/thumbzup_419.png
diff --git a/static/img/guides/asset-tokenization.png b/content/img/guides/asset-tokenization.png
similarity index 100%
rename from static/img/guides/asset-tokenization.png
rename to content/img/guides/asset-tokenization.png
diff --git a/static/img/guides/connect-frontend.png b/content/img/guides/connect-frontend.png
similarity index 100%
rename from static/img/guides/connect-frontend.png
rename to content/img/guides/connect-frontend.png
diff --git a/static/img/quickstart/HelloWorld.png b/content/img/quickstart/HelloWorld.png
similarity index 100%
rename from static/img/quickstart/HelloWorld.png
rename to content/img/quickstart/HelloWorld.png
diff --git a/static/img/quickstart/addsmartcontractset.png b/content/img/quickstart/addsmartcontractset.png
similarity index 100%
rename from static/img/quickstart/addsmartcontractset.png
rename to content/img/quickstart/addsmartcontractset.png
diff --git a/static/img/quickstart/allkeysettingsselected.png b/content/img/quickstart/allkeysettingsselected.png
similarity index 100%
rename from static/img/quickstart/allkeysettingsselected.png
rename to content/img/quickstart/allkeysettingsselected.png
diff --git a/static/img/quickstart/callcontractsecond.png b/content/img/quickstart/callcontractsecond.png
similarity index 100%
rename from static/img/quickstart/callcontractsecond.png
rename to content/img/quickstart/callcontractsecond.png
diff --git a/static/img/quickstart/choosetemplate.png b/content/img/quickstart/choosetemplate.png
similarity index 100%
rename from static/img/quickstart/choosetemplate.png
rename to content/img/quickstart/choosetemplate.png
diff --git a/static/img/quickstart/complieanddeploy.png b/content/img/quickstart/complieanddeploy.png
similarity index 100%
rename from static/img/quickstart/complieanddeploy.png
rename to content/img/quickstart/complieanddeploy.png
diff --git a/static/img/quickstart/contractAddress.png b/content/img/quickstart/contractAddress.png
similarity index 100%
rename from static/img/quickstart/contractAddress.png
rename to content/img/quickstart/contractAddress.png
diff --git a/static/img/quickstart/contractAddressPasted.png b/content/img/quickstart/contractAddressPasted.png
similarity index 100%
rename from static/img/quickstart/contractAddressPasted.png
rename to content/img/quickstart/contractAddressPasted.png
diff --git a/static/img/quickstart/copyjsonrpc.png b/content/img/quickstart/copyjsonrpc.png
similarity index 100%
rename from static/img/quickstart/copyjsonrpc.png
rename to content/img/quickstart/copyjsonrpc.png
diff --git a/static/img/quickstart/copyprivatekey.png b/content/img/quickstart/copyprivatekey.png
similarity index 100%
rename from static/img/quickstart/copyprivatekey.png
rename to content/img/quickstart/copyprivatekey.png
diff --git a/static/img/quickstart/createAPIKey1.png b/content/img/quickstart/createAPIKey1.png
similarity index 100%
rename from static/img/quickstart/createAPIKey1.png
rename to content/img/quickstart/createAPIKey1.png
diff --git a/static/img/quickstart/createanapp2 1.png b/content/img/quickstart/createanapp2-1.png
similarity index 100%
rename from static/img/quickstart/createanapp2 1.png
rename to content/img/quickstart/createanapp2-1.png
diff --git a/static/img/quickstart/createorg.png b/content/img/quickstart/createorg.png
similarity index 100%
rename from static/img/quickstart/createorg.png
rename to content/img/quickstart/createorg.png
diff --git a/static/img/quickstart/deploy.png b/content/img/quickstart/deploy.png
similarity index 100%
rename from static/img/quickstart/deploy.png
rename to content/img/quickstart/deploy.png
diff --git a/static/img/quickstart/deploychanges.png b/content/img/quickstart/deploychanges.png
similarity index 100%
rename from static/img/quickstart/deploychanges.png
rename to content/img/quickstart/deploychanges.png
diff --git a/static/img/quickstart/deploymentplan.png b/content/img/quickstart/deploymentplan.png
similarity index 100%
rename from static/img/quickstart/deploymentplan.png
rename to content/img/quickstart/deploymentplan.png
diff --git a/static/img/quickstart/helloworldcontracteditor.png b/content/img/quickstart/helloworldcontracteditor.png
similarity index 100%
rename from static/img/quickstart/helloworldcontracteditor.png
rename to content/img/quickstart/helloworldcontracteditor.png
diff --git a/static/img/quickstart/hyperledgerbesu.png b/content/img/quickstart/hyperledgerbesu.png
similarity index 100%
rename from static/img/quickstart/hyperledgerbesu.png
rename to content/img/quickstart/hyperledgerbesu.png
diff --git a/static/img/quickstart/integrationstudioimport.png b/content/img/quickstart/integrationstudioimport.png
similarity index 100%
rename from static/img/quickstart/integrationstudioimport.png
rename to content/img/quickstart/integrationstudioimport.png
diff --git a/static/img/quickstart/integrationstudiointerface.png b/content/img/quickstart/integrationstudiointerface.png
similarity index 100%
rename from static/img/quickstart/integrationstudiointerface.png
rename to content/img/quickstart/integrationstudiointerface.png
diff --git a/static/img/quickstart/integrationstudiosetup.png b/content/img/quickstart/integrationstudiosetup.png
similarity index 100%
rename from static/img/quickstart/integrationstudiosetup.png
rename to content/img/quickstart/integrationstudiosetup.png
diff --git a/static/img/quickstart/intergrationstudio-deployed.png b/content/img/quickstart/intergrationstudio-deployed.png
similarity index 100%
rename from static/img/quickstart/intergrationstudio-deployed.png
rename to content/img/quickstart/intergrationstudio-deployed.png
diff --git a/static/img/quickstart/intergrationstudio-interface.png b/content/img/quickstart/intergrationstudio-interface.png
similarity index 100%
rename from static/img/quickstart/intergrationstudio-interface.png
rename to content/img/quickstart/intergrationstudio-interface.png
diff --git a/static/img/quickstart/jsonrpcpasted.png b/content/img/quickstart/jsonrpcpasted.png
similarity index 100%
rename from static/img/quickstart/jsonrpcpasted.png
rename to content/img/quickstart/jsonrpcpasted.png
diff --git a/static/img/quickstart/networkingdeploying.png b/content/img/quickstart/networkingdeploying.png
similarity index 100%
rename from static/img/quickstart/networkingdeploying.png
rename to content/img/quickstart/networkingdeploying.png
diff --git a/static/img/quickstart/pastedAPIKey.png b/content/img/quickstart/pastedAPIKey.png
similarity index 100%
rename from static/img/quickstart/pastedAPIKey.png
rename to content/img/quickstart/pastedAPIKey.png
diff --git a/static/img/quickstart/pasteprivatekey.png b/content/img/quickstart/pasteprivatekey.png
similarity index 100%
rename from static/img/quickstart/pasteprivatekey.png
rename to content/img/quickstart/pasteprivatekey.png
diff --git a/static/img/quickstart/privatekey.png b/content/img/quickstart/privatekey.png
similarity index 100%
rename from static/img/quickstart/privatekey.png
rename to content/img/quickstart/privatekey.png
diff --git a/static/img/quickstart/privatekeycreated.png b/content/img/quickstart/privatekeycreated.png
similarity index 100%
rename from static/img/quickstart/privatekeycreated.png
rename to content/img/quickstart/privatekeycreated.png
diff --git a/static/img/quickstart/renamecontract.png b/content/img/quickstart/renamecontract.png
similarity index 100%
rename from static/img/quickstart/renamecontract.png
rename to content/img/quickstart/renamecontract.png
diff --git a/static/img/quickstart/settinginformation.png b/content/img/quickstart/settinginformation.png
similarity index 100%
rename from static/img/quickstart/settinginformation.png
rename to content/img/quickstart/settinginformation.png
diff --git a/static/img/quickstart/terminalsuccess.png b/content/img/quickstart/terminalsuccess.png
similarity index 100%
rename from static/img/quickstart/terminalsuccess.png
rename to content/img/quickstart/terminalsuccess.png
diff --git a/static/img/quickstart/writefunctioncomplete.png b/content/img/quickstart/writefunctioncomplete.png
similarity index 100%
rename from static/img/quickstart/writefunctioncomplete.png
rename to content/img/quickstart/writefunctioncomplete.png
diff --git a/static/img/smart-contract-sets/click-continue.png b/content/img/smart-contract-sets/click-continue.png
similarity index 100%
rename from static/img/smart-contract-sets/click-continue.png
rename to content/img/smart-contract-sets/click-continue.png
diff --git a/static/img/smart-contract-sets/confirm.png b/content/img/smart-contract-sets/confirm.png
similarity index 100%
rename from static/img/smart-contract-sets/confirm.png
rename to content/img/smart-contract-sets/confirm.png
diff --git a/static/img/smart-contract-sets/empty-dev-tools.png b/content/img/smart-contract-sets/empty-dev-tools.png
similarity index 100%
rename from static/img/smart-contract-sets/empty-dev-tools.png
rename to content/img/smart-contract-sets/empty-dev-tools.png
diff --git a/static/img/smart-contract-sets/enter-name-user.png b/content/img/smart-contract-sets/enter-name-user.png
similarity index 100%
rename from static/img/smart-contract-sets/enter-name-user.png
rename to content/img/smart-contract-sets/enter-name-user.png
diff --git a/static/img/smart-contract-sets/select-code-studio.png b/content/img/smart-contract-sets/select-code-studio.png
similarity index 100%
rename from static/img/smart-contract-sets/select-code-studio.png
rename to content/img/smart-contract-sets/select-code-studio.png
diff --git a/static/img/smart-contract-sets/select-smart-contract-set.png b/content/img/smart-contract-sets/select-smart-contract-set.png
similarity index 100%
rename from static/img/smart-contract-sets/select-smart-contract-set.png
rename to content/img/smart-contract-sets/select-smart-contract-set.png
diff --git a/static/img/smart-contract-sets/select-template.png b/content/img/smart-contract-sets/select-template.png
similarity index 100%
rename from static/img/smart-contract-sets/select-template.png
rename to content/img/smart-contract-sets/select-template.png
diff --git a/docs/developer-guides/user-wallet-scp-images/image1.png b/content/img/user-wallet-scp-images/image1.png
similarity index 100%
rename from docs/developer-guides/user-wallet-scp-images/image1.png
rename to content/img/user-wallet-scp-images/image1.png
diff --git a/docs/developer-guides/user-wallet-scp-images/image2.png b/content/img/user-wallet-scp-images/image2.png
similarity index 100%
rename from docs/developer-guides/user-wallet-scp-images/image2.png
rename to content/img/user-wallet-scp-images/image2.png
diff --git a/docs/developer-guides/user-wallet-scp-images/image3.png b/content/img/user-wallet-scp-images/image3.png
similarity index 100%
rename from docs/developer-guides/user-wallet-scp-images/image3.png
rename to content/img/user-wallet-scp-images/image3.png
diff --git a/docs/developer-guides/user-wallet-scp-images/image4.png b/content/img/user-wallet-scp-images/image4.png
similarity index 100%
rename from docs/developer-guides/user-wallet-scp-images/image4.png
rename to content/img/user-wallet-scp-images/image4.png
diff --git a/docs/developer-guides/user-wallet-scp-images/image5.png b/content/img/user-wallet-scp-images/image5.png
similarity index 100%
rename from docs/developer-guides/user-wallet-scp-images/image5.png
rename to content/img/user-wallet-scp-images/image5.png
diff --git a/docs/developer-guides/user-wallet-scp-images/image6.png b/content/img/user-wallet-scp-images/image6.png
similarity index 100%
rename from docs/developer-guides/user-wallet-scp-images/image6.png
rename to content/img/user-wallet-scp-images/image6.png
diff --git a/docs/developer-guides/user-wallet-scp-images/image7.png b/content/img/user-wallet-scp-images/image7.png
similarity index 100%
rename from docs/developer-guides/user-wallet-scp-images/image7.png
rename to content/img/user-wallet-scp-images/image7.png
diff --git a/docs/developer-guides/user-wallet-scp-images/image8.png b/content/img/user-wallet-scp-images/image8.png
similarity index 100%
rename from docs/developer-guides/user-wallet-scp-images/image8.png
rename to content/img/user-wallet-scp-images/image8.png
diff --git a/static/img/using-the-platform/add-user-wallet.png b/content/img/using-the-platform/add-user-wallet.png
similarity index 100%
rename from static/img/using-the-platform/add-user-wallet.png
rename to content/img/using-the-platform/add-user-wallet.png
diff --git a/static/img/using-the-platform/audit-logs.png b/content/img/using-the-platform/audit-logs.png
similarity index 100%
rename from static/img/using-the-platform/audit-logs.png
rename to content/img/using-the-platform/audit-logs.png
diff --git a/static/img/using-the-platform/create-user-wallet-form.png b/content/img/using-the-platform/create-user-wallet-form.png
similarity index 100%
rename from static/img/using-the-platform/create-user-wallet-form.png
rename to content/img/using-the-platform/create-user-wallet-form.png
diff --git a/static/img/using-the-platform/create-user-wallet.png b/content/img/using-the-platform/create-user-wallet.png
similarity index 100%
rename from static/img/using-the-platform/create-user-wallet.png
rename to content/img/using-the-platform/create-user-wallet.png
diff --git a/static/img/using-the-platform/eas-graphql.png b/content/img/using-the-platform/eas-graphql.png
similarity index 100%
rename from static/img/using-the-platform/eas-graphql.png
rename to content/img/using-the-platform/eas-graphql.png
diff --git a/static/img/using-the-platform/eas-indexer.png b/content/img/using-the-platform/eas-indexer.png
similarity index 100%
rename from static/img/using-the-platform/eas-indexer.png
rename to content/img/using-the-platform/eas-indexer.png
diff --git a/static/img/using-the-platform/loadbalancer.png b/content/img/using-the-platform/loadbalancer.png
similarity index 100%
rename from static/img/using-the-platform/loadbalancer.png
rename to content/img/using-the-platform/loadbalancer.png
diff --git a/static/img/using-the-platform/resource-usage-1.png b/content/img/using-the-platform/resource-usage-1.png
similarity index 100%
rename from static/img/using-the-platform/resource-usage-1.png
rename to content/img/using-the-platform/resource-usage-1.png
diff --git a/static/img/using-the-platform/resource-usage-2.png b/content/img/using-the-platform/resource-usage-2.png
similarity index 100%
rename from static/img/using-the-platform/resource-usage-2.png
rename to content/img/using-the-platform/resource-usage-2.png
diff --git a/static/img/using-the-platform/resource-usage-cpu.png b/content/img/using-the-platform/resource-usage-cpu.png
similarity index 100%
rename from static/img/using-the-platform/resource-usage-cpu.png
rename to content/img/using-the-platform/resource-usage-cpu.png
diff --git a/static/img/using-the-platform/resource-usage.png b/content/img/using-the-platform/resource-usage.png
similarity index 100%
rename from static/img/using-the-platform/resource-usage.png
rename to content/img/using-the-platform/resource-usage.png
diff --git a/static/img/using-the-platform/scp-graphql.png b/content/img/using-the-platform/scp-graphql.png
similarity index 100%
rename from static/img/using-the-platform/scp-graphql.png
rename to content/img/using-the-platform/scp-graphql.png
diff --git a/static/img/using-the-platform/scp-rest.png b/content/img/using-the-platform/scp-rest.png
similarity index 100%
rename from static/img/using-the-platform/scp-rest.png
rename to content/img/using-the-platform/scp-rest.png
diff --git a/static/img/using-the-platform/scp-transactions-api.png b/content/img/using-the-platform/scp-transactions-api.png
similarity index 100%
rename from static/img/using-the-platform/scp-transactions-api.png
rename to content/img/using-the-platform/scp-transactions-api.png
diff --git a/static/img/using-the-platform/scp-update-abis.png b/content/img/using-the-platform/scp-update-abis.png
similarity index 100%
rename from static/img/using-the-platform/scp-update-abis.png
rename to content/img/using-the-platform/scp-update-abis.png
diff --git a/static/img/using-the-platform/scp-webhooks.png b/content/img/using-the-platform/scp-webhooks.png
similarity index 100%
rename from static/img/using-the-platform/scp-webhooks.png
rename to content/img/using-the-platform/scp-webhooks.png
diff --git a/static/img/using-the-platform/user-wallet-details.png b/content/img/using-the-platform/user-wallet-details.png
similarity index 100%
rename from static/img/using-the-platform/user-wallet-details.png
rename to content/img/using-the-platform/user-wallet-details.png
diff --git a/static/img/using-the-platform/user-wallet-list.png b/content/img/using-the-platform/user-wallet-list.png
similarity index 100%
rename from static/img/using-the-platform/user-wallet-list.png
rename to content/img/using-the-platform/user-wallet-list.png
diff --git a/docs/about-settlemint/0_intro.mdx b/docs/about-settlemint/0_intro.mdx
deleted file mode 100644
index 7d2c8177..00000000
--- a/docs/about-settlemint/0_intro.mdx
+++ /dev/null
@@ -1,89 +0,0 @@
----
-custom_edit_url: null
-title: Platform Overview
-description: Overview of the SettleMint Platform
-sidebar_position: 1
----
-
-# Platform Overview
-
-import ContentCard from '@site/src/components/ContentCard';
-
-SettleMint makes it easy for any developer to build, deploy and integrate blockchain applications rapidly. How? By radically simplifying the entire blockchain development process through our Blockchain Transformation platform. This drastically reduces the complexity and the time needed for each step in the blockchain development process.
-
-## Getting Started
-
-Learn how to get started building blockchain applications on SettleMint
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Start Building
-
-Follow these developer guides to start building on SettleMint
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/about-settlemint/1_supported-blockchains.mdx b/docs/about-settlemint/1_supported-blockchains.mdx
deleted file mode 100644
index 1e62ac4c..00000000
--- a/docs/about-settlemint/1_supported-blockchains.mdx
+++ /dev/null
@@ -1,172 +0,0 @@
-# Supported Blockchains
-
-When launching a blockchain development project, the selection of a blockchain protocol is one of the most important decisions that has to be made. Protocols matter because they determine the scope of functionality your application can provide.
-
-SettleMint currently supports the following protocols:
-
-
-
-## Permissioned Blockchains
-
-
diff --git a/docs/about-settlemint/4_components.mdx b/docs/about-settlemint/4_components.mdx
deleted file mode 100644
index 7dfc8158..00000000
--- a/docs/about-settlemint/4_components.mdx
+++ /dev/null
@@ -1,101 +0,0 @@
----
-custom_edit_url: null
-title: SettleMint Components
-description: Overview of the SettleMint components and tools available to build blockchain applications
-sidebar_position: 1
----
-
-# SettleMint Components
-
-This guide will explain each of the tools and services on SettleMint and how they connect to build a blockchain application.
-
-## The Blockchain Application
-
-
-
-The first step to building anything on SettleMint is to [create an application](../../using-platform/create-an-application). You can think of an application as the collection of resources that you need to build your blockchain application. This includes a blockchain network, smart contracts, middleware, storage, integrations, and insights.
-
-## Add a Blockchain Network and Node
-
-
-
-After creating a blockchain application, you now need to [add a blockchain network](../../using-platform/add-a-network-to-an-application) and node to your application. SettleMint offers a variety of different [blockchain networks](../supported-blockchains) to choose from whatever your usecase may be.
-
-## Create a Smart Contract
-
-
-
-## Add a Middleware
-
-
-Blockchain applications produce data that lives on the blockchain, but we need
-to be able to access that data in order to use it. Creating a
-[middleware](../../using-platform/middleware/) allows us to do so. SettleMint
-currently offers three middleware services: The Graph, Smart Contract Portal
-Middleware and Firefly Fabconnect.
-
-## Add Storage
-
-
-Your blockchain application may need to store data. Blockchains are good for
-running different processes in a decentralized way but can be costly to store
-large amounts of data. SettleMint offers [two storage
-options](../../using-platform/storage/): IPFS (decentralized) and MinIO
-(centralized) S3 storage.
-
-## Add an Integration
-
-
-Blockchains are not the only technology that your blockchain application may
-need to interact with. SettleMint offers an [Integration
-Studio](../../using-platform/integration-studio) which allows you connect your
-blockchain application to other technologies such as databases, APIs, and more.
-This tool is a low-code to which also offers a visualization of any business
-logic included in your integration.
-
-## Add a Custom Deployment
-
-Your blockchain application may require custom components or frontend applications that are not provided by the standard SettleMint platform offerings. The [Custom Deployment](../../using-platform/custom-deployment/) feature allows you to deploy your own Docker images on the SettleMint platform. This provides the flexibility to integrate custom solutions, such as frontend applications, within your blockchain-based projects, enhancing the overall functionality and user experience of your application.
-
-## Getting Started
-
-Ready to build? Head over to:
-
-- [Building with SettleMint](using-platform/1_add-a-network-to-an-application.md) for detailed platform instructions
-- [Developer Guides](developer-guides/guide-library.mdx) for step-by-step tutorials on common use cases
diff --git a/docs/about-settlemint/_category_.json b/docs/about-settlemint/_category_.json
deleted file mode 100644
index ebdc40a9..00000000
--- a/docs/about-settlemint/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "About SettleMint",
- "position": 1
-}
diff --git a/docs/account-billing/_category_.json b/docs/account-billing/_category_.json
deleted file mode 100644
index e8911443..00000000
--- a/docs/account-billing/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Account and Billing",
- "position": 7
-}
diff --git a/docs/blockchain-guides/12_Soneium/_category_.json b/docs/blockchain-guides/12_Soneium/_category_.json
deleted file mode 100644
index d0ccdacf..00000000
--- a/docs/blockchain-guides/12_Soneium/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Soneium",
- "position": 11
-}
diff --git a/docs/blockchain-guides/_category_.json b/docs/blockchain-guides/_category_.json
deleted file mode 100644
index 1e003a05..00000000
--- a/docs/blockchain-guides/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Blockchain Guides",
- "position": 5
-}
diff --git a/docs/developer-guides/1.png b/docs/developer-guides/1.png
deleted file mode 100644
index 865fdfb3..00000000
Binary files a/docs/developer-guides/1.png and /dev/null differ
diff --git a/docs/developer-guides/_category_.json b/docs/developer-guides/_category_.json
deleted file mode 100644
index e421f4c8..00000000
--- a/docs/developer-guides/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Developer Guides",
- "position": 4
-}
diff --git a/docs/developer-guides/guide-library.mdx b/docs/developer-guides/guide-library.mdx
deleted file mode 100644
index d9aaa0cd..00000000
--- a/docs/developer-guides/guide-library.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
----
-title: Guide Library
-description: A Guide to Connecting a Frontend to Your Blockchain Application
-sidebar_position: 1
----
-
-import { ArticleCard } from '@site/src/components/BlogArticleComponent';
-
-## Application Development
-
-These guides will help you in your blockchain application development process.
-
-
-
-## Blockchain Use-Cases
-
-These guides will show you how to build blockchain applications for popular use-cases.
-
-
diff --git a/docs/developer-guides/mermaid-diagram.png b/docs/developer-guides/mermaid-diagram.png
deleted file mode 100644
index f25b5331..00000000
Binary files a/docs/developer-guides/mermaid-diagram.png and /dev/null differ
diff --git a/docs/launch-platform/_category_.json b/docs/launch-platform/_category_.json
deleted file mode 100644
index 5aaa6209..00000000
--- a/docs/launch-platform/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Launching the Platform",
- "position": 2
-}
diff --git a/docs/launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md b/docs/launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md
deleted file mode 100644
index 8bc42d64..00000000
--- a/docs/launch-platform/managed-cloud-deployment/0_supported-cloud-providers.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# Supported cloud providers
-
-When launching a blockchain development project, you need to decide where your project will be stored. SettleMint offers you the flexibility to deploy in the cloud of your choice, and easily build cross-cloud provider and cross-geographical region networks.
-
-Every deployment uses Kubernetes as an orchestration layer for all the different services. Kubernetes is a widely used open-source system for automating the deployment, scaling, and management of containerized applications. By leveraging managed Kubernetes services by cloud providers, our platform can offer affordable, stable, and scalable environments to run the blockchain nodes and additional services.
-
-SettleMint supports all leading cloud providers.
-
-## Amazon Web Services (AWS)
-
-Available regions:
-
-- Frankfurt
-- Mumbai
-- Singapore
-- Ohio [Contact us](mailto:support@settlemint.com)
-- Bahrain [Contact us](mailto:support@settlemint.com)
-- Osaka [Contact us](mailto:support@settlemint.com)
-
-## Google Cloud
-
-Available regions:
-
-- Brussels
-- Mumbai
-- Singapore
-- Tokyo
-- Oregon [Contact us](mailto:support@settlemint.com)
-
-## Microsoft Azure
-
-Available regions:
-
-- Dubai
-- Tokyo
-- Amsterdam [Contact us](mailto:support@settlemint.com)
-- Singapore [Contact us](mailto:support@settlemint.com)
-- California [Contact us](mailto:support@settlemint.com)
-
-:::info Note
-
-We are continuously working on adding support for more cloud providers and regions. Do you have a request? Or do you want to learn more about 'on-premise' or 'Bring Your Own Cloud' setups? Feel free to [contact us](mailto:support@settlemint.com).
-
-:::
diff --git a/docs/launch-platform/managed-cloud-deployment/_category_.json b/docs/launch-platform/managed-cloud-deployment/_category_.json
deleted file mode 100644
index 1c56f12a..00000000
--- a/docs/launch-platform/managed-cloud-deployment/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Managed Cloud Deployment",
- "position": 1
-}
diff --git a/docs/launch-platform/self-hosted/_category_.json b/docs/launch-platform/self-hosted/_category_.json
deleted file mode 100644
index 6cc2bb12..00000000
--- a/docs/launch-platform/self-hosted/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Self Hosted Deployment",
- "position": 2
-}
diff --git a/docs/launch-platform/self-hosted/backups/_category_.json b/docs/launch-platform/self-hosted/backups/_category_.json
deleted file mode 100644
index 38fa63c1..00000000
--- a/docs/launch-platform/self-hosted/backups/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Backups",
- "position": 4
-}
diff --git a/docs/launch-platform/self-hosted/backups/velero-aws.md b/docs/launch-platform/self-hosted/backups/velero-aws.md
deleted file mode 100644
index 86d54b15..00000000
--- a/docs/launch-platform/self-hosted/backups/velero-aws.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Velero Backups on AWS
-
-## Velero CLI Install
-
-Install velero cli binary from [VMWare](https://github.com/vmware-tanzu/velero/releases)
-
-```
-For Linux x86_64:
-curl -LO https://github.com/vmware-tanzu/velero/releases/download/v1.10.1/velero-v1.10.1-linux-amd64.tar.gz
-tar zxvf velero-v1.10.1-linux-amd64.tar.gz
-sudo mv velero-v1.10.1-linux-amd64/velero /usr/local/bin/velero
-velero version
-```
-
-## AWS Install
-
-Install aws CLI tool from [Amazon](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
-
-```
-For Linux x86_64:
-curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
-unzip awscliv2.zip
-sudo ./aws/install
-```
-
-### Prep Work:
-
-- Create S3 Bucket
-- Create IAM User
-
-### Create a credential file to be used to install the velero-aws plugin:
-
-```
-[default]
-aws_access_key_id=
-aws_secret_access_key=
-```
-
-### Run the velero install command with these additional flags:
-
-### Velero 1.10 and later:
-
-Use the `--use-node-agent`, `--uploader-type=restic`, and `--use-volume-snapshots=false` flags.
-
-### Velero versions earlier than 1.10:
-
-Use the `--use-restic` and `--use-volume-snapshots=false` flags.
-
-Example:
-
-```
-export BUCKET=
-export REGION=
-velero install \
- --provider aws \
- --plugins velero/velero-plugin-for-aws:v1.6.0 \
- --bucket $BUCKET \
- --backup-location-config region=$REGION \
- --secret-file CREDS_FILE \
- --use-node-agent --uploader-type=restic \
- --use-volume-snapshots=false
-```
-
-### Application Admin Configuration
-
-- Navigate to Snapshots
-- Select Settings & Schedule tab
-- Change the Destination location to Amazon S3
-- Enter S3 Bucket Name, Region, and Path.
-- Enter IAM User Access Key ID and Access Key Secret
-- Click "Update storage settings" button.
-- Start a Partial Snapshot (Application) or Full Snapshot (Instance)
-
-Optional:
-
-- Restore from Partial Snapshot (Application) or Full Snapshot (Instance)
-
-Sources: [Velero](https://github.com/vmware-tanzu/velero-plugin-for-aws#setup), [Replicated](https://docs.replicated.com/enterprise/snapshots-storage-destinations#configure-aws-storage-for-online-environments)
diff --git a/docs/launch-platform/self-hosted/backups/velero-gcp.md b/docs/launch-platform/self-hosted/backups/velero-gcp.md
deleted file mode 100644
index 0c36b4fb..00000000
--- a/docs/launch-platform/self-hosted/backups/velero-gcp.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Velero Backups on Google Cloud
-
-## Velero CLI Install
-
-Install velero cli binary from [VMWare](https://github.com/vmware-tanzu/velero/releases)
-
-```
-For Linux x86_64:
-curl -LO https://github.com/vmware-tanzu/velero/releases/download/v1.10.1/velero-v1.10.1-linux-amd64.tar.gz
-tar zxvf velero-v1.10.1-linux-amd64.tar.gz
-sudo mv velero-v1.10.1-linux-amd64/velero /usr/local/bin/velero
-velero version
-```
-
-## GCP Install
-
-### Prep Work:
-
-- Create GCS Bucket
-- Create IAM Service Account
-- Download Service Account Credential JSON File
-
-### Run the velero install command with these additional flags:
-
-### Velero 1.10 and later:
-
-Use the `--use-node-agent`, `--uploader-type=restic`, and `--use-volume-snapshots=false` flags.
-
-### Velero versions earlier than 1.10:
-
-Use the `--use-restic` and `--use-volume-snapshots=false` flags.
-
-Example:
-
-```
-export BUCKET=
-velero install \
- --provider gcp \
- --plugins velero/velero-plugin-for-gcp:v1.6.0 \
- --bucket $BUCKET \
- --secret-file ./CREDS_FILE
- --use-node-agent --uploader-type=restic \
- --use-volume-snapshots=false
-```
-
-### Application Admin Configuration
-
-- Navigate to Snapshots
-- Select Settings & Schedule tab
-- Change the Destination location to Google Cloud Storage
-- Enter Bucket Name and Path.
-- Copy/Paste the information from the Service Account Credential JSON File
-- Click "Update storage settings" button.
-- Start a Partial Snapshot (Application) or Full Snapshot (Instance)
-
-Optional:
-
-- Restore from Partial Snapshot (Application) or Full Snapshot (Instance)
-
-Sources: [Velero](https://github.com/vmware-tanzu/velero-plugin-for-gcp#setup), [Replicated](https://docs.replicated.com/enterprise/snapshots-storage-destinations#configure-gcp-storage-for-online-environments)
diff --git a/docs/launch-platform/self-hosted/backups/velero-hostpath.md b/docs/launch-platform/self-hosted/backups/velero-hostpath.md
deleted file mode 100644
index f728a429..00000000
--- a/docs/launch-platform/self-hosted/backups/velero-hostpath.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# Velero Backups with HostPaths
-
-## Velero CLI Install
-
-Install velero cli binary from [VMWare](https://github.com/vmware-tanzu/velero/releases)
-
-```
-For Linux x86_64:
-curl -LO https://github.com/vmware-tanzu/velero/releases/download/v1.10.1/velero-v1.10.1-linux-amd64.tar.gz
-tar zxvf velero-v1.10.1-linux-amd64.tar.gz
-sudo mv velero-v1.10.1-linux-amd64/velero /usr/local/bin/velero
-velero version
-```
-
-## Hostpath Install
-
-### Prep Work:
-
-- The host path must be a dedicated directory. Do not use a partition used by a service like Docker or Kubernetes for ephemeral storage.
-- The host path must exist and be writable by the `user:group 1001:1001` on all nodes in the cluster. For example, in a Linux environment you might run `sudo chown -R 1001:1001 /backups` to change the `user:group` permissions.
-
-### Additional Prep Info:
-
-If you use a mounted directory for the storage destination, such as one that is created with the Common Internet File System (CIFS) or Server Message Block (SMB) protocols, ensure that you configure the user:group 1001:1001 permissions on all nodes in the cluster and from the server side as well.
-
-You cannot change the permissions of a mounted network shared filesystem from the client side. To reassign the user:group to 1001:1001 for a directory that is already mounted, you must remount the directory. For example, for a CIFS mounted directory, specify the `uid=1001,gid=1001` mount options in the CIFS mount command.
-
-### Run the velero install command with these additional flags:
-
-### Velero 1.10 and later:
-
-Use the `--use-node-agent`, `--uploader-type=restic`, and `--use-volume-snapshots=false` flags.
-
-### Velero versions earlier than 1.10:
-
-Use the `--use-restic` and `--use-volume-snapshots=false` flags.
-
-Example:
-
-```
-velero install \
---no-default-backup-location \
---no-secret \
---use-node-agent --uploader-type=restic \
---use-volume-snapshots=false
-```
-
-### Run command to set host path storage location
-
-```
-kubectl kots velero configure-hostpath --namespace NAME --hostpath /PATH
-```
-
-Replace:
-
-- NAME with the namespace where the admin console is installed and running
-- PATH with the path to the directory where the backups will be stored
-
-### Application Admin Configuration
-
-- Navigate to Snapshots
-- Select Settings & Schedule tab
-- Change the Destination location to Host Path
-- Enter Host Path.
-- Click "Update storage settings" button.
-- Start a Partial Snapshot (Application) or Full Snapshot (Instance)
-
-Optional:
-
-- Restore from Partial Snapshot (Application) or Full Snapshot (Instance)
-
-Sources: [Velero](https://docs.replicated.com/enterprise/snapshots-velero-cli-installing), [Replicated](https://docs.replicated.com/enterprise/snapshots-configuring-hostpath)
diff --git a/docs/launch-platform/self-hosted/backups/velero-internal.md b/docs/launch-platform/self-hosted/backups/velero-internal.md
deleted file mode 100644
index 6148f935..00000000
--- a/docs/launch-platform/self-hosted/backups/velero-internal.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Velero Backups on Internal Storage
-
-## Velero CLI Install
-
-Install velero cli binary from [VMWare](https://github.com/vmware-tanzu/velero/releases)
-
-```
-For Linux x86_64:
-curl -LO https://github.com/vmware-tanzu/velero/releases/download/v1.10.1/velero-v1.10.1-linux-amd64.tar.gz
-tar zxvf velero-v1.10.1-linux-amd64.tar.gz
-sudo mv velero-v1.10.1-linux-amd64/velero /usr/local/bin/velero
-velero version
-```
-
-## Local Storage Install
-
-### Prep Work:
-
-- Ensure there is enough disk space for application and backups
-
-### Application Admin Configuration
-
-- Navigate to Snapshots
-- Select Settings & Schedule tab
-- Change the Destination location to Internal Storage (Default)
-- Click "Update storage settings" button.
-- Start a Partial Snapshot (Application) or Full Snapshot (Instance)
-
-Optional:
-
-- Restore from Partial Snapshot (Application) or Full Snapshot (Instance)
-
-Sources: [Replicated](https://docs.replicated.com/enterprise/snapshots-config-workflow)
diff --git a/docs/launch-platform/self-hosted/installation-guide/_category_.json b/docs/launch-platform/self-hosted/installation-guide/_category_.json
deleted file mode 100644
index c2fa6220..00000000
--- a/docs/launch-platform/self-hosted/installation-guide/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Installation Guide",
- "position": 1
-}
diff --git a/docs/launch-platform/self-hosted/installation-guide/infrastructure-requirements.md b/docs/launch-platform/self-hosted/installation-guide/infrastructure-requirements.md
deleted file mode 100644
index 9f85e0cb..00000000
--- a/docs/launch-platform/self-hosted/installation-guide/infrastructure-requirements.md
+++ /dev/null
@@ -1,365 +0,0 @@
----
-title: Infrastructure Requirements
-sidebar_position: 2
-description: Infrastructure requirements for self-hosting the platform
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# Infrastructure Requirements
-
-:::caution
-The requirements listed below are for the core platform components only. Additional resources will be needed for prerequisites and services you plan to deploy.
-:::
-
-## Compute Resources
-
-
-
-
-- **CPU**: 4 cores
-- **RAM**: 16GB
-- **Storage**: 100GB SSD
-
-:::note
-Minimum requirements are suitable for testing and development environments only.
-:::
-
-
-
-
-- **CPU**: 8+ cores
-- **RAM**: 32GB
-- **Storage**: 250GB+ SSD
-
-:::tip
-These specifications provide headroom for growth and better performance.
-:::
-
-
-
-
-## Network Requirements
-
-The platform requires specific network configurations to ensure secure and reliable communication between components:
-
-
-
-
-### Connectivity
-
-- **Internet Access**: Required for pulling container images and updates
-- **Load Balancer**: For distributing traffic across nodes
-- **Ingress Controller**: For routing external traffic
-- **SSL/TLS**: Valid certificates for secure communication
-
-
-
-
-### Required Ports
-
-- **80/443**: HTTP/HTTPS traffic
-- **6443**: Kubernetes API server
-- **30000-32767**: NodePort services range
-- **10250**: Kubelet API
-- **179**: Calico BGP (if using Calico)
-
-
-
-
-:::note Network Security
-We recommend implementing network policies and security groups to control traffic flow between components.
-:::
-
-## Storage Requirements
-
-Proper storage configuration is crucial for platform stability and performance. Consider the following requirements:
-
-
-
-
-### Performance Requirements
-
-- **Type**: SSD storage required for all components
-- **IOPS**: Minimum 3000 IOPS for database volumes
-- **Latency**: < 10ms average latency
-- **Throughput**: 125MB/s minimum for database volumes
-
-
-
-
-### Capacity Planning
-
-- **Initial Allocation**: Start with recommended sizes
-- **Growth Buffer**: Plan for 30% annual growth
-- **Backup Storage**: Equal to primary storage
-- **Monitoring**: Implement storage usage alerts
-
-
-
-
-:::tip Storage Best Practices
-
-- Use separate volumes for different components
-- Implement regular backup procedures
-- Monitor storage performance metrics
-- Set up alerts for capacity thresholds
- :::
-
-## Prerequisites Resource Requirements
-
-:::info Prerequisites Impact
-When hosting prerequisites on the same infrastructure, these requirements must be added to the base platform specifications. Each component can be hosted separately or together depending on your architecture.
-:::
-
-
-
-
-### PostgreSQL
-
-
-
-## Service Requirements
-
-The platform allows you to deploy services in two ways:
-
-1. On the same cluster as the platform
-2. On separate target clusters
-
-
-
-
-### Same Cluster Deployment
-
-If you plan to deploy services on the same cluster as the platform:
-
-- Add service requirements to the platform requirements
-- Include them in capacity planning
-- Account for resource overhead
-- Plan for scaling headroom
-
-
-
-
-### Target Cluster Deployment
-
-Using separate target clusters for services:
-
-- Keeps platform and service workloads isolated
-- Requires separate infrastructure planning
-- Can be optimized for specific service needs
-- Enables geographic distribution
-
-
-
-
-:::tip Infrastructure Planning Strategy
-We recommend:
-
-1. List all services you plan to deploy
-2. Decide on deployment strategy (same cluster or target clusters)
-3. For same cluster: Add service requirements to platform requirements
-4. For target clusters: Plan separate infrastructure
-5. Include 30% buffer for growth and peak loads
- :::
-
-:::info Example Calculation
-Let's calculate requirements for a setup with:
-
-- 2 Polygon nodes (Mainnet & Mumbai)
-- 1 Hyperledger Besu node
-- 1 Smart Contract Portal
-- 1 Integration Studio
-- 1 Blocksout Explorer
-
-**Service Requirements (Medium size, Dedicated mode):**
-
-- Polygon Nodes (2x):
-
- - CPU: 2 × 1.5 cores = 3 cores
- - RAM: 2 × 1.0 GB = 2 GB
- - Storage: Minimal
-
-- Besu Node (1x):
-
- - CPU: 1.5 cores
- - RAM: 2.5 GB
- - Storage: 100 GB
-
-- Smart Contract Portal:
-
- - CPU: 2.0 cores
- - RAM: 2.0 GB
- - Storage: 10 GB
-
-- Integration Studio:
-
- - CPU: 2.0 cores
- - RAM: 4.0 GB
- - Storage: 10 GB
-
-- Blocksout Explorer:
- - CPU: 2.0 cores
- - RAM: 4.0 GB
- - Storage: 50 GB
-
-**Same Cluster Approach:**
-
-- Total CPU: 27+ cores (16 platform/prereqs + 11 services)
-- Total RAM: 67GB+ (52GB platform/prereqs + 15GB services)
-- Total Storage: 620GB+ (440GB platform/prereqs + 180GB services)
-
-**Target Cluster Approach:**
-
-- Platform Cluster: 16+ cores, 52GB+ RAM, 440GB+ storage
-- Service Cluster: 11+ cores, 15GB+ RAM, 180GB+ storage
- :::
-
-:::tip Service Requirements Reference
-For detailed specifications of all available services and their resource requirements, please refer to our [Service Requirements Documentation](/documentation/docs/reference/service-requirements).
-:::
diff --git a/docs/launch-platform/self-hosted/installation-guide/prerequisites/_category_.json b/docs/launch-platform/self-hosted/installation-guide/prerequisites/_category_.json
deleted file mode 100644
index d3a1d385..00000000
--- a/docs/launch-platform/self-hosted/installation-guide/prerequisites/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Prerequisites",
- "position": 2
-}
diff --git a/docs/launch-platform/self-hosted/installation-guide/prerequisites/domain-and-tls.md b/docs/launch-platform/self-hosted/installation-guide/prerequisites/domain-and-tls.md
deleted file mode 100644
index 395b42f0..00000000
--- a/docs/launch-platform/self-hosted/installation-guide/prerequisites/domain-and-tls.md
+++ /dev/null
@@ -1,256 +0,0 @@
----
-title: Domain and TLS Configuration
-sidebar_position: 3
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# Domain and TLS Configuration
-
-## Overview
-
-
-
-
-### Purpose
-
-- Secure platform access
-- Service-to-service communication
-- API endpoint security
-- User authentication
-
-
-
-
-### Requirements
-
-- Registered domain name
-- DNS management access
-- Ability to create DNS records
-- TLS certificate provider
-
-
-
-
-## Domain Configuration
-
-
-
-
-### 1. Configure Main Domain
-
-- Create an A record pointing to your ingress controller IP
-- Example: `platform.company.com → 203.0.113.1`
-
-### 2. Add Wildcard Subdomain
-
-- Create a CNAME record for all subdomains
-- Pattern: `*.platform.company.com → platform.company.com`
-
-
-
-
-### DNS Resolution Tests
-
-```bash
-# Check A record
-dig +short platform.company.com
-
-# Check CNAME record
-dig +short test.platform.company.com
-
-# Verify IP matches ingress
-kubectl -n ingress-nginx get svc ingress-nginx-controller \
- -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
-```
-
-
-
-
-## TLS Configuration
-
-
-
-
-### Quick Setup with Cloudflare
-
-1. **Add Domain to Cloudflare**
-
- - Transfer DNS management
- - Update nameservers
-
-2. **Configure SSL/TLS**
- - Purchase Advanced Certificate Manager (ACM)
- - Enable Total TLS
- - Set SSL/TLS mode to Full (Strict)
-
-:::tip Benefits
-
-- Automatic certificate management
-- DDoS protection included
-- Easy wildcard certificate support
-- Global CDN
- :::
-
-
-
-
-### Setup with cert-manager
-
-1. **Install cert-manager**
-
-```bash
-helm repo add jetstack https://charts.jetstack.io --force-update
-helm repo update
-helm upgrade --install \
- cert-manager jetstack/cert-manager \
- --namespace cert-manager \
- --create-namespace \
- --set installCRDs=true
-```
-
-2. **Configure DNS Provider**
-
-```bash
-# Create API token secret
-kubectl apply -n cert-manager -f - <
-EOF
-```
-
-3. **Create ClusterIssuer**
-
-```bash
-kubectl apply -f - <
-
-
-## Information Collection
-
-
-
-### DNS Issues
-
-- **Not Resolving**
-
- - Verify A record IP
- - Check CNAME configuration
- - Allow DNS propagation (48h max)
-
-- **Wrong IP**
- - Confirm ingress controller IP
- - Update DNS records
- - Clear local DNS cache
-
-
-
-## Validation
-
-Before proceeding, verify:
-
-1. OAuth client is properly configured
-2. Redirect URIs match your domain
-3. JWT signing key is generated and saved
-4. Required scopes are enabled
-
-## Troubleshooting
-
-Common issues and solutions:
-
-1. **Invalid Redirect URI**
-
- - Verify exact URI match
- - Check for protocol (https) mismatch
- - Confirm domain spelling
-
-2. **Authentication Failures**
- - Verify client credentials
- - Check scope configurations
- - Validate JWT signing key
-
-## Next Steps
-
-1. ✅ Configure OAuth provider
-2. ✅ Generate JWT signing key
-3. ➡️ Proceed to [PostgreSQL Setup](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/postgresql)
-
-:::tip Need Help?
-Contact [support@settlemint.com](mailto:support@settlemint.com) if you encounter any issues.
-:::
diff --git a/docs/launch-platform/self-hosted/installation-guide/prerequisites/overview.md b/docs/launch-platform/self-hosted/installation-guide/prerequisites/overview.md
deleted file mode 100644
index 74bbe68e..00000000
--- a/docs/launch-platform/self-hosted/installation-guide/prerequisites/overview.md
+++ /dev/null
@@ -1,178 +0,0 @@
----
-title: Overview
-sidebar_position: 1
-description: Complete guide to setting up prerequisites for the SettleMint Platform installation
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# Prerequisites Overview
-
-Before installing the SettleMint Platform, you'll need to set up several core services. This guide will walk you through each prerequisite and help you collect the necessary information for installation.
-
-:::tip Quick Navigation
-Use the sidebar to navigate between different prerequisites. We recommend following them in order, but you can skip to specific sections if needed.
-:::
-
-## How to Use This Section
-
-1. Review each prerequisite service
-2. Choose your preferred deployment method for each service
-3. Follow the setup instructions
-4. Record the required information in a secure location
-5. Proceed to the next prerequisite
-
-:::caution Important
-Make sure to complete **all** prerequisites before proceeding with the platform installation. Missing or incorrectly configured services can cause installation failures.
-:::
-
-## Required Services
-
-
-
-
-#### Ingress Controller
-
-- Traffic management and load balancing
-- SSL/TLS termination
-- [Setup Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/ingress-controller)
-
-#### Domain and TLS
-
-- Domain name configuration
-- SSL/TLS certificates
-- [Setup Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/domain-and-tls)
-
-#### Metrics and Logs
-
-- Prometheus metrics collection
-- Grafana visualization
-- Loki log aggregation
-- [Setup Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/metrics-and-logs)
-
-
-
-
-#### PostgreSQL Database
-
-- Primary platform database
-- Stores user data and configurations
-- Minimum version: PostgreSQL 13+
-- [Setup Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/postgresql)
-
-#### Redis Cache
-
-- Session management
-- Real-time features
-- Performance optimization
-- [Setup Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/redis)
-
-
-
-
-#### S3-Compatible Storage
-
-- Platform assets storage
-- Blockchain data persistence
-- [Setup Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/s3-compatible-storage)
-
-#### Secrets management
-
-- Secrets management
-- Encryption keys
-- [Setup Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/secret-management)
-
-#### OAuth Provider
-
-- Authentication service
-- User identity management
-- [Setup Guide](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/oauth)
-
-
-
-
-## Deployment Options
-
-Each prerequisite service can be deployed in multiple ways:
-
-
-
-
-### Self-Hosted
-
-- ✅ Full control
-- ✅ Data sovereignty
-- ⚠️ Higher maintenance
-- ⚠️ Requires expertise
-
-
-
-:::info
-Choose deployment options based on your:
-
-- Security requirements
-- Infrastructure capabilities
-- Operational expertise
-- Budget constraints
- :::
-
-## Information Collection
-
-As you complete each prerequisite, you'll need to collect specific information required for the platform installation.
-
-
-
-## Next Steps
-
-1. Start with the [Ingress Controller](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/ingress-controller) setup
-2. Follow each prerequisite guide in order
-3. Validate your configurations
-4. Proceed to [Platform Installation](/documentation/docs/launch-platform/self-hosted/installation-guide/platform-installation)
-
-## Need Help?
-
-
-
-### Required Values for Platform Installation
-
-- [ ] Redis hostname/endpoint
-- [ ] Port number (default: 6379)
-- [ ] Password (if authentication enabled)
-- [ ] TLS enabled/disabled
-
-:::note Example Helm Values
-```yaml
-# values.yaml
-redis:
- # -- The redis host you collected in the prerequisites
- host: ''
- # -- The redis port you collected in the prerequisites
- port: 6379
- # -- The redis password you collected in the prerequisites
- password: ''
- # -- In shared redis servers, this prefix will separate out all queues
- prefix: 'sm'
- # -- Set to true if you want to use the TLS mode
- tls: false
-
-```
-:::
-
-:::tip
-When using Google Memorystore:
-1. Enable only one Redis solution (`redis.enabled` or `redis.memorystore.enabled`)
-2. Ensure your GKE cluster has access to the Memorystore instance
-3. Configure the same region as your GKE cluster
-:::
-
-
-
-## Validation
-
-Test your Redis connection:
-
-
-
-
-```bash
-# Get the Memorystore instance connection details
-REDIS_HOST=$(gcloud redis instances describe [INSTANCE_ID] \
- --region=[REGION] --format='get(host)')
-REDIS_PORT=$(gcloud redis instances describe [INSTANCE_ID] \
- --region=[REGION] --format='get(port)')
-
-# Test connection using redis-cli
-redis-cli -h $REDIS_HOST -p $REDIS_PORT ping
-```
-
-
-
-
-```bash
-# Using redis-cli
-redis-cli -h your-redis-host -p 6379 -a your-password ping
-
-# Expected response
-PONG
-```
-
-
-
-
-## Troubleshooting
-
-Common issues and solutions:
-
-1. **Connection Failures**
- - Verify credentials
- - Check network/firewall rules
- - Confirm TLS settings
- - Validate endpoint format
- - For Memorystore: verify VPC peering
-
-2. **Performance Issues**
- - Monitor memory usage
- - Check eviction policies
- - Review connection limits
- - Verify resource allocation
- - For Memorystore: check instance tier
-
-## Next Steps
-
-1. ✅ Set up Redis instance
-2. ✅ Configure security settings
-3. ➡️ Proceed to [S3 Compatible Storage Setup](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/s3-compatible-storage)
-
-:::tip Need Help?
-Contact [support@settlemint.com](mailto:support@settlemint.com) if you encounter any issues.
-:::
diff --git a/docs/launch-platform/self-hosted/installation-guide/prerequisites/s3-compatible-storage.md b/docs/launch-platform/self-hosted/installation-guide/prerequisites/s3-compatible-storage.md
deleted file mode 100644
index 3ce97a70..00000000
--- a/docs/launch-platform/self-hosted/installation-guide/prerequisites/s3-compatible-storage.md
+++ /dev/null
@@ -1,345 +0,0 @@
----
-title: S3-Compatible Storage
-sidebar_position: 6
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# S3-Compatible Storage Setup
-
-## Overview
-
-S3-compatible storage is used for:
-
-- Platform assets storage
-- Blockchain data persistence
-- File management
-- State storage
-
-## Deployment Options
-
-
-
-
-### AWS S3 (Native)
-
-1. Create new S3 bucket:
- - Choose region
- - Enable versioning
- - Configure default encryption
-2. Create IAM user:
- - Generate access key and secret
- - Attach minimal required permissions
-
-### Digital Ocean Spaces
-
-1. Access Digital Ocean Console
-2. Create new Spaces bucket:
- - Choose datacenter region
- - Configure CDN (optional)
-3. Create Spaces access key
-
-### Azure Blob Storage
-
-1. Create Storage Account:
- - Go to Azure Portal
- - Create new Storage Account
- - Select performance tier and redundancy
- - Enable hierarchical namespace (recommended)
-
-2. Create Container:
- - Navigate to Storage Account
- - Create new container
- - Set access level (private recommended)
-
-3. Get Access Credentials:
- - Generate Shared Access Signature (SAS)
- - Or use Storage Account access keys
- - Note the connection string
-
-:::tip
-Azure Blob Storage offers:
-- Geo-redundant storage options
-- Integration with Azure AD
-- Built-in disaster recovery
-- Pay-as-you-go pricing
-:::
-
-### Google Cloud Storage
-
-1. Create Storage Bucket:
- - Go to Google Cloud Console
- - Create new bucket
- - Choose location type
- - Set storage class
- - Configure access control
-
-2. Set up Service Account:
- - Create new service account
- - Generate JSON key file
- - Assign Storage Object Admin role
- - Download credentials
-
-:::tip
-GCP Storage benefits:
-- Multi-regional deployment
-- Object lifecycle management
-- Strong consistency
-- Integrated security controls
-:::
-
-:::tip
-Managed services provide:
-
-- Built-in redundancy
-- Automatic scaling
-- Global availability
-- Integrated monitoring
-:::
-
-
-
-
-### MinIO Installation
-
-1. Install MinIO:
-
-```bash
-helm upgrade --install minio oci://registry-1.docker.io/bitnamicharts/minio \
- --namespace minio \
- --version 13.8.4 \
- --create-namespace \
- --set defaultBuckets=platform-bucket \
- --set auth.rootUser=admin \
- --set auth.rootPassword=your-secure-password \
- --set provisioning.enabled=true \
- --set "provisioning.config[0].name=region" \
- --set "provisioning.config[0].options.name=us-east-1"
-```
-
-2. Create service account:
-
-```bash
-# Generate access credentials
-mc admin user svcacct add minio platform-user
-```
-
-:::caution
-For production use:
-
-- Configure proper storage class
-- Set up backup procedures
-- Enable encryption
-- Configure monitoring
-:::
-
-
-
-
-## State Encryption
-
-Generate an encryption key for state data:
-
-```bash
-openssl rand -base64 32
-```
-
-:::caution Important
-Store this encryption key securely - it's used to protect platform state data.
-:::
-
-## Information Collection
-
-
-
-## Validation
-
-Test your storage configuration:
-
-```bash
-# Using AWS CLI
-aws s3 ls s3://your-bucket \
- --endpoint-url your-endpoint \
- --access-key your-access-key \
- --secret-key your-secret-key
-
-# Using Azure CLI
-az storage blob list \
- --container-name your-container \
- --account-name your-storage-account \
- --account-key your-storage-key
-
-# Using Google Cloud CLI
-gsutil ls gs://your-bucket
-
-# Expected: List of objects or empty result
-```
-
-:::tip
-Make sure you have installed and configured the respective CLI tools:
-- AWS CLI: `aws configure`
-- Azure CLI: `az login`
-- Google Cloud CLI: `gcloud auth login`
-:::
-
-## Troubleshooting
-
-Common issues and solutions:
-
-1. **Access Denied**
-
- AWS S3:
- - Verify IAM credentials
- - Check bucket policies
- - Confirm IAM role permissions
- - Validate endpoint URL format
-
- Azure Blob Storage:
- - Check storage account access keys
- - Verify container access level
- - Confirm Shared Access Signature (SAS) permissions
- - Check storage account firewall settings
-
- Google Cloud Storage:
- - Verify service account permissions
- - Check IAM roles (Storage Object Admin)
- - Validate JSON credentials file
- - Confirm project access
-
-2. **Connection Issues**
-
- AWS S3:
- - Check endpoint accessibility
- - Verify region setting
- - Confirm VPC endpoints (if applicable)
- - Check SSL/TLS requirements
-
- Azure Blob Storage:
- - Verify network access rules
- - Check private endpoints configuration
- - Confirm storage account status
- - Validate VNET settings (if applicable)
-
- Google Cloud Storage:
- - Check VPC Service Controls
- - Verify network connectivity
- - Confirm regional availability
- - Check firewall rules
-
-3. **Performance Issues**
-
- AWS S3:
- - Check transfer acceleration settings
- - Review bucket region location
- - Monitor request rates
-
- Azure Blob Storage:
- - Verify storage account tier
- - Check geo-replication status
- - Monitor bandwidth metrics
-
- Google Cloud Storage:
- - Review storage class settings
- - Check bucket location
- - Monitor throughput metrics
-
-## Next Steps
-
-1. ✅ Set up S3-compatible storage
-2. ✅ Generate encryption key
-3. ➡️ Proceed to [Secret Management Setup](/documentation/docs/launch-platform/self-hosted/installation-guide/prerequisites/secret-management)
-
-:::tip Need Help?
-Contact [support@settlemint.com](mailto:support@settlemint.com) if you encounter any issues.
-:::
diff --git a/docs/launch-platform/self-hosted/installation-guide/prerequisites/secret-management.md b/docs/launch-platform/self-hosted/installation-guide/prerequisites/secret-management.md
deleted file mode 100644
index 5dded980..00000000
--- a/docs/launch-platform/self-hosted/installation-guide/prerequisites/secret-management.md
+++ /dev/null
@@ -1,326 +0,0 @@
----
-title: Secret Management
-sidebar_position: 7
----
-
-import Tabs from '@theme/Tabs';
-import TabItem from '@theme/TabItem';
-
-# Secret Management Setup
-
-## Overview
-
-Our platform supports two options for secret management:
-- HashiCorp Vault
-- Google Secret Manager
-
-Both services are used for:
-- Secrets management
-- Encryption key storage
-- Secure credentials handling
-- Private key management
-
-## Deployment Options
-
-
-
-
-### Google Secret Manager Setup
-
-1. **Enable the Secret Manager API**
- - Go to [Google Cloud Console](https://console.cloud.google.com)
- - Navigate to Secret Manager
- - Enable the Secret Manager API for your project
-
-2. **Create Service Account**
- - Navigate to IAM & Admin > Service Accounts
- - Create a new service account
- - Grant the following roles:
- - `Secret Manager Admin`
-
-3. **Download Credentials**
- - Create and download a JSON key for the service account
- - Keep this file secure - you'll need it during platform installation
-
-:::tip
-Google Secret Manager provides:
-- Fully managed service
-- Automatic replication
-- Fine-grained IAM controls
-- Audit logging
-:::
-
-**Helm Chart Values:**
-```yaml
-# values.yaml for Helm installation
-googleSecretManager:
- # -- Enable Google Secret Manager integration
- enabled: true
- # -- The Google Cloud project ID
- projectId: "your-project-id"
- # -- The Google Cloud service account credentials JSON
- credentials: |
- {
- // Your service account JSON key
- }
-```
-:::
-
-:::tip
-Make sure to:
-1. Enable Google Secret Manager in your Helm values
-2. Use the same project ID and credentials as in your platform configuration
-3. Properly format the service account JSON credentials
-:::
-
-
-
-
-
-### HashiCorp Cloud Platform Setup
-
-1. **Create Vault Cluster**
-
- - Sign up for [HashiCorp Cloud](https://portal.cloud.hashicorp.com)
- - Choose Development tier (sufficient for most setups)
- - Select "Start from Scratch" template
- - Pick your preferred region
-
-2. **Configure Secret Engines**
-
- - Create KV secret engines:
- ```bash
- vault secrets enable -path=ethereum kv-v2
- vault secrets enable -path=ipfs kv-v2
- vault secrets enable -path=fabric kv-v2
- ```
-
-3. **Set Up Authentication**
-
- - Enable AppRole auth method:
- ```bash
- vault auth enable approle
- ```
- - Create platform policy:
- ```bash
- vault policy write btp - <
-
-
-
-### Helm Chart Installation
-
-1. **Install Vault**
-
-```bash
-helm upgrade --install vault vault \
- --repo https://helm.releases.hashicorp.com \
- --namespace vault \
- --create-namespace
-```
-
-2. **Initialize Vault**
-
-```bash
-# Initialize and save keys
-kubectl exec vault-0 -n vault -- vault operator init \
- -key-shares=1 \
- -key-threshold=1
-
-# Unseal Vault (replace with your key)
-kubectl exec vault-0 -n vault -- vault operator unseal $VAULT_UNSEAL_KEY
-```
-
-3. **Configure Vault**
- Follow the same configuration steps as HCP Vault (steps 2-5) after logging in with the root token.
-
-:::caution
-For production:
-
-- Use multiple key shares
-- Configure proper storage backend
-- Set up high availability
-- Implement proper unsealing strategy
- :::
-
-
-
-
-## Information Collection
-
-
-
-### Required Values for Platform Installation
-
-Choose one of the following configurations for your Helm values:
-
-**For Google Secret Manager:**
-- [ ] GCP Project ID
-- [ ] Service Account JSON key
-
-:::note Example Helm Values for GSM
-```yaml
-# values.yaml
-vault:
- enabled: false
-
-googleSecretManager:
- # -- Enable Google Secret Manager integration
- enabled: true
- # -- The Google Cloud project ID
- projectId: 'your-project-id'
- # -- The Google Cloud service account credentials JSON
- credentials: |
- {
- // Your service account JSON key
- }
-```
-:::
-
-**For HashiCorp Vault:**
-- [ ] Vault address/endpoint
-- [ ] Role ID
-- [ ] Secret ID
-- [ ] Namespace (if using HCP Vault: `admin`)
-
-:::note Example Helm Values for Vault
-```yaml
-# values.yaml
-googleSecretManager:
- enabled: false
-
-vault:
- # -- Enable Hashicorp Vault integration
- enabled: true
- # -- The vault address you collected in the prerequisites
- address: 'https://vault-cluster.hashicorp.cloud:8200'
- # -- The vault namespace you collected in the prerequisites
- namespace: 'admin' # Required for HCP Vault
- # -- The AppRole roleId you collected in the prerequisites
- roleId: 'your-role-id'
- # -- The AppRole secretId you collected in the prerequisites
- secretId: 'your-secret-id'
-```
-:::
-
-:::important
-Make sure to:
-1. Enable only one secret management solution (`vault` or `googleSecretManager`)
-2. Disable the other option by setting `enabled: false`
-3. Provide all required values for your chosen solution
-:::
-
-
- We are here to help you on your Blockchain Transformation
- Journey
-
- Our team of experts are here to answer your blockchain
- questions both large and small!
-