Skip to main content

Stellar implementation

BlockFinaX is currently migrating from Base to Stellar. Stellar is built for payments: stablecoins settle in seconds for a fraction of a cent, anchors connect them to local currencies, and accounts can be secured with passkeys. It also has a local presence and community in the markets we serve, and engages with their regulators. So it makes more sense for us, for now, to build on Stellar alone: running on one network concentrates all underwriting capital in one place, so pools are deeper and protection is better priced (see one liquidity hub).

This page shows what already runs on Stellar, the status of each part, and where to find it: deployed contracts link to the Stellar explorer, where their code can be inspected, and services to the public BlockFinaX repository.

StatusMeaning
Live on testnetDeployed and in use on Stellar testnet
BuiltBuilt and tested, waiting for the next testnet release
PlannedScheduled; see Upgrades

Protocol map​

How users, contracts, services and funding connect.

USERSBLOCKFINAX SERVICES · OFF-CHAINSTELLAR · PROTOCOLCIRCLE CCTPBASE · FUNDINGBusinesshedgerUnderwriterand creatorPartner appExchangeor any walletPasskeysignsAPI and relayersprepare · relay · fallback feesPricing enginefair price · signs quotesOracle operatorsrate after expiryFunding jobswatch · flush · mintSmart walletone per userCurrency poolCAEK…YURMPool oracleCBOX…4G5QUSDCStellar asset contractbuy_protection()deposit()request_withdrawal()execute_withdrawal()settle_position()claim_payout()create_pool()set_tenor()submit_rate()get_consensus()CctpForwarder (Stellar)mints and forwards USDCAttestation servicesigns each burnTokenMessengerV2 (Base)burns USDC on BaseDeposit factory0x0567…2291flush()addressFor()Your deposit addressone per user · only to your walletsignsauthorisesunsigned txsigned quote ←submit · fee paidsubmit_ratesettle_positionget_consensusmintmessageattestationflushcreates · burnsburnUSDC to your walletsend USDC on Base · nothing to signUser signsBlockFinaX submitsOracle and settlementCircle CCTPUSDC moves

Contracts​

All contracts are written in Rust for Soroban, Stellar's smart contract platform.

ContractWhat it doesStatusSource
Currency poolPools, underwriter balances, protection contracts, reservation, settlement and payoutsLive on testnetCAEK…YURM
Pool oracleAgrees one settlement rate per contract from operator submissionsLive on testnetCBOX…4G5Q
Rate oracleDaily interest-rate benchmarks (SOFR, EFFR, €STR and African policy and interbank rates)Live on testnetCCFR…3DQD
Rate poolInterest-rate protection settled from the rate oracleLive on testnetService
USDCBlockFinaX test USDC, a Stellar asset contract with 7 decimalsLive on testnetCDU3…XC5A

Verified code. The code running at the currency pool address has the WebAssembly hash b11a192555ab4d4f054d004e1300cb1f9d7f3b5e8f7708848658ea9051de53d4, and the pool oracle 25e0c7b2b54708da7d48c40d7d6cc9ced97b3ed594e76333bb324092326a6aa3. Each matches a build of the reviewed source. Function-by-function references are in Contracts.

Accounts and transactions​

PartWhat it doesStatusSource
Passkey smart accountsEach user gets a Soroban smart account controlled by a passkey (a secp256r1 key on their device), created at sign-upLive on testnetServer, app
Backup passkeysFurther passkeys added as signers, each approved by an existing oneLive on testnetServer
Business accountsOne shared smart account per business on OpenZeppelin stellar-accounts 0.8.0, deployed when the business is created; each member approves with their own passkeyLive on testnetService, chain
Member rolesAdmin, operator and viewer, enforced by the account's context rules on chain and by the relayerLive on testnetRoles
Transfer allow-list policyLets operators send USDC from the business account only to the pools; refuses approvals and every other token callLive on testnetCA5B…4WKQ
Sponsored transactionsOpenZeppelin Relayer Channels pays network fees, with a BlockFinaX fee account as the fallback; users never hold XLMLive on testnetRelay
Signed quotesThe pricing service signs each quote (ed25519); the currency pool verifies itLive on testnetDigest

Funding​

PartWhat it doesStatusSource
Deposits from BasePersonal deposit addresses on Base forward USDC to the user's Stellar account through Circle CCTP (Stellar domain 27)Live on testnetContract, routing
Transfers to BaseUSDC burned on Stellar and minted on Base through CCTPLive on testnetRouting

Services​

PartWhat it doesStatusSource
Pricing servicePrices each contract and signs the quoteLive on testnetPricing
Oracle operatorsSubmit settlement rates after expiry and settle contractsLive on testnetRunner, engine
Rate submittersPublish daily interest-rate benchmarks to the rate oracleLive on testnetSubmitter
Request a quoteBusinesses request terms no pool sells; underwriters answer with offersLive on testnetService
Network settingsContract addresses, assets and CCTP settings per networkLive on testnetTestnet settings

Built, waiting for the next release​

PartWhat it does
Underwriter duration rangesEach underwriter chooses the shortest and longest contracts their money backs
Pool takeoverThe largest underwriter can take over a pool's settings once its creator has left
Sales limitsA minimum price, a maximum per contract and a maximum per day, per pool
Contract voidingThe owner can cancel a contract before it settles, returning the premium
Settlement fallbackA path to settle a contract when no agreed rate arrives
Oracle rounds per expiryEach settlement round is tied to its contract and expiry; agreement on the largest group of matching rates

Planned​

PartTarget
Independent oracle operatorsOracle upgrade, January 2027
Multisig ownership and a public upgrade delayMainnet
Payout converted at the fixing rateMainnet
Mainnet deployment with Circle USDC and CCTPMainnet, target 26 February 2027

How each Stellar feature is used: How BlockFinaX uses Stellar.