Architecture

UGTP is organized into an on-chain coordination layer of smart contracts and an off-chain integration layer consisting of an SDK and REST API.

Identity Model

At the core of UGTP are two identity primitives that work together to provide a unified cross-chain identity system.

UCI

Universal Cross-chain Identity

A globally unique identifier assigned to each user. A UCI is registered on-chain via the UCIRegistry contract and serves as the root of a user's cross-chain identity graph. Each UCI is tied to a controlling address.

UCA

Unified Cross-chain Account

A container registered in UCARegistry that groups one or more blockchain addresses under a single UCI. A UCA allows a user to manage linked accounts across chains as one logical entity.

Relationship Diagram


  User
   |
   +-- UCI (Universal Cross-chain Identity)
        |
        +-- UCA (Unified Cross-chain Account)
             |
             +-- Linked Account (Avalanche 0xABC...)
             +-- Linked Account (Ethereum 0xDEF...)
             +-- Linked Account (Polygon 0x123...)
              

Intent-Based Execution

UGTP uses an intent-based model where users declare what they want to accomplish rather than specifying exact transaction parameters. The protocol resolves intents into executable operations through a multi-step process:

  1. 1

    Intent Declaration

    A user submits a structured intent (e.g., "transfer 10 USDC from Avalanche to Ethereum") to the IntentRegistry contract.

  2. 2

    Policy Validation

    The PolicyHook contract validates the intent against configurable rules—fee requirements, whitelisted adapters, and protocol-level constraints.

  3. 3

    Adapter Resolution

    The AdapterRegistry identifies the appropriate chain adapter to handle the operation. Adapters are chain-specific modules registered on-chain.

  4. 4

    Execution

    The resolved adapter processes the intent and executes the corresponding on-chain transactions on the target network(s).

On-Chain Coordination Layer

The protocol deploys 7 smart contracts that collectively manage identity, policy, and intent coordination. All contracts are currently deployed on Avalanche C-Chain.

ProtocolConfig

Central configuration store. Holds protocol parameters, fee settings, and references to other contract addresses.

PolicyHook

Validates operations against configurable policy rules. Called during intent submission and account operations.

UCIRegistry

Manages Universal Cross-chain Identity registration and lookup. Maps controlling addresses to UCI identifiers.

UCARegistry

Manages Unified Cross-chain Account creation. Groups linked accounts under a UCI.

LinkedAccountRegistry

Tracks individual blockchain addresses linked to a UCA. Handles cross-chain account association.

IntentRegistry

Records and tracks user intents. Provides the entry point for intent-based operations.

AdapterRegistry

Registry of chain-specific adapter modules. Maps chain IDs to adapter contract addresses.

Off-Chain SDK and API

The off-chain layer provides two integration paths for developers:

TypeScript SDK

@ugtp/sdk

A TypeScript/JavaScript library that wraps contract interactions and API calls. Designed for frontend and Node.js applications. Handles ABI encoding, transaction building, and intent submission.

REST API

api.ugtp.net

A read-only HTTP API that provides protocol status, contract metadata, fee information, and chain configuration. Useful for lightweight integrations and monitoring.