SpieldSpield
Developers

Developer overview

Build on Spield — an overview of the contracts, tokens, and integration paths for reading state and composing fixed-income products on Stellar.

Spield is built on Stellar's Soroban smart contracts, and its tokens and contracts are open and composable. This section is for developers integrating Spield into an app, indexing its data, or building products on top of PT and YT.

What this section covers — and doesn't

These docs describe Spield's public interface: the contract entry points you call, the tokens you interact with, the state you can read, and the events you can index. They do not cover internal implementation details — you don't need them to integrate.

Where to start

Tech stack at a glance

LayerTechnology
Smart contractsSoroban (Rust), on Stellar
TokensStellar assets, wrapped as Stellar Asset Contracts (SACs)
Yield sourceBlend lending market (via a thin adapter)
ReadsSoroban RPC simulateTransaction (free, no signing)
WritesBuild → simulate → sign (wallet) → submit → poll
Reference client@stellar/stellar-sdk (JS/TS)

The shape of an integration

Most integrations follow the same pattern:

Rendering diagram…
  • Reads are free simulations — query positions, prices, and solvency with no wallet and no fees.
  • Writes are standard Soroban transactions, signed by the user's wallet.
  • Events let you reconstruct full protocol state for dashboards or analytics.

Conventions used in these docs

  • Base units. All token amounts on-chain are integers in base units (USDC, PT, and YT use 7 decimals). 10000000 base units = 1.0 USDC. See Tokens.
  • Fixed-point rates. Rates and prices use a 12-decimal fixed-point representation. implied_apy of 0.08 means 8%.
  • Function names are shown exactly as they appear on-chain (snake_case), e.g. claim_yield.

Contract addresses

The live testnet (and upcoming mainnet) contract and token addresses are on the Contract addresses page. This documentation focuses on the interface and integration patterns; wire your app to those addresses via your own configuration.

On this page