{"ok":true,"meta":{"source":"https://stellarlight.xyz/directory","generatedAt":"2026-11-08T23:56:05.994Z","warnings":["answerAsOf is null: DeepWiki exposes no index date, so the age of this answer is UNKNOWN. `codeVerified.scannedAt`, `codeVerified.scannedRef` and `repoMeta.lastCommitAt` date OUR SOURCE SCAN, not this answer; a DeepWiki answer can be older than the scanned ref and disagree with it. Verify any specific value (version numbers, constants, addresses) against repoUrl at scannedRef before relying on it."],"note":"Repo routed by the StellarLight canonical/repo index. `answerSource` states the grounding: `knowledge-note` = a curated, dated, source-cited fact that directly names what was asked (leads over any walkthrough; answerAsOf dates it); `deepwiki` = an AI-generated mechanism walkthrough of the repo (deepwiki.com); `stellarlight-code-scan` = facts derived from OUR scan of the actual source (entry-point symbols, soroban-sdk version, deployability, mainnet id) used when DeepWiki hasn't indexed the repo: narrower than a walkthrough, but code-grounded, never a guess. Cite repoUrl as the source of truth and verify against the code for anything safety-critical. `knowledgeNotes` lists every public dated fact we hold for the routed repo (deprecations, renames, registry identity, advisories) whether or not one of them led the answer; read them even when answerSource is 'deepwiki'."},"q":"reflector","repo":"reflector-network/reflector-contract","routedVia":"search","renamedFrom":null,"repoMeta":{"lastCommitAt":"2026-10-14T15:05:05.000Z","stars":12,"isArchived":false,"repoScoreLabel":"high","kind":"contract","kindBasis":"isDeployableContract"},"security":null,"codeVerified":{"stellarProof":"cargo-sdk","codeDepth":0.7996410256410257,"isDeployableContract":true,"sorobanSdkVersion":null,"versionStatus":"unknown","scannedAt":"2026-10-19T20:00:54.624Z","scannedRef":"b006d297ac1a11dbf97de5f74b9e45dac1acb14a","successorRepo":null,"symbols":["base","decimals","resolution","history_retention_period","cache_size","assets","last_timestamp","expires","estimate_retention_cost","extend_asset_ttl","fee_config","admin","price","lastprice","prices","config","set_cache_size","add_assets","set_history_retention_period","set_fee_config"],"mainnetContractId":"CAFJZQWSED6YAWZU3GWRTOCNPPCGBN32L7QV43XX5LZLFTK6JLN34DLN","sdkCapabilities":[],"codeDomains":["oracle"],"contractInterface":["BeamOracleContract.base() -> Asset","BeamOracleContract.decimals() -> u32","BeamOracleContract.resolution() -> u32","BeamOracleContract.history_retention_period() -> Option<u64>","BeamOracleContract.cache_size() -> u32","BeamOracleContract.assets() -> Vec<Asset>","BeamOracleContract.last_timestamp() -> u64","BeamOracleContract.version() -> u32","BeamOracleContract.expires(asset: Asset) -> Option<u64>","BeamOracleContract.track(sponsor: Address, consumer: Address, assets: Vec<Asset>, amount: i128) -> Vec<u64>","BeamOracleContract.tracked_until(consumer: Address, assets: Vec<Asset>) -> Vec<u64>","BeamOracleContract.fee_config() -> FeeConfig","BeamOracleContract.admin() -> Option<Address>","BeamOracleContract.price(caller: Address, asset: Asset, timestamp: u64) -> Option<PriceData>","BeamOracleContract.lastprice(caller: Address, asset: Asset) -> Option<PriceData>","BeamOracleContract.prices(caller: Address, asset: Asset, records: u32) -> Option<Vec<PriceData>>","BeamOracleContract.config(config: ConfigData)","BeamOracleContract.set_cache_size(cache_size: u32)","BeamOracleContract.add_assets(assets: Vec<Asset>)","BeamOracleContract.set_history_retention_period(period: u64)","BeamOracleContract.set_fee_config(config: FeeConfig)","BeamOracleContract.set_price(updates: PriceUpdate, timestamp: u64)","BeamOracleContract.update_contract(wasm_hash: BytesN<32>)","PulseOracleContract.base() -> Asset","PulseOracleContract.decimals() -> u32","PulseOracleContract.resolution() -> u32","PulseOracleContract.history_retention_period() -> Option<u64>","PulseOracleContract.cache_size() -> u32","PulseOracleContract.assets() -> Vec<Asset>","PulseOracleContract.last_timestamp() -> u64","PulseOracleContract.version() -> u32","PulseOracleContract.expires(asset: Asset) -> Option<u64>","PulseOracleContract.estimate_retention_cost(period: u64) -> (Address, i128)","PulseOracleContract.extend_asset_ttl(sponsor: Address, asset: Asset, amount: i128) -> u64","PulseOracleContract.fee_config() -> FeeConfig","PulseOracleContract.admin() -> Option<Address>","PulseOracleContract.price(asset: Asset, timestamp: u64) -> Option<PriceData>","PulseOracleContract.lastprice(asset: Asset) -> Option<PriceData>","PulseOracleContract.prices(asset: Asset, records: u32) -> Option<Vec<PriceData>>","PulseOracleContract.config(config: ConfigData)","PulseOracleContract.set_cache_size(cache_size: u32)","PulseOracleContract.add_assets(assets: Vec<Asset>)","PulseOracleContract.set_history_retention_period(period: u64)","PulseOracleContract.set_fee_config(fee_config: FeeConfig)","PulseOracleContract.set_price(updates: PriceUpdate, timestamp: u64)","PulseOracleContract.update_contract(wasm_hash: BytesN<32>)"],"contractInterfacePaths":null,"stellarDeps":["soroban-sdk"],"codeInUse":{"contracts":1,"events":44447,"eventsDelta":743,"subinvocations":183156,"subinvocationsDelta":3601,"asOf":"2026-08-13T21:23:10.127Z"}},"alternateRepos":[],"knowledgeNotes":[{"note":"Cargo workspace of three crates (oracle, pulse-contract, beam-contract); per-contract releases: v6.0.1 for ReflectorPulse and ReflectorBeam (2026-07-23), v6.0.0 (2026-03-09), older v4.x reflector-oracle wasm (2024-05). Audit PDFs in audits/ (OtterSec 2024 public feed; Code4rena 2025 beam+pulse). README: Pulse = free 5-minute feeds, Beam = paid, faster. https://github.com/reflector-network/reflector-contract/releases","source":"curated","asOf":"2026-09-01"}],"answer":"The user is asking about \"Reflector\" . This refers to the Reflector Oracle protocol, a decentralized system designed to bridge external price data with Stellar smart contracts .\n\n## Reflector Oracle Protocol Overview\n\nThe Reflector Oracle protocol is a decentralized system that provides reliable, tamper-proof price feeds to Stellar smart contracts . It achieves this through a peer-to-peer consensus model among trusted Stellar ecosystem organizations . The system is built on the Soroban smart contract platform and adheres to the SEP-40 standard for oracle interfaces .\n\n## System Architecture\n\nThe Reflector system operates with a Decentralized Autonomous Organization (DAO) where nodes independently calculate price quotes using deterministic algorithms . These nodes act as co-signers on the smart contract's admin account, requiring a majority (greater than 50%) multisig threshold to update state or prices . This mechanism leverages Stellar protocol's security to ensure the validity of price data .\n\nThe codebase is organized into a Cargo workspace  with three main components:\n*   `oracle`: A core library containing shared logic, storage patterns, and the base contract implementation .\n*   `pulse-contract`: A public, free-to-use price feed with a fixed 5-minute resolution .\n*   `beam-contract`: A premium price feed allowing flexible provisioning and faster updates in exchange for burning XRF tokens .\n\n## Data Access Models\n\nReflector offers two SEP-40 compliant models for consuming price data :\n\n*   **ReflectorPulse**: This model provides free access to price feeds with a uniform 5-minute update interval . An example of its usage can be found in the `README.md` . The client interface for this contract is `ReflectorPulseClient` .\n*   **ReflectorBeam**: This model allows for flexible oracle provisioning and faster price updates in exchange for a small XRF invocation fee . An example of its usage, including authorization for XRF token burning, is provided in the `README.md` . The client interface for this contract is `ReflectorBeamClient` .\n\n## Development\n\nTo develop with Reflector contracts, you need Rust and the Stellar CLI installed . Contracts can be compiled using `stellar contract build` , and optimized with `stellar contract optimize` to reduce WASM binary size . Tests can be run using `cargo test` .\n\n## Notes\n\nThe `reflector-network/reflector-contract` repository also includes GitHub Actions workflows for releasing the `beam-contract` and `pulse-contract` . These workflows use a shared `soroban-build-workflow` to automate the release process .","answered":true,"answerSource":"deepwiki","answerAsOf":null,"sources":{"repoUrl":"https://github.com/reflector-network/reflector-contract","deepWikiUrl":"https://deepwiki.com/reflector-network/reflector-contract","deepWikiSearchUrl":"https://deepwiki.com/search/reflector_5d6a9df8-1253-4816-8841-b1f8484652d5"}}