Skip to main content
Every transaction built through the Yield API is unsigned: yield.xyz constructs it, and you sign it. Security on the platform is organized around that handoff, checking the transaction on both sides of it before it ever reaches a wallet.

Your keys, your crypto

yield.xyz never has access to user private keys. The Yield API only returns unsigned transactions for you to sign and broadcast.

The transaction path

1

Request an action

Your app requests an action: enter, exit, or manage.
2

yield.xyz constructs

The Yield API builds a fully formed, unsigned transaction for the requested action.
3

Shield validates

Shield decodes the transaction and checks it against a verified template for that yield, both inside the API (Defense Mode) and, optionally, again in your own integration before signing.
4

You sign and broadcast

Your app signs with the user’s wallet or custody solution and broadcasts to the chain. yield.xyz is never in this step.

What each piece does

Shield

Decodes every unsigned transaction and validates it against a verified pattern for the specific yield: correct contract, correct function, correct parameters, correct receiver. Runs as a TypeScript library or a standalone binary, so it’s usable from any language.

Defense Mode

Shield running server-side, inside the Yield API’s own transaction pipeline. A project can run it in Monitor mode (log only) or Block mode (reject failed transactions before they’re returned).

HyperNative

A separate partner integration for pre-signing simulation. See that page for what’s currently confirmed.

Security deployment options

How to combine server-side Defense Mode with a client-side check (library or binary) for two independent checkpoints.
Shield’s checks are structural: it doesn’t evaluate whether the underlying protocol itself is safe, and it doesn’t claim to catch every possible attack. See Defense Mode for what it does and doesn’t mitigate.

Next steps

Shield features

Validation coverage and error reference

Shield integration

Run Shield in your own stack