Soroban Smart Contracts Explorer
Soroban ProPremium smart contract explorer with decoded data, real-time event streaming, and AI-powered explanations for Stellar's Soroban platform.
Introduction
The Soroban Smart Contracts Explorer is a premium tool designed for Web3 developers, startups, and auditors who need deep visibility into Soroban smart contracts on the Stellar network. Unlike basic block explorers, our tool provides decoded contract data, making it easy to understand what contracts are doing without manually parsing XDR-encoded data.
Decoded Calls
Human-readable function calls and parameters
Storage Viewer
Browse contract state and data
Event Stream
Real-time contract event monitoring
AI Explanations
Plain-English contract analysis
Dashboard
The Contracts Explorer dashboard at /contracts provides a centralized interface for exploring Soroban smart contracts.
Dashboard Features
- ✓Contract Search - Search by contract ID, name, or deployer address
- ✓Recent Contracts - View recently deployed or active contracts
- ✓Contract Overview - Quick stats including total calls, storage size, and events
- ✓Analytics - Gas usage trends, error rates, and call frequency
Getting Started
- Navigate to /contracts
- Enter a contract ID in the search bar (e.g.,
CDLZ...XYZ) - Explore decoded calls, storage, events, and analytics
Subscription Tiers
Soroban Pro features are available across different subscription tiers, each designed for specific use cases.
| Feature | Free | Developer $25/mo | Team $99/mo | Auditor | Enterprise |
|---|---|---|---|---|---|
| Contracts/month | 10 | 50 | Unlimited | Unlimited | Unlimited |
| Call history retention | 7 days | 30 days | 90 days | Full | Full |
| AI explanations | - | 50/mo | 500/mo | Unlimited | Unlimited |
| Export (CSV/JSON) | - | ✓ | ✓ | ✓ | ✓ |
| Real-time event streaming | - | - | ✓ | ✓ | ✓ |
| Version comparison | - | ✓ | ✓ | ✓ | ✓ |
| API access | - | ✓ | ✓ | ✓ | ✓ |
</>Decoded Calls
Soroban smart contract calls are encoded in XDR (External Data Representation) format, making them difficult to read in their raw form. The Decoded Calls feature automatically parses and decodes this data into human-readable format.
What Gets Decoded
Function Calls
- - Function name (e.g.,
transfer,mint) - - Parameter names and values
- - Parameter types (Address, i128, Symbol, etc.)
- - Return values with type information
Transaction Context
- - Caller/source account
- - Timestamp and ledger sequence
- - Gas consumed (in stroops)
- - Success/failure status with error codes
Example: Raw vs Decoded
Raw XDR (unreadable):
AAAAAgAAAADo...base64_encoded_xdr_data...AAAAAAAAAA==
Decoded (human-readable):
{
"function": "transfer",
"parameters": {
"from": "GABC...XYZ",
"to": "GDEF...UVW",
"amount": 1000000000 // 100 tokens (7 decimals)
},
"result": {
"type": "void",
"success": true
},
"gas_used": 234567,
"timestamp": "2026-02-13T10:30:00Z"
}Call History Table
The Call History view displays all invocations of a contract with the following columns:
| Column | Description |
|---|---|
| Timestamp | When the call was executed |
| Function | Decoded function name |
| Caller | Source account address (truncated) |
| Parameters | Decoded input parameters |
| Status | Success (green) or Failed (red) with error code |
| Gas | Gas consumed in stroops |
Filtering Calls
Use the filter options to narrow down the call history:
- Function name - Filter by specific function (e.g.,
transfer) - Caller address - Show calls from a specific account
- Status - Filter by success or failed calls only
- Date range - Specify start and end dates
- Gas range - Filter by minimum/maximum gas consumed
{ }Storage Viewer
The Storage Viewer provides a complete view of a contract's on-chain state. Soroban contracts store data in key-value pairs, and this tool decodes both keys and values into readable formats.
Storage Types
Soroban supports three types of contract storage, each with different characteristics:
Persistent Storage
Long-term storage that persists indefinitely. Used for critical data like token balances, ownership records, and configuration. Requires rent payments to maintain.
Temporary Storage
Short-lived storage that expires after a set number of ledgers. Used for session data, temporary locks, and caching. No rent required but data may be purged.
Instance Storage
Storage tied to the contract instance itself. Used for contract-level configuration, admin addresses, and version information. Persists with the contract.
Storage Table
The Storage Viewer displays contract state in a sortable, searchable table:
| Column | Description |
|---|---|
| Key | Decoded storage key (e.g., Balance:GABC...XYZ) |
| Type | Storage type badge (Persistent/Temporary/Instance) |
| Value | Decoded value with type information |
| TTL | Time-to-live (ledgers remaining for temporary storage) |
| Last Modified | Ledger sequence when value was last changed |
Example: Token Contract Storage
// Token contract storage entries (decoded) ┌────────────────────────────────────┬────────────┬─────────────────┐ │ Key │ Type │ Value │ ├────────────────────────────────────┼────────────┼─────────────────┤ │ Admin │ Instance │ GABC...XYZ │ │ Name │ Instance │ "MyToken" │ │ Symbol │ Instance │ "MTK" │ │ Decimals │ Instance │ 7 │ │ Balance:GABC...XYZ │ Persistent │ 1000000000000 │ │ Balance:GDEF...UVW │ Persistent │ 500000000000 │ │ Allowance:GABC...XYZ:GDEF...UVW │ Temporary │ 100000000000 │ └────────────────────────────────────┴────────────┴─────────────────┘
Storage Snapshots
Team and higher tiers can access historical storage snapshots to see how contract state has changed over time. Snapshots are taken at regular intervals and can be compared side-by-side to track state changes.
~>Event Stream
Soroban contracts emit events to communicate state changes and important actions. The Event Stream feature provides both historical event logs and real-time streaming for monitoring contract activity.
Event Structure
Each Soroban event contains the following decoded information:
{
"type": "contract", // Event type: contract, system, or diagnostic
"ledger": 12345678, // Ledger sequence when event was emitted
"timestamp": "2026-02-13T10:30:00Z",
"contract_id": "CDLZ...XYZ",
"topics": [ // Event topics (indexed, searchable)
"transfer", // Topic 0: Event name
"GABC...XYZ", // Topic 1: From address
"GDEF...UVW" // Topic 2: To address
],
"data": { // Event data payload
"amount": 1000000000
}
}Event Types
Events explicitly emitted by the contract code. These are the primary events for tracking business logic.
Events generated by the Soroban runtime. Includes contract deployment, upgrade, and lifecycle events.
Debug events for development. Only available in certain network configurations.
Real-Time Streaming
Real-time event streaming uses Server-Sent Events (SSE) to push new events to your browser as they occur on the network. No polling required.
To enable real-time streaming:
- Navigate to the Events tab for a contract
- Click the "Live Stream" toggle in the top-right
- New events will appear automatically as they are emitted
- Click any event row to view decoded details
Event Filtering
Filter events by:
- Event type - Contract, System, or Diagnostic
- Topic - Filter by specific topic values (e.g., "transfer")
- Date range - Historical events within a time window
- Ledger range - Events from specific ledger sequences
Common Event Patterns
| Event | Topics | Use Case |
|---|---|---|
| transfer | ["transfer", from, to] | Token transfers |
| approve | ["approve", owner, spender] | Allowance approvals |
| mint | ["mint", to] | Token minting |
| burn | ["burn", from] | Token burning |
AIAI Explanations
Coming Soon
AI Explanations is currently in development and not yet enabled. This feature will be available in a future release. The documentation below describes the planned functionality.
AI Explanations use advanced language models to analyze contract calls and provide plain-English explanations of what happened. This feature is designed to help developers, auditors, and non-technical users understand complex smart contract interactions without deep Soroban expertise.
How It Works
- Select a contract call from the Call History
- Click the "Explain" button
- The AI analyzes the decoded call data, parameters, and context
- A plain-English explanation is generated and displayed
- Explanations are cached for 7 days to save API credits
Example Explanation
// Contract call: transfer(from, to, amount)
{
"function": "transfer",
"from": "GABC...XYZ",
"to": "GDEF...UVW",
"amount": 1000000000
}Summary: This transaction transfers 100 tokens from account GABC...XYZ to account GDEF...UVW.
Details: The transfer function was called to move tokens between two accounts. The amount of 1,000,000,000 represents 100 tokens (assuming 7 decimal places, which is standard for Stellar assets). The transaction was successful and consumed 234,567 stroops of gas.
Explanation Types
Basic Explanation
A concise summary of what the contract call does. Suitable for quick understanding.
Detailed Analysis
In-depth explanation including parameter breakdown, gas analysis, and potential implications.
Security Review
Highlights potential security considerations, unusual patterns, or risk factors.
Comparison
Compare multiple calls to identify patterns or differences in behavior.
Usage Limits
AI Explanations are subject to monthly limits based on your subscription tier:
| Tier | AI Explanations/Month |
|---|---|
| Free | Not available |
| Developer ($25/mo) | 50 |
| Team ($99/mo) | 500 |
| Auditor | Unlimited |
| Enterprise | Unlimited |
Caching
AI explanations are cached for 7 days. If you request an explanation for a call that was already analyzed, the cached response is returned instantly without counting against your monthly limit.
XDR Decoding
XDR (External Data Representation) is the binary encoding format used by Stellar and Soroban for all on-chain data. Our decoder handles the complex task of parsing XDR and converting it to readable JSON.
Supported XDR Types
Decoding Process
// 1. Raw XDR (Base64 encoded)
AAAABQAAAADo...base64...==
// 2. Parse binary XDR structure
{ type: "SCVal", value: { type: "Map", entries: [...] } }
// 3. Convert to readable format
{
"balances": {
"GABC...XYZ": 1000000000,
"GDEF...UVW": 500000000
}
}Soroban Data Types
Soroban uses a rich type system for contract data. The explorer decodes all native types:
| Type | Description | Example |
|---|---|---|
| Address | Stellar account or contract address | GABC...XYZ |
| i128 | 128-bit signed integer | 1000000000 |
| u128 | 128-bit unsigned integer | 1000000000 |
| Symbol | Short string identifier (max 32 chars) | "transfer" |
| String | Variable-length string | "MyToken" |
| Bytes | Raw byte array | 0x1a2b3c... |
| Vec | Dynamic array | [1, 2, 3] |
| Map | Key-value mapping | {key: value} |
| Bool | Boolean value | true / false |
API Reference
Programmatic access to contract data is available via REST API for Developer tier and above.
/api/contracts/searchSearch for contracts by ID, name, or deployer
qlimitoffset/api/contracts/[contractId]Get contract details including metadata and statistics
/api/contracts/[contractId]/callsGet decoded call history with pagination
functioncallerstatusfromto/api/contracts/[contractId]/storageGet decoded contract storage entries
type(persistent|temporary|instance)/api/contracts/[contractId]/eventsGet decoded contract events
typetopicfrom_ledgerto_ledger/api/contracts/[contractId]/events/streamSSEReal-time event stream via Server-Sent Events (Team+ only)
/api/contracts/[contractId]/calls/[callId]/explainComing SoonGet AI-powered explanation for a contract call
/api/contracts/[contractId]/exportExport contract data in CSV or JSON format
format(csv|json)type(calls|storage|events)/api/contracts/[contractId]/analyticsGet contract analytics including gas usage, call frequency, and error rates
Need Help with Soroban?
Our team can help you explore contracts, debug issues, or integrate with the Soroban Pro API.