# How it works \[How Railnet turns any on-chain yield source into a product you can distribute]

## The problem

Offering on-chain yield means integrating protocols one by one, each with its own entry points, share math, capacity limits and settlement timing. ERC-4626 covers synchronous operations but cannot represent a pending request, and ERC-7540 adds async requests as an all-or-nothing choice at the vault level with no per-operation lifecycle. Neither says anything about the part you sell: your receipt token, your fees, your compliance rules, your reporting.

Railnet splits the two problems. Connecting a yield source is standardized once; distributing it is yours to configure.

## The layers

Three layers, connected by [STEAM](/developers/contracts/steam-standard), an interface that tracks every operation from creation through settlement and treats instant and multi-day flows the same way.

### Yield Sources

A Vehicle wraps exactly one yield source: an Aave V3 reserve, a Morpho Blue market, an Euler or Morpho ERC-4626 vault, Ethena's sUSDe, any ERC-7540 vault. Whether the protocol settles in one transaction or over several days, every operation follows the same create, process, settle lifecycle and exposes the same `totalAssets()`, share price and capacity views. [Browse the catalog](/yield-sources)

### Conduits

A [Conduit](/conduits) sits on top of a Vehicle and is your product: a branded ERC20 receipt token, management, performance, deposit and redeem fees with immutable caps, allow-lists and sanctions screening, a transfer policy, reward routing, and reporting over GraphQL and REST. Keepers advance async settlement underneath, so a multi-day source still shows as a pending deposit in your app. Several Conduits can sit on the same Vehicle, one per customer tier, without splitting liquidity.

### Composition (optional)

One Vehicle plus one Conduit is a complete product. When one source is not enough, [Allocation Strategies](/strategies/allocation) compose several Vehicles behind one token, operated by you or by an asset manager working inside [guardrails](/strategies/allocation/guardrails) you set on-chain, and [Advanced Strategies](/strategies/advanced) cover operations no adapter exposes, such as swaps, borrows and perps. A Conduit points at either exactly as it points at a single Vehicle.

## Who uses it

Distributors (exchanges, wallets, neobanks, custodians, fund allocators) deploy Conduits; DeFi protocols and real-world asset issuers connect as yield sources through a Vehicle, their own or Railnet's; asset managers optionally operate composed Strategies that distributors wrap.

## Next steps

<Cards>
  <Card title="Yield sources" description="The catalog of connected protocols and generic adapters." icon="layers" to="/yield-sources" />

  <Card title="Application example" description="A neobank ships USDC yield, then grows the product." icon="boxes" to="/overview/application-example" />

  <Card title="Comparing Railnet" description="How STEAM compares to ERC-4626 and ERC-7540." icon="scale" to="/overview/railnet-and-other-standards" />
</Cards>
