Skip to main content
This guide walks you through integrating a deployed Conduit into your platform. By the end, you’ll be able to show balances, handle deposits and withdrawals, preview operations with fees, and monitor positions through the Railnet API.
This guide assumes a Conduit has already been deployed for your platform. If you need to deploy one first, see Create a Conduit.

Prerequisites

  • Conduit address — the deployed Conduit contract on your target network
  • RPC endpoint — an Ethereum JSON-RPC provider (Alchemy, Infura, etc.)
  • Railnet API endpointhttps://query.railnet-testnet.defi.testnet.kiln.fi/v1/graphql (testnet)

Read Conduit state

A Conduit exposes view functions you can call directly on-chain to display balances, share prices, and product status in your UI.

Product info

Balances and share price

Preview operations

Use estimate() to show users what they’ll receive after fees before they commit to a transaction. Use convert() for a pure conversion without fees (e.g., displaying portfolio value).
estimate() includes all fee types (deposit, redeem, management, performance). Use it for transaction previews. Use convert() for display-only share-to-asset conversions where fees don’t apply.

Handle deposits

Users deposit base assets (e.g., USDC) and receive Conduit shares representing proportional ownership. The Conduit handles all interaction with the underlying strategy.
1

Approve the Conduit

The user approves the Conduit to spend their tokens.
2

Create the deposit

For sync strategies (e.g., Aave, Compound), the deposit settles in the same transaction. The user receives shares immediately.For async strategies (e.g., Ethena, Syrup), the query enters PROCESSING. A keeper calls process() automatically when the underlying protocol is ready — the user doesn’t need to take any further action.

Handle withdrawals

Users return Conduit shares and receive the underlying asset.
1

Approve Conduit shares

2

Create the withdrawal

Same behavior as deposits: sync strategies settle immediately, async strategies are settled automatically by keepers.
For async strategies, keepers monitor active queries and call process() when the underlying protocol is ready to settle. Your platform doesn’t need to build monitoring infrastructure, and users never need to return for a second transaction. The experience is identical for sync and async strategies from the user’s perspective.

Monitor with the Railnet API

The Railnet GraphQL API provides indexed on-chain data for building dashboards, tracking operations, and generating reports. Use it alongside on-chain view calls for a complete picture.
This is the testnet endpoint. The mainnet endpoint will be provided when available.

Query positions

Retrieve the current allocation breakdown for a strategy backing your Conduit.

Track operation lifecycle

Monitor deposit and withdrawal queries as they move through the STEAM state machine.

Monitor keeper automation

Check the status of automated operations for your Conduit.

Poll for updates

Fetch position data on a regular interval to keep your UI current.
The API also supports GraphQL subscriptions for real-time updates on query state changes:

Next steps

Configure fees

Set up management, performance, deposit, and redeem fees for your Conduit.

Set up compliance

Configure allowlists, blocklists, and sanctions screening.

Conduit reference

Full technical reference for the Conduit contract.

Keeper automation

How keepers automate async operations for your users.