Getting Started
Welcome to the Conxian Developer Portal. This guide provides a walkthrough for developers connecting to the conxian-gateway (ISO 20022 banking integration) or utilizing the conxius-enclave-sdk (hardware enclave drivers and MuSig2 signing).
1. Connecting to the Banking Gateway (gateway.conxian.org)
Section titled “1. Connecting to the Banking Gateway (gateway.conxian.org)”The ISO 20022 Banking Gateway normalizes financial XML messages (pacs.008, pacs.009, camt.053) into structured OData v4 JSON callback streams.
Prerequisites
Section titled “Prerequisites”- Active container instance of
conxian-gatewayfromplatform.conxian.org. - Access to client TLS certificates or enclave attestation key pairs.
Basic OData v4 Query Example
Section titled “Basic OData v4 Query Example”curl -X GET "https://gateway.conxian.org/odata/v4/Transactions?\$filter=Status eq 'Settled'" \ -H "Accept: application/json" \ -H "Authorization: Bearer <YOUR_ATTESTATION_TOKEN>"Normalizing a pacs.008 XML Payload
Section titled “Normalizing a pacs.008 XML Payload”curl -X POST "https://gateway.conxian.org/api/v1/normalize/pacs008" \ -H "Content-Type: application/xml" \ --data-binary @pacs008_sample.xml2. Utilizing the Hardware Enclave SDK (sdk.conxian.org)
Section titled “2. Utilizing the Hardware Enclave SDK (sdk.conxian.org)”The Hardware Enclave SDK (conxius-enclave-sdk) exposes C and Rust bindings to manage cryptographic signing inside Trusted Execution Environments (TEEs) such as AWS Nitro Enclaves, Intel SGX, and AMD SEV.
Rust SDK Initialization
Section titled “Rust SDK Initialization”Add conxius-enclave-sdk to your Cargo.toml:
[dependencies]conxius-enclave-sdk = { git = "https://github.com/Conxian/conxius-enclave-sdk", branch = "main" }MuSig2 Signing Example inside Enclave
Section titled “MuSig2 Signing Example inside Enclave”use conxius_enclave_sdk::musig2::{EnclaveSigner, KeyAggContext};
fn main() -> Result<(), Box<dyn std::error::Error>> { // Initialize enclave security context let signer = EnclaveSigner::initialize_nitro_context()?;
// Aggregation of public keys for Schnorr multi-sig (BIP-340) let pubkeys = vec![/* list of public keys */]; let key_agg = KeyAggContext::new(&pubkeys)?;
println!("Enclave initialized with aggregated key: {:?}", key_agg.aggregated_pubkey()); Ok(())}Next Steps
Section titled “Next Steps”- Explore the Repository Matrix for repo baselines.
- Review subsystem references for nexus.conxian.org and platform.conxian.org.