Rust API
Please read Substrate to Polkadot SDK page first.
The Rust documentation is the single source of truth for the Substrate code base. However, if you aren't sure what you are looking for—for example, a specific crate, trait, or data structure—it can be tricky to navigate or to know the best place to start.
As discussed in Architecture and Rust libraries, Substrate libraries use a naming convention to indicate whether a library is part of the Substrate core client (sc_*), FRAME and the runtime (frame_* and pallet_*), or a Substrate primitive (sp_*).

If you don't have a specific crate in mind, use the following links as entry points to explore the core Rust libraries.
Substrate core client libraries
Use the following links to explore Substrate libraries that are part of the Substrate core client (sc_*).
sc_authority_discoverysc_block_buildersc_chain_specsc_clisc_client_apisc_client_dbsc_consensussc_networksc_rpcsc_servicesc_state_dbsc_transaction_pool
FRAME libraries
Use the following links to explore the core FRAME libraries that are used in the Substrate runtime (frame_* and pallet_*.
frame_benchmarkingframe_executiveframe_remote_externalitiesframe_supportframe_systempallet_assetspallet_balancespallet_collectivepallet_identitypallet_membershippallet_proxy
Substrate primitive libraries
Use the following links to explore Substrate primitive libraries (sp_*).
Other libraries
Use the following links to explore other libraries.
