{
    "version": "https://jsonfeed.org/version/1",
    "title": "RTGS.global Engineering Blog",
    "home_page_url": "https://developers.rtgs.global/technical-articles/",
    "description": "Engineering posts on architecture decisions, platform development, operations, and ways of working.",
    "items": [
        {
            "id": "https://developers.rtgs.global/technical-articles/identity-at-the-city-gate/",
            "content_html": "<p>Imagine you are travelling to a city with very strict entry rules.</p>\n<p>It is not enough to say, “Hello, I’m here to help.” The guard at the gate needs to know who you are, whether you belong to a recognised group, and whether you are actually allowed to do what you say you are there to do.</p>\n<p>This is exactly the problem we face in financial settlement networks. Before participants move funds, they need a reliable way to prove their identity and their authority.</p>\n<p>Here is how we solve that using decentralised identity—explained without the jargon.</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"the-traveller-you-and-your-did\">The Traveller: You and your DID<a href=\"https://developers.rtgs.global/technical-articles/identity-at-the-city-gate/#the-traveller-you-and-your-did\" class=\"hash-link\" aria-label=\"Direct link to The Traveller: You and your DID\" title=\"Direct link to The Traveller: You and your DID\" translate=\"no\">​</a></h2>\n<p>First, the guard needs to know they are talking to the same person who was issued the pass.</p>\n<p>Instead of showing a passport that someone else printed, you have a unique \"Traveller’s Mark.\" This mark is linked to a set of keys that only you control. By performing a simple action with your private key, you can prove the mark is yours.</p>\n<p>In the technical world, this is a <strong>Decentralised Identifier (DID)</strong>. It’s an ID that you own and control, rather than one held in a central database.</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"the-guild-your-trusted-authority\">The Guild: Your trusted authority<a href=\"https://developers.rtgs.global/technical-articles/identity-at-the-city-gate/#the-guild-your-trusted-authority\" class=\"hash-link\" aria-label=\"Direct link to The Guild: Your trusted authority\" title=\"Direct link to The Guild: Your trusted authority\" translate=\"no\">​</a></h2>\n<p>Next, the guard asks: \"Who says you’re a merchant?\"</p>\n<p>In our story, a <strong>Guild</strong> is a trusted authority—such as a regulated institution, recognised issuer, regulator or professional body. They are the only ones allowed to vouch for your skills or your status. You can't just write \"I am a Banker\" on a piece of parchment; it has to be signed by a Guild the city already trusts.</p>\n<p>This Guild is the <strong>Issuer</strong>. They don't just know you; they have verified your credentials and \"stamped\" them with their own unique seal.</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"the-pass-your-verifiable-credential\">The Pass: Your Verifiable Credential<a href=\"https://developers.rtgs.global/technical-articles/identity-at-the-city-gate/#the-pass-your-verifiable-credential\" class=\"hash-link\" aria-label=\"Direct link to The Pass: Your Verifiable Credential\" title=\"Direct link to The Pass: Your Verifiable Credential\" translate=\"no\">​</a></h2>\n<p>The Guild gives you a signed pass. This pass doesn't tell the guard your whole life story; it just proves one specific thing—for example, that you are a \"Licensed Diamond Merchant.\"</p>\n<p>In technical terms, this is a <strong>Verifiable Credential (VC)</strong>.</p>\n<p>Because the Guild signed it with their own digital seal, the guard can verify it’s real in seconds. They don't have to send a messenger back to the Guild’s headquarters to check. They just look at the signature and the rules in their own city handbook.</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"the-system-hyperledger-aries-and-aca-py\">The System: Hyperledger Aries and ACA-Py<a href=\"https://developers.rtgs.global/technical-articles/identity-at-the-city-gate/#the-system-hyperledger-aries-and-aca-py\" class=\"hash-link\" aria-label=\"Direct link to The System: Hyperledger Aries and ACA-Py\" title=\"Direct link to The System: Hyperledger Aries and ACA-Py\" translate=\"no\">​</a></h2>\n<p>For any of this to work, every gate and every guild has to follow the same rules — and there must be a public record that anyone can check.</p>\n<p><strong>Hyperledger Aries</strong> provides the rules: the agreed-upon protocols that define how travellers, guards, and guilds exchange information and verify passes. But there is also the ledger itself — a publicly readable record book where recognised guilds register their official seals. Any guard can check this record to confirm a seal is genuine without contacting the guild directly. This is what \"Hyperledger\" refers to: distributed ledger infrastructure, like a notary's public register, that no single party controls but everyone can trust. RTGS.global writes each participant's identity to this ledger — maintained by <a href=\"https://indicio.tech/indicio-mainnet/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Indicio</a> — as part of onboarding, ensuring only recognised participants can interact on the network. (<a href=\"https://github.com/hyperledger/aries-rfcs\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Aries protocols</a>)</p>\n<p><strong>ACA-Py</strong> — short for <strong>Aries Cloud Agent, Python</strong> — is the trained representative who handles gate interactions on your behalf. Think of it as a licensed courier who is fluent in the official gate language, holds your passes in a secure wallet, and manages the formal proof exchange every time you approach a gate. You decide where to go and what authority to claim; ACA-Py handles the paperwork and the cryptographic handshake. (<a href=\"https://aca-py.org/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">ACA-Py</a>)</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"where-rtgsglobal-fits\">Where RTGS.global fits<a href=\"https://developers.rtgs.global/technical-articles/identity-at-the-city-gate/#where-rtgsglobal-fits\" class=\"hash-link\" aria-label=\"Direct link to Where RTGS.global fits\" title=\"Direct link to Where RTGS.global fits\" translate=\"no\">​</a></h2>\n<p>At RTGS.global, we use these exact patterns. We use <strong>ACA-Py</strong> to handle the cryptographic \"seals\" and <strong>Aries</strong> to handle the communication. Our system acts as the \"Controller,\" making the high-level decisions while the identity layer handles the proof.</p>\n<p>This means that, when a participant joins our network, their <strong>RTGS.global ID</strong> is more than a name in a database: it is a cryptographically verifiable identity that can provide evidence of recognised network membership and authority. Whether that evidence authorises a particular action remains a decision of the applicable trust framework and platform policy.</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"the-reality-check\">The Reality Check<a href=\"https://developers.rtgs.global/technical-articles/identity-at-the-city-gate/#the-reality-check\" class=\"hash-link\" aria-label=\"Direct link to The Reality Check\" title=\"Direct link to The Reality Check\" translate=\"no\">​</a></h2>\n<p>The city gate is secure because the rules are clear. The technology provides the <strong>evidence</strong>, but the \"Trust Framework\"—the city's rulebook—determines which Guilds are trusted and which passes get you through the gate.</p>\n<p><strong>Ready for the non-fantasy version?</strong> Read our technical deep dive: <a class=\"\" href=\"https://developers.rtgs.global/technical-articles/reference/trusted-participant-identity/\">Trusted Participant Identity</a>.</p>",
            "url": "https://developers.rtgs.global/technical-articles/identity-at-the-city-gate/",
            "title": "Identity at the City Gate",
            "summary": "A story-led introduction to decentralised identity, DIDs, and verifiable credentials.",
            "date_modified": "2026-08-05T00:00:00.000Z",
            "author": {
                "name": "Alex Wilson",
                "url": "https://www.rtgs.global"
            },
            "tags": [
                "Engineering Blog",
                "Engineering Perspectives",
                "SaaS Offering"
            ]
        }
    ]
}