{"templateId":"markdown","versions":[{"version":"v1.43","label":"v1.43 LTS","link":"/products/custody/overview/architecture","default":true,"active":false,"folderId":"c15a2701"},{"version":"v1.42","label":"v1.42 STS","link":"/products/custody/v1.42/overview/architecture","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.41","label":"v1.41 STS","link":"/products/custody/v1.41/overview/architecture","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/overview/architecture","default":false,"active":true,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/overview/architecture","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/overview/architecture","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/overview/architecture","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"System architecture","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"system-architecture","__idx":0},"children":["System architecture"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ","Ripple Custody"," platform is built on a layered architecture that separates concerns between user interaction, business logic, blockchain integration, and security. This page provides an overview of the system architecture and all its components."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"architecture-overview","__idx":1},"children":["Architecture overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The components of the ","Ripple Custody"," infrastructure are organized into the following layers:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Interaction layer"]},": Customer-facing components (Web UI, mobile/desktop apps, notifications, authentication)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Core and governance layer"]},": Business logic, API gateway, governance engine, and message processing"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Blockchain integration layer"]},": Indexers that monitor and interact with blockchain networks"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Security and key management layer"]},": notary and vault services with KMS backends"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["External infrastructure"]},": Customer-managed databases, blockchain nodes, and deployment infrastructure"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following diagram shows these layers and how they interact:"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"graph TB\n    subgraph ExtUsers[\"External Users & Apps\"]\n        USER[End Users]\n        MOBILE[Mobile App]\n        DESKTOP[Desktop App]\n        THIRDPARTY[Third-Party Apps]\n    end\n\n    subgraph Interaction[\"Interaction Layer\"]\n        WEBUI[Web UI]\n        NOTIF[Notification Server]\n        AUTH[Authentication Server]\n    end\n\n    subgraph Core[\"Core & Governance Layer\"]\n        APIGW[API Gateway]\n        LEDGERACCT[Ledger Accounting]\n        EVENTPROC[Event Processing]\n        GOVENGINE[Governance Engine]\n        AMQP[RabbitMQ]\n    end\n\n    subgraph Blockchain[\"Blockchain Integration Layer\"]\n        BTCIDX[NBXplorer]\n        ETHIDX[ETH Indexer]\n        XRPIDX[XRPL Indexer]\n        OTHERIDX[Other Indexers]\n    end\n\n    subgraph Security[\"Security & Key Management Layer\"]\n        NBRIDGE[Notary Bridge]\n        NOTARY[Notary]\n        VAULTCORE[Vault]\n        KMSCONNECT[KMS Connect]\n    end\n\n    subgraph External[\"External Infrastructure\"]\n        HSM[HSM/KMS]\n        POSTGRES[(PostgreSQL)]\n        NODES[Blockchain Nodes]\n    end\n\n    USER --> WEBUI\n    MOBILE --> AUTH\n    DESKTOP --> AUTH\n    THIRDPARTY --> APIGW\n    WEBUI --> APIGW\n    WEBUI --> NOTIF\n    APIGW --> AMQP\n    AMQP --> GOVENGINE\n    AMQP --> EVENTPROC\n    AMQP --> LEDGERACCT\n    GOVENGINE --> POSTGRES\n    GOVENGINE --> NBRIDGE\n    NBRIDGE --> NOTARY\n    NOTARY --> KMSCONNECT\n    GOVENGINE --> VAULTCORE\n    VAULTCORE --> KMSCONNECT\n    KMSCONNECT --> HSM\n    LEDGERACCT --> BTCIDX\n    LEDGERACCT --> ETHIDX\n    LEDGERACCT --> XRPIDX\n    LEDGERACCT --> OTHERIDX\n    BTCIDX --> NODES\n    ETHIDX --> NODES\n    XRPIDX --> NODES\n    OTHERIDX --> NODES\n\n    classDef trusted fill:#90EE90,stroke:#006400,stroke-width:3px\n    classDef untrusted fill:#FFB6C1,stroke:#8B0000,stroke-width:2px\n    classDef external fill:#87CEEB,stroke:#00008B,stroke-width:2px\n    classDef hsm fill:#FF6347,stroke:#8B0000,stroke-width:3px\n\n    class GOVENGINE trusted\n    class WEBUI,NOTIF,AUTH,APIGW,LEDGERACCT,EVENTPROC untrusted\n    class POSTGRES,NODES external\n    class HSM,NOTARY,VAULTCORE hsm\n","diagramHtml":"<svg id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1840.2734375px;\" viewBox=\"0 0 1840.2734375 1195.7288818359375\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .error-icon{fill:#552222;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .error-text{fill:#552222;stroke:#552222;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edge-thickness-normal{stroke-width:1px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edge-thickness-thick{stroke-width:3.5px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edge-pattern-solid{stroke-dasharray:0;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .marker{fill:#333333;stroke:#333333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .marker.cross{stroke:#333333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 p{margin:0;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .cluster-label text{fill:#333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .cluster-label span{color:#333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .cluster-label span p{background-color:transparent;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .label text,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 span{fill:#333;color:#333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node rect,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node circle,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node ellipse,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node polygon,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .rough-node .label text,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node .label text,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .image-shape .label,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .icon-shape .label{text-anchor:middle;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .rough-node .label,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node .label,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .image-shape .label,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .icon-shape .label{text-align:center;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node.clickable{cursor:pointer;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .arrowheadPath{fill:#333333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .flowchart-link{stroke:#333333;fill:none;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .cluster text{fill:#333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .cluster span{color:#333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 rect.text{fill:none;stroke-width:0;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .icon-shape,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .icon-shape p,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .icon-shape .label rect,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .node .neo-node{stroke:#9370DB;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].node rect,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].cluster rect,#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .trusted&gt;*{fill:rgb(144, 238, 144)!important;stroke:rgb(0, 100, 0)!important;stroke-width:3px!important;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .trusted span{fill:rgb(144, 238, 144)!important;stroke:rgb(0, 100, 0)!important;stroke-width:3px!important;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .untrusted&gt;*{fill:rgb(255, 182, 193)!important;stroke:rgb(139, 0, 0)!important;stroke-width:2px!important;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .untrusted span{fill:rgb(255, 182, 193)!important;stroke:rgb(139, 0, 0)!important;stroke-width:2px!important;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .external&gt;*{fill:rgb(135, 206, 235)!important;stroke:rgb(0, 0, 139)!important;stroke-width:2px!important;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .external span{fill:rgb(135, 206, 235)!important;stroke:rgb(0, 0, 139)!important;stroke-width:2px!important;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .hsm&gt;*{fill:rgb(255, 99, 71)!important;stroke:rgb(139, 0, 0)!important;stroke-width:3px!important;}#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455 .hsm span{fill:rgb(255, 99, 71)!important;stroke:rgb(139, 0, 0)!important;stroke-width:3px!important;}</style><g><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-External\" data-look=\"classic\"><rect style=\"\" x=\"50.4453125\" y=\"1065\" width=\"1194.46875\" height=\"122.72885131835938\"></rect><g class=\"cluster-label\" transform=\"translate(568.9765625, 1065)\"><foreignObject width=\"157.40625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>External Infrastructure</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-Security\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"678\" width=\"363.83984375\" height=\"337\"></rect><g class=\"cluster-label\" transform=\"translate(66.302734375, 678)\"><foreignObject width=\"247.234375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Security &amp; Key Management Layer</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-Blockchain\" data-look=\"classic\"><rect style=\"\" x=\"465.47265625\" y=\"678\" width=\"828.46875\" height=\"104\"></rect><g class=\"cluster-label\" transform=\"translate(778.75390625, 678)\"><foreignObject width=\"201.90625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Blockchain Integration Layer</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-Core\" data-look=\"classic\"><rect style=\"\" x=\"44.95703125\" y=\"291\" width=\"1151.0703125\" height=\"337\"></rect><g class=\"cluster-label\" transform=\"translate(527.5546875, 291)\"><foreignObject width=\"185.875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Core &amp; Governance Layer</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-Interaction\" data-look=\"classic\"><rect style=\"\" x=\"1216.02734375\" y=\"162\" width=\"613.578125\" height=\"233\"></rect><g class=\"cluster-label\" transform=\"translate(1463.22265625, 162)\"><foreignObject width=\"119.1875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Interaction Layer</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-ExtUsers\" data-look=\"classic\"><rect style=\"\" x=\"498.2890625\" y=\"8\" width=\"1333.984375\" height=\"104\"></rect><g class=\"cluster-label\" transform=\"translate(1085.2421875, 8)\"><foreignObject width=\"160.078125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>External Users &amp; Apps</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M1326.973,87L1326.973,91.167C1326.973,95.333,1326.973,103.667,1326.973,112C1326.973,120.333,1326.973,128.667,1326.973,137C1326.973,145.333,1326.973,153.667,1326.973,161.333C1326.973,169,1326.973,176,1326.973,179.5L1326.973,183\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_USER_WEBUI_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_USER_WEBUI_0\" data-points=\"W3sieCI6MTMyNi45NzI2NTYyNSwieSI6ODd9LHsieCI6MTMyNi45NzI2NTYyNSwieSI6MTEyfSx7IngiOjEzMjYuOTcyNjU2MjUsInkiOjEzN30seyJ4IjoxMzI2Ljk3MjY1NjI1LCJ5IjoxNjJ9LHsieCI6MTMyNi45NzI2NTYyNSwieSI6MTg3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M1526.953,87L1526.953,91.167C1526.953,95.333,1526.953,103.667,1526.953,112C1526.953,120.333,1526.953,128.667,1526.953,137C1526.953,145.333,1526.953,153.667,1536.308,161.743C1545.664,169.819,1564.374,177.638,1573.729,181.548L1583.084,185.458\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_MOBILE_AUTH_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_MOBILE_AUTH_0\" data-points=\"W3sieCI6MTUyNi45NTMxMjUsInkiOjg3fSx7IngiOjE1MjYuOTUzMTI1LCJ5IjoxMTJ9LHsieCI6MTUyNi45NTMxMjUsInkiOjEzN30seyJ4IjoxNTI2Ljk1MzEyNSwieSI6MTYyfSx7IngiOjE1ODYuNzc1MDkwMTQ0MjMwNywieSI6MTg3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M1721.906,87L1721.906,91.167C1721.906,95.333,1721.906,103.667,1721.906,112C1721.906,120.333,1721.906,128.667,1721.906,137C1721.906,145.333,1721.906,153.667,1716.792,161.604C1711.678,169.542,1701.449,177.084,1696.335,180.855L1691.22,184.626\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_DESKTOP_AUTH_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_DESKTOP_AUTH_0\" data-points=\"W3sieCI6MTcyMS45MDYyNSwieSI6ODd9LHsieCI6MTcyMS45MDYyNSwieSI6MTEyfSx7IngiOjE3MjEuOTA2MjUsInkiOjEzN30seyJ4IjoxNzIxLjkwNjI1LCJ5IjoxNjJ9LHsieCI6MTY4OC4wMDA3NTEyMDE5MjMsInkiOjE4N31d\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M622.867,87L622.867,91.167C622.867,95.333,622.867,103.667,622.867,112C622.867,120.333,622.867,128.667,622.867,137C622.867,145.333,622.867,153.667,622.867,166.5C622.867,179.333,622.867,196.667,622.867,214C622.867,231.333,622.867,248.667,622.867,261.5C622.867,274.333,622.867,282.667,622.867,290.333C622.867,298,622.867,305,622.867,308.5L622.867,312\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_THIRDPARTY_APIGW_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_THIRDPARTY_APIGW_0\" data-points=\"W3sieCI6NjIyLjg2NzE4NzUsInkiOjg3fSx7IngiOjYyMi44NjcxODc1LCJ5IjoxMTJ9LHsieCI6NjIyLjg2NzE4NzUsInkiOjEzN30seyJ4Ijo2MjIuODY3MTg3NSwieSI6MTYyfSx7IngiOjYyMi44NjcxODc1LCJ5IjoyMTR9LHsieCI6NjIyLjg2NzE4NzUsInkiOjI2Nn0seyJ4Ijo2MjIuODY3MTg3NSwieSI6MjkxfSx7IngiOjYyMi44NjcxODc1LCJ5IjozMTZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M1298.322,241L1293.9,245.167C1289.479,249.333,1280.636,257.667,1276.214,266C1271.793,274.333,1271.793,282.667,1177.084,294.423C1082.376,306.178,892.959,321.357,798.25,328.946L703.542,336.535\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_WEBUI_APIGW_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_WEBUI_APIGW_0\" data-points=\"W3sieCI6MTI5OC4zMjE2NjQ2NjM0NjE0LCJ5IjoyNDF9LHsieCI6MTI3MS43OTI5Njg3NSwieSI6MjY2fSx7IngiOjEyNzEuNzkyOTY4NzUsInkiOjI5MX0seyJ4Ijo2OTkuNTU0Njg3NSwieSI6MzM2Ljg1NDg0NDI0Mzc5MjM0fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M1383.504,233.754L1398.883,239.129C1414.263,244.503,1445.022,255.251,1460.402,264.792C1475.781,274.333,1475.781,282.667,1475.781,290.333C1475.781,298,1475.781,305,1475.781,308.5L1475.781,312\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_WEBUI_NOTIF_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_WEBUI_NOTIF_0\" data-points=\"W3sieCI6MTM4My41MDM5MDYyNSwieSI6MjMzLjc1NDQwMzQ2NTAyMTY1fSx7IngiOjE0NzUuNzgxMjUsInkiOjI2Nn0seyJ4IjoxNDc1Ljc4MTI1LCJ5IjoyOTF9LHsieCI6MTQ3NS43ODEyNSwieSI6MzE2fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M622.867,370L622.867,374.167C622.867,378.333,622.867,386.667,622.867,395C622.867,403.333,622.867,411.667,622.867,419.333C622.867,427,622.867,434,622.867,437.5L622.867,441\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_APIGW_AMQP_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_APIGW_AMQP_0\" data-points=\"W3sieCI6NjIyLjg2NzE4NzUsInkiOjM3MH0seyJ4Ijo2MjIuODY3MTg3NSwieSI6Mzk1fSx7IngiOjYyMi44NjcxODc1LCJ5Ijo0MjB9LHsieCI6NjIyLjg2NzE4NzUsInkiOjQ0NX1d\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M556.852,481.821L509.6,488.851C462.348,495.881,367.844,509.94,320.592,520.47C273.34,531,273.34,538,273.34,541.5L273.34,545\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_AMQP_GOVENGINE_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_AMQP_GOVENGINE_0\" data-points=\"W3sieCI6NTU2Ljg1MTU2MjUsInkiOjQ4MS44MjEyOTg4NTIyNDQ2NH0seyJ4IjoyNzMuMzM5ODQzNzUsInkiOjUyNH0seyJ4IjoyNzMuMzM5ODQzNzUsInkiOjU0OX1d\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M584.47,499L578.545,503.167C572.62,507.333,560.769,515.667,554.843,523.333C548.918,531,548.918,538,548.918,541.5L548.918,545\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_AMQP_EVENTPROC_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_AMQP_EVENTPROC_0\" data-points=\"W3sieCI6NTg0LjQ3MDQ3Nzc2NDQyMzEsInkiOjQ5OX0seyJ4Ijo1NDguOTE3OTY4NzUsInkiOjUyNH0seyJ4Ijo1NDguOTE3OTY4NzUsInkiOjU0OX1d\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M688.883,486.391L717.635,492.66C746.388,498.928,803.893,511.464,832.646,521.232C861.398,531,861.398,538,861.398,541.5L861.398,545\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_AMQP_LEDGERACCT_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_AMQP_LEDGERACCT_0\" data-points=\"W3sieCI6Njg4Ljg4MjgxMjUsInkiOjQ4Ni4zOTE0NTgxNDIyNzd9LHsieCI6ODYxLjM5ODQzNzUsInkiOjUyNH0seyJ4Ijo4NjEuMzk4NDM3NSwieSI6NTQ5fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M343.71,603L354.569,607.167C365.429,611.333,387.148,619.667,398.008,628C408.867,636.333,408.867,644.667,408.867,653C408.867,661.333,408.867,669.667,408.867,682.5C408.867,695.333,408.867,712.667,408.867,730C408.867,747.333,408.867,764.667,408.867,777.5C408.867,790.333,408.867,798.667,408.867,811.5C408.867,824.333,408.867,841.667,408.867,859C408.867,876.333,408.867,893.667,408.867,911C408.867,928.333,408.867,945.667,408.867,963C408.867,980.333,408.867,997.667,408.867,1010.5C408.867,1023.333,408.867,1031.667,408.867,1040C408.867,1048.333,408.867,1056.667,408.867,1064.333C408.867,1072,408.867,1079,408.867,1082.5L408.867,1086\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_GOVENGINE_POSTGRES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GOVENGINE_POSTGRES_0\" data-points=\"W3sieCI6MzQzLjcwOTgxMDY5NzExNTM2LCJ5Ijo2MDN9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjYyOH0seyJ4Ijo0MDguODY3MTg3NSwieSI6NjUzfSx7IngiOjQwOC44NjcxODc1LCJ5Ijo2Nzh9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjczMH0seyJ4Ijo0MDguODY3MTg3NSwieSI6NzgyfSx7IngiOjQwOC44NjcxODc1LCJ5Ijo4MDd9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjg1OX0seyJ4Ijo0MDguODY3MTg3NSwieSI6OTExfSx7IngiOjQwOC44NjcxODc1LCJ5Ijo5NjN9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjEwMTV9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjEwNDB9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjEwNjV9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjEwOTB9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M194.831,603L182.715,607.167C170.599,611.333,146.368,619.667,134.252,628C122.137,636.333,122.137,644.667,122.137,653C122.137,661.333,122.137,669.667,122.137,677.333C122.137,685,122.137,692,122.137,695.5L122.137,699\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_GOVENGINE_NBRIDGE_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GOVENGINE_NBRIDGE_0\" data-points=\"W3sieCI6MTk0LjgzMDUyODg0NjE1Mzg0LCJ5Ijo2MDN9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo2Mjh9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo2NTN9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo2Nzh9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo3MDN9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M122.137,757L122.137,761.167C122.137,765.333,122.137,773.667,122.137,782C122.137,790.333,122.137,798.667,122.137,806.333C122.137,814,122.137,821,122.137,824.5L122.137,828\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_NBRIDGE_NOTARY_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_NBRIDGE_NOTARY_0\" data-points=\"W3sieCI6MTIyLjEzNjcxODc1LCJ5Ijo3NTd9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo3ODJ9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo4MDd9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo4MzJ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M122.137,886L122.137,890.167C122.137,894.333,122.137,902.667,124.254,910.426C126.371,918.185,130.605,925.369,132.722,928.962L134.839,932.554\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_NOTARY_KMSCONNECT_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_NOTARY_KMSCONNECT_0\" data-points=\"W3sieCI6MTIyLjEzNjcxODc1LCJ5Ijo4ODZ9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo5MTF9LHsieCI6MTM2Ljg2OTY2NjQ2NjM0NjE2LCJ5Ijo5MzZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M273.34,603L273.34,607.167C273.34,611.333,273.34,619.667,273.34,628C273.34,636.333,273.34,644.667,273.34,653C273.34,661.333,273.34,669.667,273.34,682.5C273.34,695.333,273.34,712.667,273.34,730C273.34,747.333,273.34,764.667,273.34,777.5C273.34,790.333,273.34,798.667,273.34,806.333C273.34,814,273.34,821,273.34,824.5L273.34,828\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_GOVENGINE_VAULTCORE_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GOVENGINE_VAULTCORE_0\" data-points=\"W3sieCI6MjczLjMzOTg0Mzc1LCJ5Ijo2MDN9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo2Mjh9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo2NTN9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo2Nzh9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo3MzB9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo3ODJ9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo4MDd9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo4MzJ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M273.34,886L273.34,890.167C273.34,894.333,273.34,902.667,264.292,910.736C255.244,918.805,237.148,926.611,228.1,930.513L219.052,934.416\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_VAULTCORE_KMSCONNECT_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_VAULTCORE_KMSCONNECT_0\" data-points=\"W3sieCI6MjczLjMzOTg0Mzc1LCJ5Ijo4ODZ9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo5MTF9LHsieCI6MjE1LjM3ODk4MTM3MDE5MjMyLCJ5Ijo5MzZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M152.781,990L152.781,994.167C152.781,998.333,152.781,1006.667,152.781,1015C152.781,1023.333,152.781,1031.667,152.781,1040C152.781,1048.333,152.781,1056.667,152.781,1065.894C152.781,1075.121,152.781,1085.243,152.781,1090.304L152.781,1095.364\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_KMSCONNECT_HSM_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_KMSCONNECT_HSM_0\" data-points=\"W3sieCI6MTUyLjc4MTI1LCJ5Ijo5OTB9LHsieCI6MTUyLjc4MTI1LCJ5IjoxMDE1fSx7IngiOjE1Mi43ODEyNSwieSI6MTA0MH0seyJ4IjoxNTIuNzgxMjUsInkiOjEwNjV9LHsieCI6MTUyLjc4MTI1LCJ5IjoxMDk5LjM2NDQyNTY1OTE3OTd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M765.125,593.027L732.167,598.856C699.21,604.685,633.294,616.342,600.337,626.338C567.379,636.333,567.379,644.667,567.379,653C567.379,661.333,567.379,669.667,567.379,677.333C567.379,685,567.379,692,567.379,695.5L567.379,699\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_LEDGERACCT_BTCIDX_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_LEDGERACCT_BTCIDX_0\" data-points=\"W3sieCI6NzY1LjEyNSwieSI6NTkzLjAyNjgyMzc5MTk5OTR9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo2Mjh9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo2NTN9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo2Nzh9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo3MDN9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M808.329,603L800.14,607.167C791.95,611.333,775.571,619.667,767.381,628C759.191,636.333,759.191,644.667,759.191,653C759.191,661.333,759.191,669.667,759.191,677.333C759.191,685,759.191,692,759.191,695.5L759.191,699\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_LEDGERACCT_ETHIDX_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_LEDGERACCT_ETHIDX_0\" data-points=\"W3sieCI6ODA4LjMyOTQwMjA0MzI2OTMsInkiOjYwM30seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjYyOH0seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjY1M30seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjY3OH0seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjcwM31d\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M914.467,603L922.657,607.167C930.847,611.333,947.226,619.667,955.416,628C963.605,636.333,963.605,644.667,963.605,653C963.605,661.333,963.605,669.667,963.605,677.333C963.605,685,963.605,692,963.605,695.5L963.605,699\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_LEDGERACCT_XRPIDX_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_LEDGERACCT_XRPIDX_0\" data-points=\"W3sieCI6OTE0LjQ2NzQ3Mjk1NjczMDcsInkiOjYwM30seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjYyOH0seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjY1M30seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjY3OH0seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjcwM31d\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M957.672,591.912L994.064,597.926C1030.457,603.941,1103.242,615.971,1139.635,626.152C1176.027,636.333,1176.027,644.667,1176.027,653C1176.027,661.333,1176.027,669.667,1176.027,677.333C1176.027,685,1176.027,692,1176.027,695.5L1176.027,699\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_LEDGERACCT_OTHERIDX_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_LEDGERACCT_OTHERIDX_0\" data-points=\"W3sieCI6OTU3LjY3MTg3NSwieSI6NTkxLjkxMTUwMjg4NjU4NTF9LHsieCI6MTE3Ni4wMjczNDM3NSwieSI6NjI4fSx7IngiOjExNzYuMDI3MzQzNzUsInkiOjY1M30seyJ4IjoxMTc2LjAyNzM0Mzc1LCJ5Ijo2Nzh9LHsieCI6MTE3Ni4wMjczNDM3NSwieSI6NzAzfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M567.379,757L567.379,761.167C567.379,765.333,567.379,773.667,567.379,782C567.379,790.333,567.379,798.667,567.379,811.5C567.379,824.333,567.379,841.667,567.379,859C567.379,876.333,567.379,893.667,567.379,911C567.379,928.333,567.379,945.667,567.379,963C567.379,980.333,567.379,997.667,567.379,1010.5C567.379,1023.333,567.379,1031.667,567.379,1040C567.379,1048.333,567.379,1056.667,595.279,1067.286C623.179,1077.905,678.979,1090.81,706.879,1097.262L734.779,1103.715\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_BTCIDX_NODES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_BTCIDX_NODES_0\" data-points=\"W3sieCI6NTY3LjM3ODkwNjI1LCJ5Ijo3NTd9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo3ODJ9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo4MDd9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo4NTl9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo5MTF9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo5NjN9LHsieCI6NTY3LjM3ODkwNjI1LCJ5IjoxMDE1fSx7IngiOjU2Ny4zNzg5MDYyNSwieSI6MTA0MH0seyJ4Ijo1NjcuMzc4OTA2MjUsInkiOjEwNjV9LHsieCI6NzM4LjY3NTc4MTI1LCJ5IjoxMTA0LjYxNTk0NjY3NzM2fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M759.191,757L759.191,761.167C759.191,765.333,759.191,773.667,759.191,782C759.191,790.333,759.191,798.667,759.191,811.5C759.191,824.333,759.191,841.667,759.191,859C759.191,876.333,759.191,893.667,759.191,911C759.191,928.333,759.191,945.667,759.191,963C759.191,980.333,759.191,997.667,759.191,1010.5C759.191,1023.333,759.191,1031.667,759.191,1040C759.191,1048.333,759.191,1056.667,765.542,1066.134C771.892,1075.6,784.593,1086.201,790.944,1091.501L797.294,1096.801\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_ETHIDX_NODES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_ETHIDX_NODES_0\" data-points=\"W3sieCI6NzU5LjE5MTQwNjI1LCJ5Ijo3NTd9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo3ODJ9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo4MDd9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo4NTl9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo5MTF9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo5NjN9LHsieCI6NzU5LjE5MTQwNjI1LCJ5IjoxMDE1fSx7IngiOjc1OS4xOTE0MDYyNSwieSI6MTA0MH0seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjEwNjV9LHsieCI6ODAwLjM2NDk0NzM1MzU4NDUsInkiOjEwOTkuMzY0NDI1NjU5MTc5N31d\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M963.605,757L963.605,761.167C963.605,765.333,963.605,773.667,963.605,782C963.605,790.333,963.605,798.667,963.605,811.5C963.605,824.333,963.605,841.667,963.605,859C963.605,876.333,963.605,893.667,963.605,911C963.605,928.333,963.605,945.667,963.605,963C963.605,980.333,963.605,997.667,963.605,1010.5C963.605,1023.333,963.605,1031.667,963.605,1040C963.605,1048.333,963.605,1056.667,951.993,1066.278C940.38,1075.889,917.154,1086.778,905.541,1092.222L893.928,1097.666\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_XRPIDX_NODES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_XRPIDX_NODES_0\" data-points=\"W3sieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo3NTd9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo3ODJ9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo4MDd9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo4NTl9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo5MTF9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo5NjN9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5IjoxMDE1fSx7IngiOjk2My42MDU0Njg3NSwieSI6MTA0MH0seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjEwNjV9LHsieCI6ODkwLjMwNTk3Nzk3ODYyMDEsInkiOjEwOTkuMzY0NDI1NjU5MTc5N31d\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path><path d=\"M1176.027,757L1176.027,761.167C1176.027,765.333,1176.027,773.667,1176.027,782C1176.027,790.333,1176.027,798.667,1176.027,811.5C1176.027,824.333,1176.027,841.667,1176.027,859C1176.027,876.333,1176.027,893.667,1176.027,911C1176.027,928.333,1176.027,945.667,1176.027,963C1176.027,980.333,1176.027,997.667,1176.027,1010.5C1176.027,1023.333,1176.027,1031.667,1176.027,1040C1176.027,1048.333,1176.027,1056.667,1135.138,1068.142C1094.249,1079.617,1012.47,1094.235,971.581,1101.543L930.692,1108.852\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-L_OTHERIDX_NODES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_OTHERIDX_NODES_0\" data-points=\"W3sieCI6MTE3Ni4wMjczNDM3NSwieSI6NzU3fSx7IngiOjExNzYuMDI3MzQzNzUsInkiOjc4Mn0seyJ4IjoxMTc2LjAyNzM0Mzc1LCJ5Ijo4MDd9LHsieCI6MTE3Ni4wMjczNDM3NSwieSI6ODU5fSx7IngiOjExNzYuMDI3MzQzNzUsInkiOjkxMX0seyJ4IjoxMTc2LjAyNzM0Mzc1LCJ5Ijo5NjN9LHsieCI6MTE3Ni4wMjczNDM3NSwieSI6MTAxNX0seyJ4IjoxMTc2LjAyNzM0Mzc1LCJ5IjoxMDQwfSx7IngiOjExNzYuMDI3MzQzNzUsInkiOjEwNjV9LHsieCI6OTI2Ljc1MzkwNjI1LCJ5IjoxMTA5LjU1NTY3ODM1MjE2Mjl9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_USER_WEBUI_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_MOBILE_AUTH_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_DESKTOP_AUTH_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_THIRDPARTY_APIGW_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_WEBUI_APIGW_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_WEBUI_NOTIF_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_APIGW_AMQP_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_AMQP_GOVENGINE_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_AMQP_EVENTPROC_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_AMQP_LEDGERACCT_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_GOVENGINE_POSTGRES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_GOVENGINE_NBRIDGE_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_NBRIDGE_NOTARY_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_NOTARY_KMSCONNECT_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_GOVENGINE_VAULTCORE_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_VAULTCORE_KMSCONNECT_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_KMSCONNECT_HSM_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_LEDGERACCT_BTCIDX_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_LEDGERACCT_ETHIDX_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_LEDGERACCT_XRPIDX_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_LEDGERACCT_OTHERIDX_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_BTCIDX_NODES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_ETHIDX_NODES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_XRPIDX_NODES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_OTHERIDX_NODES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-USER-0\" data-look=\"classic\" transform=\"translate(1326.97265625, 60)\"><rect class=\"basic label-container\" style=\"\" x=\"-67.3515625\" y=\"-27\" width=\"134.703125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-37.3515625, -12)\"><rect></rect><foreignObject width=\"74.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>End Users</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-MOBILE-1\" data-look=\"classic\" transform=\"translate(1526.953125, 60)\"><rect class=\"basic label-container\" style=\"\" x=\"-69.5859375\" y=\"-27\" width=\"139.171875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-39.5859375, -12)\"><rect></rect><foreignObject width=\"79.171875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Mobile App</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-DESKTOP-2\" data-look=\"classic\" transform=\"translate(1721.90625, 60)\"><rect class=\"basic label-container\" style=\"\" x=\"-75.3671875\" y=\"-27\" width=\"150.734375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-45.3671875, -12)\"><rect></rect><foreignObject width=\"90.734375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Desktop App</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-THIRDPARTY-3\" data-look=\"classic\" transform=\"translate(622.8671875, 60)\"><rect class=\"basic label-container\" style=\"\" x=\"-89.578125\" y=\"-27\" width=\"179.15625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-59.578125, -12)\"><rect></rect><foreignObject width=\"119.15625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Third-Party Apps</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-WEBUI-4\" data-look=\"classic\" transform=\"translate(1326.97265625, 214)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-56.53125\" y=\"-27\" width=\"113.0625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-26.53125, -12)\"><rect></rect><foreignObject width=\"53.0625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Web UI</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-NOTIF-5\" data-look=\"classic\" transform=\"translate(1475.78125, 343)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-95.359375\" y=\"-27\" width=\"190.71875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-65.359375, -12)\"><rect></rect><foreignObject width=\"130.71875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Notification Server</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-AUTH-6\" data-look=\"classic\" transform=\"translate(1651.3828125, 214)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-106.4921875\" y=\"-27\" width=\"212.984375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-76.4921875, -12)\"><rect></rect><foreignObject width=\"152.984375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Authentication Server</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-APIGW-7\" data-look=\"classic\" transform=\"translate(622.8671875, 343)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-76.6875\" y=\"-27\" width=\"153.375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.6875, -12)\"><rect></rect><foreignObject width=\"93.375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>API Gateway</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-LEDGERACCT-8\" data-look=\"classic\" transform=\"translate(861.3984375, 576)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-96.2734375\" y=\"-27\" width=\"192.546875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-66.2734375, -12)\"><rect></rect><foreignObject width=\"132.546875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Ledger Accounting</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-EVENTPROC-9\" data-look=\"classic\" transform=\"translate(548.91796875, 576)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-92.2578125\" y=\"-27\" width=\"184.515625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-62.2578125, -12)\"><rect></rect><foreignObject width=\"124.515625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Event Processing</p></span></div></foreignObject></g></g><g class=\"node default trusted\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-GOVENGINE-10\" data-look=\"classic\" transform=\"translate(273.33984375, 576)\"><rect class=\"basic label-container\" style=\"fill:#90EE90 !important;stroke:#006400 !important;stroke-width:3px !important\" x=\"-100.71875\" y=\"-27\" width=\"201.4375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-70.71875, -12)\"><rect></rect><foreignObject width=\"141.4375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Governance Engine</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-AMQP-11\" data-look=\"classic\" transform=\"translate(622.8671875, 472)\"><rect class=\"basic label-container\" style=\"\" x=\"-66.015625\" y=\"-27\" width=\"132.03125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-36.015625, -12)\"><rect></rect><foreignObject width=\"72.03125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>RabbitMQ</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-BTCIDX-12\" data-look=\"classic\" transform=\"translate(567.37890625, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-66.90625\" y=\"-27\" width=\"133.8125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-36.90625, -12)\"><rect></rect><foreignObject width=\"73.8125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>NBXplorer</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-ETHIDX-13\" data-look=\"classic\" transform=\"translate(759.19140625, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-74.90625\" y=\"-27\" width=\"149.8125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-44.90625, -12)\"><rect></rect><foreignObject width=\"89.8125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>ETH Indexer</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-XRPIDX-14\" data-look=\"classic\" transform=\"translate(963.60546875, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-79.5078125\" y=\"-27\" width=\"159.015625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-49.5078125, -12)\"><rect></rect><foreignObject width=\"99.015625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>XRPL Indexer</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-OTHERIDX-15\" data-look=\"classic\" transform=\"translate(1176.02734375, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-82.9140625\" y=\"-27\" width=\"165.828125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-52.9140625, -12)\"><rect></rect><foreignObject width=\"105.828125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Other Indexers</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-NBRIDGE-16\" data-look=\"classic\" transform=\"translate(122.13671875, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-78.9140625\" y=\"-27\" width=\"157.828125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-48.9140625, -12)\"><rect></rect><foreignObject width=\"97.828125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Notary Bridge</p></span></div></foreignObject></g></g><g class=\"node default hsm\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-NOTARY-17\" data-look=\"classic\" transform=\"translate(122.13671875, 859)\"><rect class=\"basic label-container\" style=\"fill:#FF6347 !important;stroke:#8B0000 !important;stroke-width:3px !important\" x=\"-53.5625\" y=\"-27\" width=\"107.125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5625, -12)\"><rect></rect><foreignObject width=\"47.125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Notary</p></span></div></foreignObject></g></g><g class=\"node default hsm\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-VAULTCORE-18\" data-look=\"classic\" transform=\"translate(273.33984375, 859)\"><rect class=\"basic label-container\" style=\"fill:#FF6347 !important;stroke:#8B0000 !important;stroke-width:3px !important\" x=\"-47.640625\" y=\"-27\" width=\"95.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-17.640625, -12)\"><rect></rect><foreignObject width=\"35.28125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Vault</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-KMSCONNECT-19\" data-look=\"classic\" transform=\"translate(152.78125, 963)\"><rect class=\"basic label-container\" style=\"\" x=\"-79.359375\" y=\"-27\" width=\"158.71875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-49.359375, -12)\"><rect></rect><foreignObject width=\"98.71875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>KMS Connect</p></span></div></foreignObject></g></g><g class=\"node default hsm\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-HSM-20\" data-look=\"classic\" transform=\"translate(152.78125, 1126.3644256591797)\"><rect class=\"basic label-container\" style=\"fill:#FF6347 !important;stroke:#8B0000 !important;stroke-width:3px !important\" x=\"-67.3359375\" y=\"-27\" width=\"134.671875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-37.3359375, -12)\"><rect></rect><foreignObject width=\"74.671875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>HSM/KMS</p></span></div></foreignObject></g></g><g class=\"node default external\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-POSTGRES-21\" data-look=\"classic\" transform=\"translate(408.8671875, 1126.3644256591797)\"><path d=\"M0,11.242949511624708 a51.078125,11.242949511624708 0,0,0 102.15625,0 a51.078125,11.242949511624708 0,0,0 -102.15625,0 l0,50.24294951162471 a51.078125,11.242949511624708 0,0,0 102.15625,0 l0,-50.24294951162471\" class=\"basic label-container outer-path\" style=\"fill:#87CEEB !important;stroke:#00008B !important;stroke-width:2px !important\" transform=\"translate(-51.078125, -36.36442426743706)\"></path><g class=\"label\" style=\"\" transform=\"translate(-43.578125, -2)\"><rect></rect><foreignObject width=\"87.15625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>PostgreSQL</p></span></div></foreignObject></g></g><g class=\"node default external\" id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-flowchart-NODES-22\" data-look=\"classic\" transform=\"translate(832.71484375, 1126.3644256591797)\"><rect class=\"basic label-container\" style=\"fill:#87CEEB !important;stroke:#00008B !important;stroke-width:2px !important\" x=\"-94.0390625\" y=\"-27\" width=\"188.078125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-64.0390625, -12)\"><rect></rect><foreignObject width=\"128.078125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Blockchain Nodes</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-730d7abb0ba490661dc22549e5cce54df59b0cbeaddb54acd86555a85981c455-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1840.2734375px;\" viewBox=\"0 0 1840.2734375 1195.7288818359375\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .error-icon{fill:#a44141;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .error-text{fill:#ddd;stroke:#ddd;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edge-thickness-normal{stroke-width:1px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edge-thickness-thick{stroke-width:3.5px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edge-pattern-solid{stroke-dasharray:0;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edge-pattern-dashed{stroke-dasharray:3;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edge-pattern-dotted{stroke-dasharray:2;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .marker{fill:lightgrey;stroke:lightgrey;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .marker.cross{stroke:lightgrey;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c p{margin:0;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .cluster-label text{fill:#F9FFFE;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .cluster-label span{color:#F9FFFE;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .cluster-label span p{background-color:transparent;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .label text,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c span{fill:#ccc;color:#ccc;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node rect,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node circle,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node ellipse,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node polygon,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .rough-node .label text,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node .label text,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .image-shape .label,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .icon-shape .label{text-anchor:middle;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .rough-node .label,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node .label,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .image-shape .label,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .icon-shape .label{text-align:center;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node.clickable{cursor:pointer;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .arrowheadPath{fill:lightgrey;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .flowchart-link{stroke:lightgrey;fill:none;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .cluster text{fill:#F9FFFE;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .cluster span{color:#F9FFFE;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c rect.text{fill:none;stroke-width:0;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .icon-shape,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .icon-shape p,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .icon-shape .label rect,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .node .neo-node{stroke:#ccc;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].node rect,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].cluster rect,#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].node polygon{stroke:url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].node path{stroke:url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-gradient);stroke-width:1px;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].node circle{stroke:url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .trusted&gt;*{fill:rgb(144, 238, 144)!important;stroke:rgb(0, 100, 0)!important;stroke-width:3px!important;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .trusted span{fill:rgb(144, 238, 144)!important;stroke:rgb(0, 100, 0)!important;stroke-width:3px!important;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .untrusted&gt;*{fill:rgb(255, 182, 193)!important;stroke:rgb(139, 0, 0)!important;stroke-width:2px!important;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .untrusted span{fill:rgb(255, 182, 193)!important;stroke:rgb(139, 0, 0)!important;stroke-width:2px!important;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .external&gt;*{fill:rgb(135, 206, 235)!important;stroke:rgb(0, 0, 139)!important;stroke-width:2px!important;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .external span{fill:rgb(135, 206, 235)!important;stroke:rgb(0, 0, 139)!important;stroke-width:2px!important;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .hsm&gt;*{fill:rgb(255, 99, 71)!important;stroke:rgb(139, 0, 0)!important;stroke-width:3px!important;}#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c .hsm span{fill:rgb(255, 99, 71)!important;stroke:rgb(139, 0, 0)!important;stroke-width:3px!important;}</style><g><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-External\" data-look=\"classic\"><rect style=\"\" x=\"50.4453125\" y=\"1065\" width=\"1194.46875\" height=\"122.72885131835938\"></rect><g class=\"cluster-label\" transform=\"translate(568.9765625, 1065)\"><foreignObject width=\"157.40625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>External Infrastructure</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-Security\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"678\" width=\"363.83984375\" height=\"337\"></rect><g class=\"cluster-label\" transform=\"translate(66.302734375, 678)\"><foreignObject width=\"247.234375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Security &amp; Key Management Layer</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-Blockchain\" data-look=\"classic\"><rect style=\"\" x=\"465.47265625\" y=\"678\" width=\"828.46875\" height=\"104\"></rect><g class=\"cluster-label\" transform=\"translate(778.75390625, 678)\"><foreignObject width=\"201.90625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Blockchain Integration Layer</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-Core\" data-look=\"classic\"><rect style=\"\" x=\"44.95703125\" y=\"291\" width=\"1151.0703125\" height=\"337\"></rect><g class=\"cluster-label\" transform=\"translate(527.5546875, 291)\"><foreignObject width=\"185.875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Core &amp; Governance Layer</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-Interaction\" data-look=\"classic\"><rect style=\"\" x=\"1216.02734375\" y=\"162\" width=\"613.578125\" height=\"233\"></rect><g class=\"cluster-label\" transform=\"translate(1463.22265625, 162)\"><foreignObject width=\"119.1875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Interaction Layer</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-ExtUsers\" data-look=\"classic\"><rect style=\"\" x=\"498.2890625\" y=\"8\" width=\"1333.984375\" height=\"104\"></rect><g class=\"cluster-label\" transform=\"translate(1085.2421875, 8)\"><foreignObject width=\"160.078125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>External Users &amp; Apps</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M1326.973,87L1326.973,91.167C1326.973,95.333,1326.973,103.667,1326.973,112C1326.973,120.333,1326.973,128.667,1326.973,137C1326.973,145.333,1326.973,153.667,1326.973,161.333C1326.973,169,1326.973,176,1326.973,179.5L1326.973,183\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_USER_WEBUI_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_USER_WEBUI_0\" data-points=\"W3sieCI6MTMyNi45NzI2NTYyNSwieSI6ODd9LHsieCI6MTMyNi45NzI2NTYyNSwieSI6MTEyfSx7IngiOjEzMjYuOTcyNjU2MjUsInkiOjEzN30seyJ4IjoxMzI2Ljk3MjY1NjI1LCJ5IjoxNjJ9LHsieCI6MTMyNi45NzI2NTYyNSwieSI6MTg3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M1526.953,87L1526.953,91.167C1526.953,95.333,1526.953,103.667,1526.953,112C1526.953,120.333,1526.953,128.667,1526.953,137C1526.953,145.333,1526.953,153.667,1536.308,161.743C1545.664,169.819,1564.374,177.638,1573.729,181.548L1583.084,185.458\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_MOBILE_AUTH_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_MOBILE_AUTH_0\" data-points=\"W3sieCI6MTUyNi45NTMxMjUsInkiOjg3fSx7IngiOjE1MjYuOTUzMTI1LCJ5IjoxMTJ9LHsieCI6MTUyNi45NTMxMjUsInkiOjEzN30seyJ4IjoxNTI2Ljk1MzEyNSwieSI6MTYyfSx7IngiOjE1ODYuNzc1MDkwMTQ0MjMwNywieSI6MTg3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M1721.906,87L1721.906,91.167C1721.906,95.333,1721.906,103.667,1721.906,112C1721.906,120.333,1721.906,128.667,1721.906,137C1721.906,145.333,1721.906,153.667,1716.792,161.604C1711.678,169.542,1701.449,177.084,1696.335,180.855L1691.22,184.626\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_DESKTOP_AUTH_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_DESKTOP_AUTH_0\" data-points=\"W3sieCI6MTcyMS45MDYyNSwieSI6ODd9LHsieCI6MTcyMS45MDYyNSwieSI6MTEyfSx7IngiOjE3MjEuOTA2MjUsInkiOjEzN30seyJ4IjoxNzIxLjkwNjI1LCJ5IjoxNjJ9LHsieCI6MTY4OC4wMDA3NTEyMDE5MjMsInkiOjE4N31d\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M622.867,87L622.867,91.167C622.867,95.333,622.867,103.667,622.867,112C622.867,120.333,622.867,128.667,622.867,137C622.867,145.333,622.867,153.667,622.867,166.5C622.867,179.333,622.867,196.667,622.867,214C622.867,231.333,622.867,248.667,622.867,261.5C622.867,274.333,622.867,282.667,622.867,290.333C622.867,298,622.867,305,622.867,308.5L622.867,312\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_THIRDPARTY_APIGW_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_THIRDPARTY_APIGW_0\" data-points=\"W3sieCI6NjIyLjg2NzE4NzUsInkiOjg3fSx7IngiOjYyMi44NjcxODc1LCJ5IjoxMTJ9LHsieCI6NjIyLjg2NzE4NzUsInkiOjEzN30seyJ4Ijo2MjIuODY3MTg3NSwieSI6MTYyfSx7IngiOjYyMi44NjcxODc1LCJ5IjoyMTR9LHsieCI6NjIyLjg2NzE4NzUsInkiOjI2Nn0seyJ4Ijo2MjIuODY3MTg3NSwieSI6MjkxfSx7IngiOjYyMi44NjcxODc1LCJ5IjozMTZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M1298.322,241L1293.9,245.167C1289.479,249.333,1280.636,257.667,1276.214,266C1271.793,274.333,1271.793,282.667,1177.084,294.423C1082.376,306.178,892.959,321.357,798.25,328.946L703.542,336.535\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_WEBUI_APIGW_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_WEBUI_APIGW_0\" data-points=\"W3sieCI6MTI5OC4zMjE2NjQ2NjM0NjE0LCJ5IjoyNDF9LHsieCI6MTI3MS43OTI5Njg3NSwieSI6MjY2fSx7IngiOjEyNzEuNzkyOTY4NzUsInkiOjI5MX0seyJ4Ijo2OTkuNTU0Njg3NSwieSI6MzM2Ljg1NDg0NDI0Mzc5MjM0fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M1383.504,233.754L1398.883,239.129C1414.263,244.503,1445.022,255.251,1460.402,264.792C1475.781,274.333,1475.781,282.667,1475.781,290.333C1475.781,298,1475.781,305,1475.781,308.5L1475.781,312\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_WEBUI_NOTIF_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_WEBUI_NOTIF_0\" data-points=\"W3sieCI6MTM4My41MDM5MDYyNSwieSI6MjMzLjc1NDQwMzQ2NTAyMTY1fSx7IngiOjE0NzUuNzgxMjUsInkiOjI2Nn0seyJ4IjoxNDc1Ljc4MTI1LCJ5IjoyOTF9LHsieCI6MTQ3NS43ODEyNSwieSI6MzE2fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M622.867,370L622.867,374.167C622.867,378.333,622.867,386.667,622.867,395C622.867,403.333,622.867,411.667,622.867,419.333C622.867,427,622.867,434,622.867,437.5L622.867,441\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_APIGW_AMQP_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_APIGW_AMQP_0\" data-points=\"W3sieCI6NjIyLjg2NzE4NzUsInkiOjM3MH0seyJ4Ijo2MjIuODY3MTg3NSwieSI6Mzk1fSx7IngiOjYyMi44NjcxODc1LCJ5Ijo0MjB9LHsieCI6NjIyLjg2NzE4NzUsInkiOjQ0NX1d\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M556.852,481.821L509.6,488.851C462.348,495.881,367.844,509.94,320.592,520.47C273.34,531,273.34,538,273.34,541.5L273.34,545\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_AMQP_GOVENGINE_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_AMQP_GOVENGINE_0\" data-points=\"W3sieCI6NTU2Ljg1MTU2MjUsInkiOjQ4MS44MjEyOTg4NTIyNDQ2NH0seyJ4IjoyNzMuMzM5ODQzNzUsInkiOjUyNH0seyJ4IjoyNzMuMzM5ODQzNzUsInkiOjU0OX1d\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M584.47,499L578.545,503.167C572.62,507.333,560.769,515.667,554.843,523.333C548.918,531,548.918,538,548.918,541.5L548.918,545\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_AMQP_EVENTPROC_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_AMQP_EVENTPROC_0\" data-points=\"W3sieCI6NTg0LjQ3MDQ3Nzc2NDQyMzEsInkiOjQ5OX0seyJ4Ijo1NDguOTE3OTY4NzUsInkiOjUyNH0seyJ4Ijo1NDguOTE3OTY4NzUsInkiOjU0OX1d\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M688.883,486.391L717.635,492.66C746.388,498.928,803.893,511.464,832.646,521.232C861.398,531,861.398,538,861.398,541.5L861.398,545\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_AMQP_LEDGERACCT_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_AMQP_LEDGERACCT_0\" data-points=\"W3sieCI6Njg4Ljg4MjgxMjUsInkiOjQ4Ni4zOTE0NTgxNDIyNzd9LHsieCI6ODYxLjM5ODQzNzUsInkiOjUyNH0seyJ4Ijo4NjEuMzk4NDM3NSwieSI6NTQ5fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M343.71,603L354.569,607.167C365.429,611.333,387.148,619.667,398.008,628C408.867,636.333,408.867,644.667,408.867,653C408.867,661.333,408.867,669.667,408.867,682.5C408.867,695.333,408.867,712.667,408.867,730C408.867,747.333,408.867,764.667,408.867,777.5C408.867,790.333,408.867,798.667,408.867,811.5C408.867,824.333,408.867,841.667,408.867,859C408.867,876.333,408.867,893.667,408.867,911C408.867,928.333,408.867,945.667,408.867,963C408.867,980.333,408.867,997.667,408.867,1010.5C408.867,1023.333,408.867,1031.667,408.867,1040C408.867,1048.333,408.867,1056.667,408.867,1064.333C408.867,1072,408.867,1079,408.867,1082.5L408.867,1086\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_GOVENGINE_POSTGRES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GOVENGINE_POSTGRES_0\" data-points=\"W3sieCI6MzQzLjcwOTgxMDY5NzExNTM2LCJ5Ijo2MDN9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjYyOH0seyJ4Ijo0MDguODY3MTg3NSwieSI6NjUzfSx7IngiOjQwOC44NjcxODc1LCJ5Ijo2Nzh9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjczMH0seyJ4Ijo0MDguODY3MTg3NSwieSI6NzgyfSx7IngiOjQwOC44NjcxODc1LCJ5Ijo4MDd9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjg1OX0seyJ4Ijo0MDguODY3MTg3NSwieSI6OTExfSx7IngiOjQwOC44NjcxODc1LCJ5Ijo5NjN9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjEwMTV9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjEwNDB9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjEwNjV9LHsieCI6NDA4Ljg2NzE4NzUsInkiOjEwOTB9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M194.831,603L182.715,607.167C170.599,611.333,146.368,619.667,134.252,628C122.137,636.333,122.137,644.667,122.137,653C122.137,661.333,122.137,669.667,122.137,677.333C122.137,685,122.137,692,122.137,695.5L122.137,699\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_GOVENGINE_NBRIDGE_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GOVENGINE_NBRIDGE_0\" data-points=\"W3sieCI6MTk0LjgzMDUyODg0NjE1Mzg0LCJ5Ijo2MDN9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo2Mjh9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo2NTN9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo2Nzh9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo3MDN9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M122.137,757L122.137,761.167C122.137,765.333,122.137,773.667,122.137,782C122.137,790.333,122.137,798.667,122.137,806.333C122.137,814,122.137,821,122.137,824.5L122.137,828\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_NBRIDGE_NOTARY_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_NBRIDGE_NOTARY_0\" data-points=\"W3sieCI6MTIyLjEzNjcxODc1LCJ5Ijo3NTd9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo3ODJ9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo4MDd9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo4MzJ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M122.137,886L122.137,890.167C122.137,894.333,122.137,902.667,124.254,910.426C126.371,918.185,130.605,925.369,132.722,928.962L134.839,932.554\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_NOTARY_KMSCONNECT_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_NOTARY_KMSCONNECT_0\" data-points=\"W3sieCI6MTIyLjEzNjcxODc1LCJ5Ijo4ODZ9LHsieCI6MTIyLjEzNjcxODc1LCJ5Ijo5MTF9LHsieCI6MTM2Ljg2OTY2NjQ2NjM0NjE2LCJ5Ijo5MzZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M273.34,603L273.34,607.167C273.34,611.333,273.34,619.667,273.34,628C273.34,636.333,273.34,644.667,273.34,653C273.34,661.333,273.34,669.667,273.34,682.5C273.34,695.333,273.34,712.667,273.34,730C273.34,747.333,273.34,764.667,273.34,777.5C273.34,790.333,273.34,798.667,273.34,806.333C273.34,814,273.34,821,273.34,824.5L273.34,828\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_GOVENGINE_VAULTCORE_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_GOVENGINE_VAULTCORE_0\" data-points=\"W3sieCI6MjczLjMzOTg0Mzc1LCJ5Ijo2MDN9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo2Mjh9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo2NTN9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo2Nzh9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo3MzB9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo3ODJ9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo4MDd9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo4MzJ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M273.34,886L273.34,890.167C273.34,894.333,273.34,902.667,264.292,910.736C255.244,918.805,237.148,926.611,228.1,930.513L219.052,934.416\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_VAULTCORE_KMSCONNECT_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_VAULTCORE_KMSCONNECT_0\" data-points=\"W3sieCI6MjczLjMzOTg0Mzc1LCJ5Ijo4ODZ9LHsieCI6MjczLjMzOTg0Mzc1LCJ5Ijo5MTF9LHsieCI6MjE1LjM3ODk4MTM3MDE5MjMyLCJ5Ijo5MzZ9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M152.781,990L152.781,994.167C152.781,998.333,152.781,1006.667,152.781,1015C152.781,1023.333,152.781,1031.667,152.781,1040C152.781,1048.333,152.781,1056.667,152.781,1065.894C152.781,1075.121,152.781,1085.243,152.781,1090.304L152.781,1095.364\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_KMSCONNECT_HSM_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_KMSCONNECT_HSM_0\" data-points=\"W3sieCI6MTUyLjc4MTI1LCJ5Ijo5OTB9LHsieCI6MTUyLjc4MTI1LCJ5IjoxMDE1fSx7IngiOjE1Mi43ODEyNSwieSI6MTA0MH0seyJ4IjoxNTIuNzgxMjUsInkiOjEwNjV9LHsieCI6MTUyLjc4MTI1LCJ5IjoxMDk5LjM2NDQyNTY1OTE3OTd9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M765.125,593.027L732.167,598.856C699.21,604.685,633.294,616.342,600.337,626.338C567.379,636.333,567.379,644.667,567.379,653C567.379,661.333,567.379,669.667,567.379,677.333C567.379,685,567.379,692,567.379,695.5L567.379,699\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_LEDGERACCT_BTCIDX_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_LEDGERACCT_BTCIDX_0\" data-points=\"W3sieCI6NzY1LjEyNSwieSI6NTkzLjAyNjgyMzc5MTk5OTR9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo2Mjh9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo2NTN9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo2Nzh9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo3MDN9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M808.329,603L800.14,607.167C791.95,611.333,775.571,619.667,767.381,628C759.191,636.333,759.191,644.667,759.191,653C759.191,661.333,759.191,669.667,759.191,677.333C759.191,685,759.191,692,759.191,695.5L759.191,699\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_LEDGERACCT_ETHIDX_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_LEDGERACCT_ETHIDX_0\" data-points=\"W3sieCI6ODA4LjMyOTQwMjA0MzI2OTMsInkiOjYwM30seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjYyOH0seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjY1M30seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjY3OH0seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjcwM31d\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M914.467,603L922.657,607.167C930.847,611.333,947.226,619.667,955.416,628C963.605,636.333,963.605,644.667,963.605,653C963.605,661.333,963.605,669.667,963.605,677.333C963.605,685,963.605,692,963.605,695.5L963.605,699\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_LEDGERACCT_XRPIDX_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_LEDGERACCT_XRPIDX_0\" data-points=\"W3sieCI6OTE0LjQ2NzQ3Mjk1NjczMDcsInkiOjYwM30seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjYyOH0seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjY1M30seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjY3OH0seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjcwM31d\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M957.672,591.912L994.064,597.926C1030.457,603.941,1103.242,615.971,1139.635,626.152C1176.027,636.333,1176.027,644.667,1176.027,653C1176.027,661.333,1176.027,669.667,1176.027,677.333C1176.027,685,1176.027,692,1176.027,695.5L1176.027,699\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_LEDGERACCT_OTHERIDX_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_LEDGERACCT_OTHERIDX_0\" data-points=\"W3sieCI6OTU3LjY3MTg3NSwieSI6NTkxLjkxMTUwMjg4NjU4NTF9LHsieCI6MTE3Ni4wMjczNDM3NSwieSI6NjI4fSx7IngiOjExNzYuMDI3MzQzNzUsInkiOjY1M30seyJ4IjoxMTc2LjAyNzM0Mzc1LCJ5Ijo2Nzh9LHsieCI6MTE3Ni4wMjczNDM3NSwieSI6NzAzfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M567.379,757L567.379,761.167C567.379,765.333,567.379,773.667,567.379,782C567.379,790.333,567.379,798.667,567.379,811.5C567.379,824.333,567.379,841.667,567.379,859C567.379,876.333,567.379,893.667,567.379,911C567.379,928.333,567.379,945.667,567.379,963C567.379,980.333,567.379,997.667,567.379,1010.5C567.379,1023.333,567.379,1031.667,567.379,1040C567.379,1048.333,567.379,1056.667,595.279,1067.286C623.179,1077.905,678.979,1090.81,706.879,1097.262L734.779,1103.715\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_BTCIDX_NODES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_BTCIDX_NODES_0\" data-points=\"W3sieCI6NTY3LjM3ODkwNjI1LCJ5Ijo3NTd9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo3ODJ9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo4MDd9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo4NTl9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo5MTF9LHsieCI6NTY3LjM3ODkwNjI1LCJ5Ijo5NjN9LHsieCI6NTY3LjM3ODkwNjI1LCJ5IjoxMDE1fSx7IngiOjU2Ny4zNzg5MDYyNSwieSI6MTA0MH0seyJ4Ijo1NjcuMzc4OTA2MjUsInkiOjEwNjV9LHsieCI6NzM4LjY3NTc4MTI1LCJ5IjoxMTA0LjYxNTk0NjY3NzM2fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M759.191,757L759.191,761.167C759.191,765.333,759.191,773.667,759.191,782C759.191,790.333,759.191,798.667,759.191,811.5C759.191,824.333,759.191,841.667,759.191,859C759.191,876.333,759.191,893.667,759.191,911C759.191,928.333,759.191,945.667,759.191,963C759.191,980.333,759.191,997.667,759.191,1010.5C759.191,1023.333,759.191,1031.667,759.191,1040C759.191,1048.333,759.191,1056.667,765.542,1066.134C771.892,1075.6,784.593,1086.201,790.944,1091.501L797.294,1096.801\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_ETHIDX_NODES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_ETHIDX_NODES_0\" data-points=\"W3sieCI6NzU5LjE5MTQwNjI1LCJ5Ijo3NTd9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo3ODJ9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo4MDd9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo4NTl9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo5MTF9LHsieCI6NzU5LjE5MTQwNjI1LCJ5Ijo5NjN9LHsieCI6NzU5LjE5MTQwNjI1LCJ5IjoxMDE1fSx7IngiOjc1OS4xOTE0MDYyNSwieSI6MTA0MH0seyJ4Ijo3NTkuMTkxNDA2MjUsInkiOjEwNjV9LHsieCI6ODAwLjM2NDk0NzM1MzU4NDUsInkiOjEwOTkuMzY0NDI1NjU5MTc5N31d\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M963.605,757L963.605,761.167C963.605,765.333,963.605,773.667,963.605,782C963.605,790.333,963.605,798.667,963.605,811.5C963.605,824.333,963.605,841.667,963.605,859C963.605,876.333,963.605,893.667,963.605,911C963.605,928.333,963.605,945.667,963.605,963C963.605,980.333,963.605,997.667,963.605,1010.5C963.605,1023.333,963.605,1031.667,963.605,1040C963.605,1048.333,963.605,1056.667,951.993,1066.278C940.38,1075.889,917.154,1086.778,905.541,1092.222L893.928,1097.666\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_XRPIDX_NODES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_XRPIDX_NODES_0\" data-points=\"W3sieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo3NTd9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo3ODJ9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo4MDd9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo4NTl9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo5MTF9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5Ijo5NjN9LHsieCI6OTYzLjYwNTQ2ODc1LCJ5IjoxMDE1fSx7IngiOjk2My42MDU0Njg3NSwieSI6MTA0MH0seyJ4Ijo5NjMuNjA1NDY4NzUsInkiOjEwNjV9LHsieCI6ODkwLjMwNTk3Nzk3ODYyMDEsInkiOjEwOTkuMzY0NDI1NjU5MTc5N31d\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path><path d=\"M1176.027,757L1176.027,761.167C1176.027,765.333,1176.027,773.667,1176.027,782C1176.027,790.333,1176.027,798.667,1176.027,811.5C1176.027,824.333,1176.027,841.667,1176.027,859C1176.027,876.333,1176.027,893.667,1176.027,911C1176.027,928.333,1176.027,945.667,1176.027,963C1176.027,980.333,1176.027,997.667,1176.027,1010.5C1176.027,1023.333,1176.027,1031.667,1176.027,1040C1176.027,1048.333,1176.027,1056.667,1135.138,1068.142C1094.249,1079.617,1012.47,1094.235,971.581,1101.543L930.692,1108.852\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-L_OTHERIDX_NODES_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_OTHERIDX_NODES_0\" data-points=\"W3sieCI6MTE3Ni4wMjczNDM3NSwieSI6NzU3fSx7IngiOjExNzYuMDI3MzQzNzUsInkiOjc4Mn0seyJ4IjoxMTc2LjAyNzM0Mzc1LCJ5Ijo4MDd9LHsieCI6MTE3Ni4wMjczNDM3NSwieSI6ODU5fSx7IngiOjExNzYuMDI3MzQzNzUsInkiOjkxMX0seyJ4IjoxMTc2LjAyNzM0Mzc1LCJ5Ijo5NjN9LHsieCI6MTE3Ni4wMjczNDM3NSwieSI6MTAxNX0seyJ4IjoxMTc2LjAyNzM0Mzc1LCJ5IjoxMDQwfSx7IngiOjExNzYuMDI3MzQzNzUsInkiOjEwNjV9LHsieCI6OTI2Ljc1MzkwNjI1LCJ5IjoxMTA5LjU1NTY3ODM1MjE2Mjl9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_USER_WEBUI_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_MOBILE_AUTH_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_DESKTOP_AUTH_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_THIRDPARTY_APIGW_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_WEBUI_APIGW_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_WEBUI_NOTIF_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_APIGW_AMQP_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_AMQP_GOVENGINE_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_AMQP_EVENTPROC_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_AMQP_LEDGERACCT_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_GOVENGINE_POSTGRES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_GOVENGINE_NBRIDGE_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_NBRIDGE_NOTARY_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_NOTARY_KMSCONNECT_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_GOVENGINE_VAULTCORE_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_VAULTCORE_KMSCONNECT_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_KMSCONNECT_HSM_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_LEDGERACCT_BTCIDX_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_LEDGERACCT_ETHIDX_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_LEDGERACCT_XRPIDX_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_LEDGERACCT_OTHERIDX_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_BTCIDX_NODES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_ETHIDX_NODES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_XRPIDX_NODES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_OTHERIDX_NODES_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-USER-0\" data-look=\"classic\" transform=\"translate(1326.97265625, 60)\"><rect class=\"basic label-container\" style=\"\" x=\"-67.3515625\" y=\"-27\" width=\"134.703125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-37.3515625, -12)\"><rect></rect><foreignObject width=\"74.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>End Users</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-MOBILE-1\" data-look=\"classic\" transform=\"translate(1526.953125, 60)\"><rect class=\"basic label-container\" style=\"\" x=\"-69.5859375\" y=\"-27\" width=\"139.171875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-39.5859375, -12)\"><rect></rect><foreignObject width=\"79.171875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Mobile App</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-DESKTOP-2\" data-look=\"classic\" transform=\"translate(1721.90625, 60)\"><rect class=\"basic label-container\" style=\"\" x=\"-75.3671875\" y=\"-27\" width=\"150.734375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-45.3671875, -12)\"><rect></rect><foreignObject width=\"90.734375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Desktop App</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-THIRDPARTY-3\" data-look=\"classic\" transform=\"translate(622.8671875, 60)\"><rect class=\"basic label-container\" style=\"\" x=\"-89.578125\" y=\"-27\" width=\"179.15625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-59.578125, -12)\"><rect></rect><foreignObject width=\"119.15625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Third-Party Apps</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-WEBUI-4\" data-look=\"classic\" transform=\"translate(1326.97265625, 214)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-56.53125\" y=\"-27\" width=\"113.0625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-26.53125, -12)\"><rect></rect><foreignObject width=\"53.0625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Web UI</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-NOTIF-5\" data-look=\"classic\" transform=\"translate(1475.78125, 343)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-95.359375\" y=\"-27\" width=\"190.71875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-65.359375, -12)\"><rect></rect><foreignObject width=\"130.71875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Notification Server</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-AUTH-6\" data-look=\"classic\" transform=\"translate(1651.3828125, 214)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-106.4921875\" y=\"-27\" width=\"212.984375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-76.4921875, -12)\"><rect></rect><foreignObject width=\"152.984375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Authentication Server</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-APIGW-7\" data-look=\"classic\" transform=\"translate(622.8671875, 343)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-76.6875\" y=\"-27\" width=\"153.375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.6875, -12)\"><rect></rect><foreignObject width=\"93.375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>API Gateway</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-LEDGERACCT-8\" data-look=\"classic\" transform=\"translate(861.3984375, 576)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-96.2734375\" y=\"-27\" width=\"192.546875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-66.2734375, -12)\"><rect></rect><foreignObject width=\"132.546875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Ledger Accounting</p></span></div></foreignObject></g></g><g class=\"node default untrusted\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-EVENTPROC-9\" data-look=\"classic\" transform=\"translate(548.91796875, 576)\"><rect class=\"basic label-container\" style=\"fill:#FFB6C1 !important;stroke:#8B0000 !important;stroke-width:2px !important\" x=\"-92.2578125\" y=\"-27\" width=\"184.515625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-62.2578125, -12)\"><rect></rect><foreignObject width=\"124.515625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Event Processing</p></span></div></foreignObject></g></g><g class=\"node default trusted\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-GOVENGINE-10\" data-look=\"classic\" transform=\"translate(273.33984375, 576)\"><rect class=\"basic label-container\" style=\"fill:#90EE90 !important;stroke:#006400 !important;stroke-width:3px !important\" x=\"-100.71875\" y=\"-27\" width=\"201.4375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-70.71875, -12)\"><rect></rect><foreignObject width=\"141.4375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Governance Engine</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-AMQP-11\" data-look=\"classic\" transform=\"translate(622.8671875, 472)\"><rect class=\"basic label-container\" style=\"\" x=\"-66.015625\" y=\"-27\" width=\"132.03125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-36.015625, -12)\"><rect></rect><foreignObject width=\"72.03125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>RabbitMQ</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-BTCIDX-12\" data-look=\"classic\" transform=\"translate(567.37890625, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-66.90625\" y=\"-27\" width=\"133.8125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-36.90625, -12)\"><rect></rect><foreignObject width=\"73.8125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>NBXplorer</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-ETHIDX-13\" data-look=\"classic\" transform=\"translate(759.19140625, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-74.90625\" y=\"-27\" width=\"149.8125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-44.90625, -12)\"><rect></rect><foreignObject width=\"89.8125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>ETH Indexer</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-XRPIDX-14\" data-look=\"classic\" transform=\"translate(963.60546875, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-79.5078125\" y=\"-27\" width=\"159.015625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-49.5078125, -12)\"><rect></rect><foreignObject width=\"99.015625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>XRPL Indexer</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-OTHERIDX-15\" data-look=\"classic\" transform=\"translate(1176.02734375, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-82.9140625\" y=\"-27\" width=\"165.828125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-52.9140625, -12)\"><rect></rect><foreignObject width=\"105.828125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Other Indexers</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-NBRIDGE-16\" data-look=\"classic\" transform=\"translate(122.13671875, 730)\"><rect class=\"basic label-container\" style=\"\" x=\"-78.9140625\" y=\"-27\" width=\"157.828125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-48.9140625, -12)\"><rect></rect><foreignObject width=\"97.828125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Notary Bridge</p></span></div></foreignObject></g></g><g class=\"node default hsm\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-NOTARY-17\" data-look=\"classic\" transform=\"translate(122.13671875, 859)\"><rect class=\"basic label-container\" style=\"fill:#FF6347 !important;stroke:#8B0000 !important;stroke-width:3px !important\" x=\"-53.5625\" y=\"-27\" width=\"107.125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5625, -12)\"><rect></rect><foreignObject width=\"47.125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Notary</p></span></div></foreignObject></g></g><g class=\"node default hsm\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-VAULTCORE-18\" data-look=\"classic\" transform=\"translate(273.33984375, 859)\"><rect class=\"basic label-container\" style=\"fill:#FF6347 !important;stroke:#8B0000 !important;stroke-width:3px !important\" x=\"-47.640625\" y=\"-27\" width=\"95.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-17.640625, -12)\"><rect></rect><foreignObject width=\"35.28125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Vault</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-KMSCONNECT-19\" data-look=\"classic\" transform=\"translate(152.78125, 963)\"><rect class=\"basic label-container\" style=\"\" x=\"-79.359375\" y=\"-27\" width=\"158.71875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-49.359375, -12)\"><rect></rect><foreignObject width=\"98.71875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>KMS Connect</p></span></div></foreignObject></g></g><g class=\"node default hsm\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-HSM-20\" data-look=\"classic\" transform=\"translate(152.78125, 1126.3644256591797)\"><rect class=\"basic label-container\" style=\"fill:#FF6347 !important;stroke:#8B0000 !important;stroke-width:3px !important\" x=\"-67.3359375\" y=\"-27\" width=\"134.671875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-37.3359375, -12)\"><rect></rect><foreignObject width=\"74.671875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>HSM/KMS</p></span></div></foreignObject></g></g><g class=\"node default external\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-POSTGRES-21\" data-look=\"classic\" transform=\"translate(408.8671875, 1126.3644256591797)\"><path d=\"M0,11.242949511624708 a51.078125,11.242949511624708 0,0,0 102.15625,0 a51.078125,11.242949511624708 0,0,0 -102.15625,0 l0,50.24294951162471 a51.078125,11.242949511624708 0,0,0 102.15625,0 l0,-50.24294951162471\" class=\"basic label-container outer-path\" style=\"fill:#87CEEB !important;stroke:#00008B !important;stroke-width:2px !important\" transform=\"translate(-51.078125, -36.36442426743706)\"></path><g class=\"label\" style=\"\" transform=\"translate(-43.578125, -2)\"><rect></rect><foreignObject width=\"87.15625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>PostgreSQL</p></span></div></foreignObject></g></g><g class=\"node default external\" id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-flowchart-NODES-22\" data-look=\"classic\" transform=\"translate(832.71484375, 1126.3644256591797)\"><rect class=\"basic label-container\" style=\"fill:#87CEEB !important;stroke:#00008B !important;stroke-width:2px !important\" x=\"-94.0390625\" y=\"-27\" width=\"188.078125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-64.0390625, -12)\"><rect></rect><foreignObject width=\"128.078125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Blockchain Nodes</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-715b7c48ae64f97510321a6f9f92594b9cf8789ac1937315962d3662ab72393c-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["graph TB\n    subgraph ExtUsers[\"External Users & Apps\"]\n        USER[End Users]\n        MOBILE[Mobile App]\n        DESKTOP[Desktop App]\n        THIRDPARTY[Third-Party Apps]\n    end\n\n    subgraph Interaction[\"Interaction Layer\"]\n        WEBUI[Web UI]\n        NOTIF[Notification Server]\n        AUTH[Authentication Server]\n    end\n\n    subgraph Core[\"Core & Governance Layer\"]\n        APIGW[API Gateway]\n        LEDGERACCT[Ledger Accounting]\n        EVENTPROC[Event Processing]\n        GOVENGINE[Governance Engine]\n        AMQP[RabbitMQ]\n    end\n\n    subgraph Blockchain[\"Blockchain Integration Layer\"]\n        BTCIDX[NBXplorer]\n        ETHIDX[ETH Indexer]\n        XRPIDX[XRPL Indexer]\n        OTHERIDX[Other Indexers]\n    end\n\n    subgraph Security[\"Security & Key Management Layer\"]\n        NBRIDGE[Notary Bridge]\n        NOTARY[Notary]\n        VAULTCORE[Vault]\n        KMSCONNECT[KMS Connect]\n    end\n\n    subgraph External[\"External Infrastructure\"]\n        HSM[HSM/KMS]\n        POSTGRES[(PostgreSQL)]\n        NODES[Blockchain Nodes]\n    end\n\n    USER --> WEBUI\n    MOBILE --> AUTH\n    DESKTOP --> AUTH\n    THIRDPARTY --> APIGW\n    WEBUI --> APIGW\n    WEBUI --> NOTIF\n    APIGW --> AMQP\n    AMQP --> GOVENGINE\n    AMQP --> EVENTPROC\n    AMQP --> LEDGERACCT\n    GOVENGINE --> POSTGRES\n    GOVENGINE --> NBRIDGE\n    NBRIDGE --> NOTARY\n    NOTARY --> KMSCONNECT\n    GOVENGINE --> VAULTCORE\n    VAULTCORE --> KMSCONNECT\n    KMSCONNECT --> HSM\n    LEDGERACCT --> BTCIDX\n    LEDGERACCT --> ETHIDX\n    LEDGERACCT --> XRPIDX\n    LEDGERACCT --> OTHERIDX\n    BTCIDX --> NODES\n    ETHIDX --> NODES\n    XRPIDX --> NODES\n    OTHERIDX --> NODES\n\n    classDef trusted fill:#90EE90,stroke:#006400,stroke-width:3px\n    classDef untrusted fill:#FFB6C1,stroke:#8B0000,stroke-width:2px\n    classDef external fill:#87CEEB,stroke:#00008B,stroke-width:2px\n    classDef hsm fill:#FF6347,stroke:#8B0000,stroke-width:3px\n\n    class GOVENGINE trusted\n    class WEBUI,NOTIF,AUTH,APIGW,LEDGERACCT,EVENTPROC untrusted\n    class POSTGRES,NODES external\n    class HSM,NOTARY,VAULTCORE hsm\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"color-coding","__idx":2},"children":["Color coding"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["🟢 Green (Trusted):"]}," Governance Engine - the only trusted component"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["🔴 Pink (Untrusted):"]}," All other application components (defense in depth)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["🔵 Blue (External):"]}," Customer-managed infrastructure (database, blockchain nodes)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["🔴 Red (Security):"]}," notary, vault, and HSM/KMS backends"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"interaction-layer","__idx":3},"children":["Interaction layer"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The interaction layer enables consumption of the core services for customer-facing applications. All services in the interaction layer are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["untrusted"]},". For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.34/concepts/security"},"children":["Security"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"web-ui","__idx":4},"children":["Web UI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Web UI is a back-office user interface for ","Ripple Custody",". It provides administrators and operators with a graphical interface to manage the platform. Available in two versions:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Web UI v1"]},": Connects to the API Gateway via HTTP (REST)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Web UI v2"]},": Uses GraphQL for improved performance"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"desktop-app-and-mobile-app","__idx":5},"children":["Desktop app and mobile app"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These apps perform authorization and authentication functions for the Web UI. They can be used interchangeably to approve transactions and authenticate users via push notifications."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Platform"},"children":["Platform"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Requirements"},"children":["Requirements"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Desktop"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Windows only"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["iOS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["v15.1 or later"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Android"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["v7.0 (SDK 24) or later"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The mobile app is tested primarily on stock Android OS. While the app may function on custom Android operating systems (such as OxygenOS, GrapheneOS, LineageOS), full compatibility is not guaranteed."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"notification-server","__idx":6},"children":["Notification server"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The notification server manages notifications for the Web UI and mobile/desktop apps. It:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Pushes notifications via WebSocket"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Acts as an intermediary for dynamic message passing (e.g., triggering authorization requests)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handles SMTP-based email delivery with TLS/SSL support"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"authentication-server","__idx":7},"children":["Authentication server"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The authentication server is an OpenID Connect (OIDC) server used for JSON Web Token (JWT) generation and authentication. ","Ripple Custody"," follows a \"batteries included but replaceable\" model:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Default"]},": Keycloak (appears as \"harmonize\" provider in the GUI/APIs)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Alternative"]},": External OAuth/OIDC provider of your choice"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"core-and-governance-layer","__idx":8},"children":["Core and governance layer"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The core and governance layer contains the main business logic. These components orchestrate all system functions and provide governance, accounting, and transaction execution services."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["only trusted component"]}," in this layer is the governance engine. All others are untrusted. For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.34/concepts/security"},"children":["Security"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"api-gateway","__idx":9},"children":["API gateway"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API gateway exposes the REST API and performs validation checks when accepting user requests. It:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Validates authentication tokens (JWTs)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Routes traffic to the correct internal service"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Forwards requests to the AMQP message queue for processing"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Supports HTTP (REST) and gRPC protocols"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"governance-engine","__idx":10},"children":["Governance engine"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The governance engine is the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["only trusted component"]}," in the platform. It enforces system governance and updates the system state when all conditions of the governance workflow are fulfilled. It:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Stores a record of the complete state of all trusted entities with revision history"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Validates every proposed change against a tamper-proof Merkle tree"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Executes system updates regulated by the governance framework"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Cryptographically signs all critical data before writing to the database"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The governance engine must run as a singleton because it performs Merkle tree operations that cannot be parallelized."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"ledger-accounting-service","__idx":11},"children":["Ledger accounting service"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ledger accounting service handles:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["System accounting, balance, and transaction management"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Ledger-specific business logic"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Reading from and writing to the indexers"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Chain update management"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Core compliance processes (e.g., quarantine management for incoming transfers)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This service runs as a singleton by design."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"event-processing","__idx":12},"children":["Event processing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The event processing service consumes messages from the AMQP broker. It processes events and executes asynchronous tasks, such as updating a transaction's state after indexing."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"amqp-broker-rabbitmq","__idx":13},"children":["AMQP broker (RabbitMQ)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The AMQP (Advanced Message Queuing Protocol) broker queues requests and distributes events. It:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enables asynchronous processing"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Supports persistent, replicated queues (Quorum Queues)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Can be deployed internally or externally"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.34/system-management/events"},"children":["Event tracking"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"blockchain-integration-layer","__idx":14},"children":["Blockchain integration layer"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The blockchain integration layer monitors and indexes supported blockchains."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"indexers","__idx":15},"children":["Indexers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Indexers act as intermediaries between the ledger accounting service and blockchain nodes. They:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fetch blocks from blockchain nodes"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Identify transactions related to ","Ripple Custody"," accounts"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Pass transaction data to the ledger accounting service for processing"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ripple Custody"," supports two indexer architectures:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"legacy-indexers","__idx":16},"children":["Legacy indexers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Chain-specific services that actively monitor blockchain nodes. Each indexer runs as a single replica per chain, with state stored in PostgreSQL."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"unified-indexer-service-uis","__idx":17},"children":["Unified Indexer Service (UIS)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Available from ","Ripple Custody"," v1.26, the UIS provides a component-based architecture:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Generic indexer"]},": Orchestrates data fetching."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Processor"]},": Handles business logic"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ledger adapters"]},": Translates blockchain-specific data."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The UIS uses a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["bulkhead pattern"]}," where each ledger runs in an isolated container, preventing failures in one chain from affecting others."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.34/overview/architecture/unified-indexer-service"},"children":["Unified Indexer Service"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"supported-blockchain-indexers","__idx":18},"children":["Supported blockchain indexers"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Indexer"},"children":["Indexer"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Blockchains"},"children":["Blockchains"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["NBXplorer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Bitcoin, Litecoin, Dogecoin"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ETH Indexer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ethereum, Polygon, Arbitrum"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["XRPL Indexer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["XRP Ledger"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Solana Indexer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Solana"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Other Indexers"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Stellar, Tezos, and more"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"security-and-key-management-layer","__idx":19},"children":["Security and key management layer"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The security and key management layer handles all cryptographic operations. For detailed security architecture, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.34/concepts/security"},"children":["Security"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"notary","__idx":20},"children":["Notary"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The notary service approves transactions and signs them with the master key. It consists of:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["notary bridge"]},": Proxy service between the governance engine and notary (supports HTTP or gRPC)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["notary service"]},": Performs transaction-signing operations"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["KMS Connect Sidecar"]},": Platform-specific KMS connectivity"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The notary must run as a singleton and stores its state in the Anti-Rewind File (ARF)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"vault","__idx":21},"children":["Vault"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The vault maintains the safety of key material and performs signing operations. It:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Executes transaction orders only after approval from the governance engine"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Derives account keys and signs blockchain transactions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Verifies notary signatures before performing key operations"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Connects to KMS backends via the KMS Connect sidecar"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The vault consists of:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Vault core"]},": Key derivation and custody operations (port 10054)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Vault bridge"]},": Bridge service for vault operations"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["KMS Connect Sidecar"]},": Platform-specific KMS connectivity (port 10000)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can use multiple vaults for different purposes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Key storage with different KMS types"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Key isolation (hot vault for online wallets, cold vault for offline wallets)"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"external-infrastructure","__idx":22},"children":["External infrastructure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These components are customer-managed and interact with the core platform."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"key-management-system-kms","__idx":23},"children":["Key management system (KMS)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The KMS protects cryptographic keys and performs signing operations. ","Ripple Custody"," supports:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Examples"},"children":["Examples"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Hardware HSM"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Thales Luna, Ultimaco BlockSafe, Securosys Primus"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cloud HSM"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AWS CloudHSM, IBM HPCS, Google Cloud KMS"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["MPC"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Multi-Party Computation clusters"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a list of supported KMSs and configuration guides, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.34/get-started/deployment/deploy-kms"},"children":["Initialize and connect a KMS"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"postgresql-database","__idx":24},"children":["PostgreSQL database"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The PostgreSQL database stores:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["System state and configuration"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Transactions and accounts"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Policies and user data"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Indexer state"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The database requires:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Production-grade HA solution (e.g., 3-node cluster with Patroni, or AWS RDS Multi-AZ)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Synchronous replication (highly recommended)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Regular backups synchronized with ARF backups"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"blockchain-nodes","__idx":25},"children":["Blockchain nodes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Blockchain nodes receive transactions from indexers and return blockchain information. Options include:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Self-hosted"]},": Bitcoin, XRPL, Solana nodes with RPC/Basic Auth"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Third-party providers"]},": Infura, Alchemy, QuickNode (API key authentication)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use a load balancer to provide a single, highly-available endpoint."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"deployment-infrastructure","__idx":26},"children":["Deployment infrastructure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ripple Custody"," is deployed on Kubernetes with:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Namespaces"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custody-core"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custody-vault"]}," (security isolation)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Container registry"]},": Private registry with image mirroring and cosign verification."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Secrets manager"]},": HashiCorp Vault, CyberArk Conjur (External Secrets Operator)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ingress"]},": TLS termination and routing"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"optional-components","__idx":27},"children":["Optional components"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"compliance-adapter","__idx":28},"children":["Compliance adapter"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optional services that connect to third-party compliance and screening API providers (e.g., Chainalysis, Elliptic) for transaction screening and regulatory compliance."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"coinbase-adapter","__idx":29},"children":["Coinbase adapter"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optional adapter for Coinbase integration."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-topics","__idx":30},"children":["Related topics"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.34/concepts/security"},"children":["Security"]}," - Zero-trust architecture and trust model"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.34/concepts/key-management"},"children":["Key management"]}," - Cryptographic hierarchy and key operations"]}]}]},"headings":[{"value":"System architecture","id":"system-architecture","depth":1},{"value":"Architecture overview","id":"architecture-overview","depth":2},{"value":"Color coding","id":"color-coding","depth":3},{"value":"Interaction layer","id":"interaction-layer","depth":2},{"value":"Web UI","id":"web-ui","depth":3},{"value":"Desktop app and mobile app","id":"desktop-app-and-mobile-app","depth":3},{"value":"Notification server","id":"notification-server","depth":3},{"value":"Authentication server","id":"authentication-server","depth":3},{"value":"Core and governance layer","id":"core-and-governance-layer","depth":2},{"value":"API gateway","id":"api-gateway","depth":3},{"value":"Governance engine","id":"governance-engine","depth":3},{"value":"Ledger accounting service","id":"ledger-accounting-service","depth":3},{"value":"Event processing","id":"event-processing","depth":3},{"value":"AMQP broker (RabbitMQ)","id":"amqp-broker-rabbitmq","depth":3},{"value":"Blockchain integration layer","id":"blockchain-integration-layer","depth":2},{"value":"Indexers","id":"indexers","depth":3},{"value":"Legacy indexers","id":"legacy-indexers","depth":4},{"value":"Unified Indexer Service (UIS)","id":"unified-indexer-service-uis","depth":4},{"value":"Supported blockchain indexers","id":"supported-blockchain-indexers","depth":3},{"value":"Security and key management layer","id":"security-and-key-management-layer","depth":2},{"value":"Notary","id":"notary","depth":3},{"value":"Vault","id":"vault","depth":3},{"value":"External infrastructure","id":"external-infrastructure","depth":2},{"value":"Key management system (KMS)","id":"key-management-system-kms","depth":3},{"value":"PostgreSQL database","id":"postgresql-database","depth":3},{"value":"Blockchain nodes","id":"blockchain-nodes","depth":3},{"value":"Deployment infrastructure","id":"deployment-infrastructure","depth":3},{"value":"Optional components","id":"optional-components","depth":2},{"value":"Compliance adapter","id":"compliance-adapter","depth":3},{"value":"Coinbase adapter","id":"coinbase-adapter","depth":3},{"value":"Related topics","id":"related-topics","depth":2}],"frontmatter":{"seo":{"title":"System architecture"}},"lastModified":"2026-10-23T14:40:23.828Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/v1.34/overview/architecture","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}