AsyncAPI specification for Ubyx Platform Settlement asynchronous events. This document describes the event-driven architecture and event messaging for clearing transaction events between the Settlement Platform and external systems.
All events published by Ubyx Platform follow the CloudEvents v1.0 specification. Events are wrapped in a CloudEvent envelope with standardized metadata.
Important: Events use structured mode CloudEvents binding for Message Broker:
This mode simplifies integration for consumers that are not yet prepared to handle CloudEvents attributes in message headers.
Recommended approach for subject field:
workflowId from the corresponding Ubyx outbound eventExample Flow:
1. Partner sends: conversion-request with subject: "partner-conversion-request-001"
2. Ubyx responds: conversion.created with subject: "notification-conversion-created-request-conversion-123e4567"
3. Partner responds: issuer-approval with subject: "notification-conversion-created-request-conversion-123e4567"
This creates perfect event correlation and simplifies debugging across both systems.
Event schemas are identified using URN (Uniform Resource Name) format:
urn:ubyx:clearing:schema:{version}
| Version | Status | Description |
|---|---|---|
| 1.0-beta | Current | MVP/Early adopter version |
| 1.0 | Planned | Stable production version (post-validation) |
Sandbox Broker Server
Mutual TLS required for all Broker servers - Ubyx Platform
Production Broker Server
Mutual TLS required for all Broker servers - Ubyx Platform
Stream of clearing transaction events emitted by the platform.
This topic is partitioned by institutionId to guarantee ordering.
Consumer Configuration:
group.id: Use your institutionId (UUID)client.id: Use your institutionId (UUID)topic: ubyx.outboundRuntime Safety: Validate that message.data.institutionId matches your ID.
Event Types (December 2025 - Hierarchical Format):
ubyx.clearing.conversion.created - New conversion initiatedubyx.clearing.conversion.completed - Conversion successfully completedubyx.clearing.conversion.failed - Conversion failed or rejectedubyx.clearing.settlement.approved - Settlement approved by all partiesubyx.clearing.settlement.confirmed - Settlement confirmed by settlersReceive clearing status updates
Consumes real-time CloudEvents regarding transaction lifecycle changes (Created, Approved, Rejected). Use Case: Keep local partner systems synchronized with the Settlement Platform state.
Available only on servers:
Accepts the following message:
Generic envelope for all outbound clearing events.
Full CloudEvent v1.0 envelope (structured mode)
New conversion created
{
"specversion": "1.0",
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "ubyx.clearing.conversion.created",
"source": "ubyx-platform-settlement",
"time": "2024-12-16T10:30:00Z",
"datacontenttype": "application/json",
"dataschema": "urn:ubyx:clearing:schema:1.0-beta",
"subject": "notification-conversion-created-request-conversion-123e4567",
"data": {
"transactionId": "request-conversion-123e4567-e89b-12d3-a456-426614174000",
"institutionId": "123e4567-e89b-12d3-a456-426614174000",
"workflowId": "notification-conversion-created-request-conversion-123e4567",
"transactionType": "CONVERSION",
"eventType": "CONVERSION_CREATED",
"status": "INITIATED",
"eventSource": "canton-ledger",
"transactionTimestamp": "2024-12-16T10:30:00Z",
"processingCompletedAt": null,
"ledgerEventData": {
"conversionId": "request-conversion-123e4567-e89b-12d3-a456-426614174000",
"receivingInstitutionId": "123e4567-e89b-12d3-a456-426614174000",
"issuerId": "ef0b3459-ce00-4c01-bcbe-3cb8a57b2706",
"assetId": "RLUSD",
"quantity": 1000,
"currency": "USD",
"createdAt": "2024-12-16T10:29:58Z"
}
}
}
Ingestion channel for clearing transaction actions from external partners.
Producer Configuration:
client.id: Use your institutionId (UUID)topic: ubyx.inboundEvents must follow CloudEvents v1.0 specification in structured mode.
Publish clearing actions
Sends business actions (approvals, requests, confirmations) to the Settlement Platform. Each event type triggers specific workflow transitions.
Available only on servers:
Accepts one of the following messages:
New conversion request received from partner institution
Token redemption to fiat currency
{
"specversion": "1.0",
"id": "550e8400-e29b-41d4-a716-446655440001",
"type": "ubyx.clearing.conversion.conversion-request",
"source": "https://bank-a.clearing.example.com",
"subject": "partner-batch-001",
"time": "2024-12-12T10:30:00Z",
"datacontenttype": "application/json",
"dataschema": "urn:ubyx:clearing:schema:1.0-beta",
"data": {
"conversionRequest": {
"conversionType": "REDEMPTION",
"receivingInstitutionID": "inst-bank-a",
"issuerID": "issuer-001",
"cashSettlerID": "settler-cash-001",
"assetSettlerID": "settler-asset-001",
"assetID": "USDC",
"quantity": 10000,
"currency": "USD",
"ownerMeta": {
"fullName": "John Doe",
"address": "123 Main Street, New York, NY 10001"
},
"RIaccountNumber": "US12345678901234"
}
}
}
Issuer approved the conversion request
Issuer approves a redemption conversion
{
"specversion": "1.0",
"id": "550e8400-e29b-41d4-a716-446655440003",
"type": "ubyx.clearing.conversion.issuer-approval",
"source": "https://issuer-bank.clearing.example.com",
"subject": "notification-conversion-created-request-conversion-123e4567",
"time": "2024-12-12T10:45:00Z",
"datacontenttype": "application/json",
"dataschema": "urn:ubyx:clearing:schema:1.0-beta",
"data": {
"conversionId": "request-conversion-123e4567",
"institutionId": "123e4567-e89b-12d3-a456-426614174001",
"walletAddress": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87",
"accountNumber": "US12345678901234"
}
}
Issuer rejected the conversion request
Issuer rejects conversion due to compliance issue
{
"specversion": "1.0",
"id": "550e8400-e29b-41d4-a716-446655440004",
"type": "ubyx.clearing.conversion.issuer-reject",
"source": "https://issuer-bank.clearing.example.com",
"subject": "notification-conversion-created-request-conversion-123e4567",
"time": "2024-12-12T10:45:00Z",
"datacontenttype": "application/json",
"dataschema": "urn:ubyx:clearing:schema:1.0-beta",
"data": {
"conversionId": "request-conversion-123e4567",
"institutionId": "123e4567-e89b-12d3-a456-426614174001",
"reason": "Compliance check failed - KYC documentation incomplete"
}
}
Asset settler approved the settlement
Asset settler approves the token transfer
{
"specversion": "1.0",
"id": "550e8400-e29b-41d4-a716-446655440005",
"type": "ubyx.clearing.conversion.asset-settler-approval",
"source": "https://asset-settler.clearing.example.com",
"subject": "notification-conversion-created-request-conversion-123e4567",
"time": "2024-12-12T11:00:00Z",
"datacontenttype": "application/json",
"dataschema": "urn:ubyx:clearing:schema:1.0-beta",
"data": {
"conversionId": "request-conversion-123e4567",
"institutionId": "123e4567-e89b-12d3-a456-426614174002"
}
}
Cash settler approved the settlement
Cash settler approves the fiat transfer
{
"specversion": "1.0",
"id": "550e8400-e29b-41d4-a716-446655440006",
"type": "ubyx.clearing.conversion.cash-settler-approval",
"source": "https://cash-settler.clearing.example.com",
"subject": "notification-conversion-created-request-conversion-123e4567",
"time": "2024-12-12T11:05:00Z",
"datacontenttype": "application/json",
"dataschema": "urn:ubyx:clearing:schema:1.0-beta",
"data": {
"conversionId": "request-conversion-123e4567"
}
}
Asset Settler confirmed the settlement completion
Asset Settler confirms successful settlement
{
"specversion": "1.0",
"id": "550e8400-e29b-41d4-a716-446655440007",
"type": "ubyx.clearing.conversion.asset-settler-confirm",
"source": "https://asset-settler.clearing.example.com",
"subject": "notification-conversion-created-request-conversion-123e4567",
"time": "2024-12-12T11:30:00Z",
"datacontenttype": "application/json",
"dataschema": "urn:ubyx:clearing:schema:1.0-beta",
"data": {
"conversionId": "request-conversion-123e4567"
}
}
Cash Settler confirmed the settlement completion
Cash Settler confirms successful settlement
{
"specversion": "1.0",
"id": "550e8400-e29b-41d4-a716-446655440008",
"type": "ubyx.clearing.conversion.cash-settler-confirm",
"source": "https://cash-settler.clearing.example.com",
"subject": "notification-conversion-created-request-conversion-123e4567",
"time": "2024-12-12T11:35:00Z",
"datacontenttype": "application/json",
"dataschema": "urn:ubyx:clearing:schema:1.0-beta",
"data": {
"conversionId": "request-conversion-123e4567",
"institutionId": "123e4567-e89b-12d3-a456-426614174005"
}
}
Asset Settler rejected at confirmation stage
{
"specversion": "1.0",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "string",
"source": "string",
"subject": "string",
"time": "2019-08-24T14:15:22Z",
"datacontenttype": "application/json",
"dataschema": "http://example.com",
"data": {
"conversionId": "string",
"institutionId": "cdae5c01-a629-4362-be56-52101ec22a49",
"reason": "string"
}
}
Cash Settler rejected at confirmation stage
{
"specversion": "1.0",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "string",
"source": "string",
"subject": "string",
"time": "2019-08-24T14:15:22Z",
"datacontenttype": "application/json",
"dataschema": "http://example.com",
"data": {
"conversionId": "string",
"institutionId": "cdae5c01-a629-4362-be56-52101ec22a49",
"reason": "string"
}
}
Asset Settler rejected at approval stage
{
"specversion": "1.0",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "string",
"source": "string",
"subject": "string",
"time": "2019-08-24T14:15:22Z",
"datacontenttype": "application/json",
"dataschema": "http://example.com",
"data": {
"conversionId": "string",
"institutionId": "cdae5c01-a629-4362-be56-52101ec22a49",
"reason": "string"
}
}
Cash Settler rejected at approval stage
{
"specversion": "1.0",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "string",
"source": "string",
"subject": "string",
"time": "2019-08-24T14:15:22Z",
"datacontenttype": "application/json",
"dataschema": "http://example.com",
"data": {
"conversionId": "string",
"institutionId": "cdae5c01-a629-4362-be56-52101ec22a49",
"reason": "string"
}
}
Generic envelope for all outbound clearing events.
Full CloudEvent v1.0 envelope (structured mode)
New conversion request received from partner institution
Issuer approved the conversion request
Issuer rejected the conversion request
Asset settler approved the settlement
Cash settler approved the settlement
Asset Settler confirmed the settlement completion
Cash Settler confirmed the settlement completion
Asset Settler rejected at confirmation stage
Cash Settler rejected at confirmation stage
Asset Settler rejected at approval stage
Cash Settler rejected at approval stage
Partition Key (Mandatory)
Must be the institutionId (UUID).
Ensures that all events for the same institution land on the same partition,
guaranteeing sequential processing order (FIFO).
Full CloudEvent v1.0 envelope (structured mode)
Business payload for clearing transaction events (Updated December 2025).
Contains only contract-specific information, cleaned of system-added fields.
High-level transaction status for SSE notification alignment
Payload for conversion request events
Payload for issuer approval events
Payload for issuer reject events
Payload for settler approval events (asset/cash)
Payload for settler confirm events
Payload for settler reject events