> ## Documentation Index
> Fetch the complete documentation index at: https://yieldxyz.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Transaction Signing

> Chain-specific guides for signing transactions with popular libraries

## Overview

Yield.xyz returns **unsigned transactions** from its API — your application is responsible for signing and broadcasting them. This section covers how to sign transactions across every supported chain family using the most popular libraries.

<Info>
  Yield.xyz is **non-custodial**. Private keys never leave your environment; the API only returns unsigned transaction payloads for you to sign client-side or via your custody provider.
</Info>

***

## Supported Chains

<CardGroup cols={2}>
  <Card title="EVM" href="/guides/transaction-signing/evm">
    Sign with **ethers.js**, **viem**, or **wagmi** on Ethereum, Polygon, Arbitrum, and all EVM-compatible networks.
  </Card>

  <Card title="Solana" href="/guides/transaction-signing/solana">
    Sign with **@solana/web3.js** or **Anchor** on Solana mainnet and devnet.
  </Card>

  <Card title="Cosmos (Coming Soon)" href="/guides/transaction-signing/cosmos">
    Sign with **CosmJS** across Cosmos Hub, Osmosis, and other Cosmos SDK chains.
  </Card>

  <Card title="Tron (Coming Soon)" href="/guides/transaction-signing/tron">
    Sign with **TronWeb** on the Tron network.
  </Card>
</CardGroup>

***

## General Flow

<Steps>
  <Step title="Get unsigned transaction">
    Call the Yield.xyz API (e.g. enter / exit a position) to receive an unsigned transaction payload.
  </Step>

  <Step title="Sign the transaction">
    Use one of the chain-specific libraries documented in this section to sign the payload with your private key or wallet.
  </Step>

  <Step title="Broadcast">
    Submit the signed transaction to the network via the library's provider or an RPC endpoint.
  </Step>
</Steps>
