ethereum-usdc-nest-ntbill-vault, a Nest Treasury vault discovered by filtering GET /v1/yields for providers=nest. Swap in whatever id your own discovery step returns; see Discover yields.
This is Earn › RWAs. Tokenized equities and ETFs belong to Trade’s upcoming Tokenized Stocks product, not RWA yields.
Prerequisites
- A yield.xyz API key, sent as
x-api-keyon every request. - An RWA yield enabled for your project, with
status.enter(and, for exit,status.exit)true. See Discover yields. - A wallet confirmed eligible for that yield. See Check RWA eligibility for the full decision: geo-blocking versus KYC, and what to do with a
not_startedorrejectedstatus. - A signer for the target chain. This guide uses a generic
signAndBroadcastplaceholder; see Transaction signing.
We construct. You sign. Every action returns unsigned transactions; yield.xyz never holds keys and never signs on your behalf.
Discover a vault and inspect its requirements
Nest runs the same vault contract family in parallel on Ethereum and Plume, so its yield IDs aren’t fixed the way a single-deployment yield’s is. Discover them instead of hardcoding one, and skip anything not currently open for entry:cURL
Response (excerpt, one result)
status.enter: false or metadata.deprecated: true before offering it. mechanics.requirements.kycRequired tells you whether this product gates entry behind off-chain verification at all; read mechanics.requirements.kyc for the rest. Don’t reproduce that decision here: see Check RWA eligibility for reading the eligibility metadata and calling GET /v1/yields/{yieldId}/kyc/status.
Build the enter arguments from the schema
Readmechanics.arguments.enter.fields from GET /v1/yields/{yieldId} before building the request, the same pattern as Enter and exit flows. A single-input-asset Nest vault like this one takes just amount:
Response (excerpt)
A Nest vault that accepts more than one input asset (for example the BlackOpal LiquidStone II and BlackRock iShares AAA CLO Active ETF vaults on Ethereum, and every vault on Plume) adds a required
inputToken field to enter and a required outputToken field to exit, to select which accepted asset you’re depositing or redeeming into. This single-asset Treasury vault has neither. Always build the request from the schema you read, not from this example’s field list.Enter a position
cURL
Response (excerpt)
SKIPPED. Sign and submit each transaction in stepIndex order, branching on executionPattern and choosing one of the two submit endpoints, exactly as in Enter and exit flows. This guide doesn’t re-teach that loop.
Verify the position
Once the last transaction confirms, read the resulting balance:cURL
Response (excerpt)
active balance with no pendingActions means the deposit is fully settled. Yield accrues in the vault’s position token (nTBILL here) price per share, and reward claiming is automatic; there’s no separate claim step for accrued yield.
Exit and the redemption lifecycle
Exit follows the same request, sign, submit, poll loop as enter, throughPOST /v1/actions/exit and its own schema (mechanics.arguments.exit). A Nest vault’s exit schema takes amount, plus two optional booleans that pick the redemption path:
cURL
useInstantExecution: trueredeems immediately against the vault’s available on-chain liquidity, skipping the cooldown and any claim step. It only succeeds while the vault reports enough liquidity for your output asset; omit it, or set itfalse, for the standard path.- Without
useInstantExecution, the exit is a request, not an instant payout: it queues a redemption that settles after the vault’s own cooldown, then exposes aCLAIM_UNSTAKEDpending action. useAutoClaim: trueopts into a one-time operator authorization on this request, so the vault’s future redemptions no longer need a manualCLAIM_UNSTAKEDstep.
exiting:
Response (excerpt, during cooldown)
withdrawable with a CLAIM_UNSTAKED pending action:
Response (excerpt, after cooldown)
POST /v1/actions/manage, passing the pending action’s own type as action and its passthrough unchanged:
cURL
Other RWA issuers settle redemption differently. Dinari queues an async redemption with no separate claim step: the payout lands directly in the receiver’s wallet once the operator fulfills it. Superstate and Midas standard redemption also settle without a
CLAIM_UNSTAKED action, on the issuer’s own timeline. Check the issuer’s own page under Issuers rather than assuming this vault’s shape.Next steps
Check RWA eligibility
Decide whether a wallet can enter or exit before you build the action.
Enter and exit flows
The full branch, sign, submit, and poll loop reused above.
Tracking balances
Build portfolio views and execute pending actions across every yield a wallet holds.
Issuers
Every RWA issuer’s product families, networks, and redemption mechanics.

