📘 What changed in this revision RWA endpoints remain on the Yield API (RWA Kit is the Yield API surface for regulated, off-chain assets settled on-chain that pay a yield — US Treasuries, money-market funds, fixed-income funds (IG, HY, muni, CLOs, senior loans, BDCs), private credit pools, yield-bearing notes, basis/carry strategies, and yield-bearing stablecoins. One interface, every issuer, every chain — protocol-specific quirks absorbed inside the integration. Tokenized stocks and equity ETFs are out of scope here; see StockKit for those. Every issuer in this document is compatible with Yield.xyz Optimized Allocator Vaults (OAVs), Sentinel Vaults, and Meta Vaults out of the box. Eligibility for inclusion in a specific vault still depends on the vault’s risk mandate.api.yield.xyz) — earlier drafts suggested branching them onto a dedicatedapi.rwa.yield.xyzsurface, but yield-bearing RWAs (treasuries, MMFs, private credit, fixed-income funds, carry strategies, yield-bearing stablecoins, yield-bearing notes) fit cleanly into the existing yield surface and don’t justify a second API. KYC has been extracted into its own API —api.kyc.yield.xyz— to keep PII isolated and to enable regional data segregation (EU persons in the EU, US persons in the US). Tokenized stocks, equity ETFs, and equity-style tokens — including the dividend stream from dividend-paying shares — are owned end-to-end by StockKit on the new Trade API (api.trade.yield.xyz). RWA Kit does not surface any equity instruments. The doc is now organized around three lenses: (1) an issuer-comparison intro, (2) every yield-bearing RWA that requires KYC, and (3) every yield-bearing RWA that does not. Anything equity-shaped — Ondo Global Markets stocks, xStocks, Backed bCSPX, Dinari equity dShares (with or without dividends), Superstate USPY — lives in the StockKit docs and is cross-referenced where useful. RWA Kit also now supports issuers whose yield is delivered off-chain to a KYC’d broker account rather than via on-chain rebase or share-price accrual — Dinari is the first such issuer. See Yield delivery modes for the schema change.
API surfaces
All five surfaces share a single API key issued from the Yield.xyz dashboard.
ℹ️ Why RWA Kit stays on the Yield API Yield-bearing RWAs follow a similar lifecycle as DeFi yields — discover, enter, accrue, exit — and integrators already build against that model. The only RWA concerns that genuinely diverge from DeFi (KYC handoffs, off-chain settlement status, distribution feeds) are encoded as additive metadata on the existing yield surface.
ℹ️ Why equities are not in RWA Kit Tokenized equities have a fundamentally different shape from yields: they have a price (not an APY), corporate actions, voting rights, trading windows, order books, and brokerage-style fee schedules. Even when a share pays dividends, the consumer-facing primitive is “I own this stock” — not “I’m earning a rate.” Forcing equities into the yield surface would either pollute every yield response with optional equity fields, or scatter equity-specific subobjects that aren’t discoverable. They live in StockKit on the Trade API.
Issuer comparison (all issuers side-by-side)
This is the canonical at-a-glance view of every RWA issuer Yield.xyz supports for yield-bearing instruments. Equity-side coverage per issuer (tokenized stocks, equity ETFs, equity dShares, dividend streams) lives in StockKit. Per-issuer detail lives in the Issuer directory below.
¹ See Verify before publishing.
Yield delivery modes
Every yield in RWA Kit declares ayieldDelivery.mode in its metadata. This is the single most important field for routing logic — it tells partners whether holding the token in a self-custodied wallet is sufficient to receive yield, or whether an issuer-managed account is required.
🚨 Critical UX implication Yields withmode: "off_chain_account_credit"will silently fail if surfaced in a self-custodial wallet without a linked issuer account. Partners must checkyieldDelivery.requiresIssuerAccountbefore exposing these yields, and either (a) route users through the issuer’s KYC + account-creation flow, or (b) hide the yield from self-custody surfaces.
KYC model
KYC is a tri-state enum rather than a boolean, because token transferability and yield entitlement can be decoupled (Dinari being the canonical example).
The two sections below split every yield by whether the end user must complete KYC to receive the yield. This is the practical question for product flows.
Yields requiring KYC
Yields where the end user must complete KYC — either to hold the token at all (always) or to receive the yield (primary_and_yield).
kycRequired: "always" — allowlist-gated on contract
kycRequired: "primary_and_yield" — yield only flows to KYC’d Account holders
⚠️ Self-custody does NOT receive yield
These yields are tokens-as-settlement-instruments. The token transfers freely on secondary ERC-20 rails, but the cash coupon/interest leg is credited off-chain to a KYC’d Dinari Account. Surface these only after verifying yieldDelivery.requiresIssuerAccount and confirming the user has a linked Account.
ℹ️ Dividend-paying equity dShares are not in this list Dinari issues dividend-paying equity dShares (US single-name stocks that distribute quarterly dividends). Those instruments — including the cash dividend leg — are surfaced end-to-end by StockKit on the Trade API, alongside non-dividend equity dShares. They are not duplicated here even though they technically pay a yield, because the consumer-facing primitive is equity ownership, not a fixed-income coupon.
🚧 BDCs are a judgment callBXSL.dandMSDL.dare publicly-traded BDCs. They distribute loan interest as “dividends” for tax purposes, but the underlying yield source is loan interest, not corporate equity profit. RWA Kit surfaces them as fixed-income (underlyingYieldSource: "bdc"). If a vault’s risk mandate requires “fund-structured fixed-income only,” exclude them via theunderlyingYieldSourcefilter.
Yields without KYC
Yields where the end user does not need to complete KYC to hold the token and receive its yield. These fall into two camps: fully permissionless (none) and “primary-gated, but secondary is open” (primary_only).
kycRequired: "none" — fully permissionless on-contract
🚧 US persons (Midas) Midas tokens are open ERC-20s, but Midas does not market or sell to US persons. Use Yield.xyz Geoblocking to align integration eligibility with Midas’s distribution policy.
kycRequired: "primary_only" — KYC at primary, permissionless on secondary
End users acquire these on secondary markets (DEX swap or peer-to-peer transfer) without ever touching the issuer’s KYC portal. Yield accrues to whoever holds the token.
ℹ️ Equity-style trackers and stocks live in StockKitbCSPX(S&P 500 UCITS tracker), xStocks (TSLAx,NVDAx, etc.), Ondo Global Markets stocks (ondoAAPL,ondoTSLA, …), and all Dinari equity dShares are tokenized equities. They are served end-to-end from StockKit on the Trade API, including the dividend stream for dividend-paying shares. StockKit uses the samekycRequiredenum, the same KYC handoff toapi.kyc.yield.xyz, and the same actors/regulatory metadata blocks.
The integration model
Every RWA Kit position follows the same three-phase model regardless of KYC posture or settlement style — and it matches the existing Yield API lifecycle exactly:- Discover —
GET /yields(RWA Kit yields appear inline with DeFi yields, filterable byassetClass,issuer,kycRequired,yieldDeliveryMode,network). - Enter —
POST /actions/enterreturns unsigned transactions and/or an off-chain subscription handle. - Exit —
POST /actions/exitreturns either an on-chain redemption tx, anoffchainRedeemticket, or both.
412 Precondition Failed response from actions/enter carries a kycUrl pointing at api.kyc.yield.xyz — the user completes verification there and the call is retried.
Identifying RWA instruments
Yield returns the updated metadata schema below. For tokenized equities — stocks, equity ETFs, equity dShares — and equity / commodity / forex / index perps, use GET https://api.trade.yield.xyz/v1/markets (StockKit) instead.
Yield metadata schema
All RWA yields carry the following additive metadata blocks on top of the existingYieldDto. Existing yields default to on-chain modes; the new fields are additive and non-breaking.
Integration walkthrough — Ondo OUSG (KYC-gated)
412:
kycUrl, then retry — the KYC API completes the allowlist enrolment with Ondo and returns when the wallet is live.
Integration walkthrough — Dinari USFR.d (off-chain account credit)
Off-chain account credit needs an extra step beforeactions/enter: the user must have a linked Dinari Account so coupons can flow to them.
412 with an accountLinkUrl:
GET /v1/positions/{userId}/{yieldId}/accruals.
New Yield API endpoints
To supportoff_chain_account_credit yields, the Yield API exposes three RWA-specific endpoints that proxy and normalize issuer-side distribution data. They sit alongside the existing yield endpoints.
GET /v1/yields/{yieldId}/distributions
Historical declaration schedule for a yield (ex-date, pay-date, cash amount per share). Lets partners chart APY without holding the position. For Dinari yields, proxies GET /api/v2/market_data/stocks/{stock_id}/dividends.
Example response (Dinari USFR.d):
GET /v1/positions/{userId}/{yieldId}/accruals
Per-user paid distribution events. Required for accurate portfolio P&L when yieldDelivery.mode = "off_chain_account_credit". Proxies /api/v2/accounts/{account_id}/dividend_payments and /interest_payments.
Example response:
Issuer directory
Dinari
Dinari issues dShares — ERC-20 wrappers tracking US-listed equities, ETFs, and fixed-income funds 1:1 — plus USD+, a non-rebasing yield-bearing stablecoin backed 100% by short-term US Treasuries and USD. Primary mint and redemption are KYC-gated under an SEC Reg D exemption; once issued, dShares are freely transferable ERC-20s on Ethereum, Base, Arbitrum, Plume (eip155:179205), and Avalanche (Dinari Financial Network).
RWA Kit surfaces only Dinari’s fixed-income product line and USD+: 13 fixed-income dShares wrapping treasury, IG, HY, muni, CLO, senior-loan, and BDC ETFs, plus the USD+ stablecoin. All equity dShares — single-name stocks (with or without dividends), equity ETFs (SPY.d, IAU.d, SIVR.d, SLX.d, ETHE.d) — are served from StockKit, including the dividend stream for dividend-paying stocks. One Dinari Account link via the KYC API covers both surfaces.
🚧 Dinari yield does not accrue on-chain Dinari’s tokens are settlement instruments, not yield-bearing instruments. Yield is delivered off-chain as USD (or fresh USD+) credited to the holder’s Dinari Account. A user holding a Dinari token in a self-custodied wallet without a linked Dinari Account will never receive yield. This is encoded asyieldDelivery.mode = "off_chain_account_credit"andkycRequired = "primary_and_yield".
USD+ — yield-bearing stablecoin.
Integration paths.
📘 Reg D context Dinari’s primary issuance relies on a Reg D exemption. The on-chain transfer restriction is enforced only at the mint/redeem boundary — dShare tokens themselves are unrestricted ERC-20s once minted. Yield entitlement, however, is enforced at the Account boundary — a non-Account holder of a transferred dShare gets the token but not the cash coupons.
Ondo Finance
Ondo runs the broadest product line of any issuer on Yield.xyz. RWA Kit covers the yield-bearing products below; Ondo Global Markets — Ondo’s tokenized equities surface (260+ NYSE / NASDAQ stocks and ETFs settled inUSDon) — is served from StockKit.
OUSG — short-term US Government Treasuries.
USDY / rUSDY — yield-bearing secured note.
Securitize
Distribution and compliance platform for institutional asset managers — not an issuer of its own funds. KYC handled via Securitize iD (proxied throughapi.kyc.yield.xyz).
ℹ️ BUIDL pricing nuance BUIDL’s fee differs by deployment chain. When constructing OAVs that span multiple BUIDL deployments, surface the effective fee per leg in your reporting layer.
Superstate
Two live tokenized funds, both restricted to US Qualified Purchasers.🚧 Manager transitions in 2026Upcoming:Fund mechanics remain unchanged through both transitions.
- USTB: Invesco Advisers, Inc. became investment manager in Q2 2026 (announced 24 March 2026).
- USCC: Bitwise Investment Manager, LLC becomes investment manager on 1 June 2026.
USPY — Superstate’s tokenized US equity product. Because it is a tokenized equity (price-tracking, no recurring yield in the staking sense), it will launch on StockKit rather than RWA Kit.
Backed Finance
Acquired by Kraken in December 2025. RWA Kit covers the yield-bearing bToken trackers (bIB01, bC3M). The equity trackers — bCSPX and the xStocks family (TSLAx, NVDAx, AAPLx, …) — live in StockKit.
👍 Why Backed sits in both buckets Backed’s primary issuance is permissioned, but every issued token is a freely transferable ERC-20 / SPL token on secondary. Treat Backed as permissionless from the integration standpoint — most end-user flows route through DEX swap, not primary mint.
Franklin Templeton
BENJI is the on-chain share class of FOBXX — the Franklin OnChain US Government Money Fund.ℹ️ USDC funding rails Franklin Templeton operates 24/7/365 USDC subscription and redemption via a partnership with Zero Hash. This shortens the user-visible flow even though fund accounting remains T+1.
Figure Markets
YLDS is an SEC-registered yield-bearing transferable stablecoin, structured as a face-amount certificate from Figure Certificate Company.
Upcoming. Figure’s PRIME (prime money-market exposure) and CASH (USD operating cash) products are on the roadmap.
Midas
Permissionless liquid yield tokens — open ERC-20s on-contract; mint and redeem flow through Midas’s Issuance Vault.
Contracts (Ethereum mainnet, verified as of 2026-05-16).
Position lifecycle & balance states
The off-chain distribution feed (
Position.distributions[]) is independent of state — distributions can accrue against an Active position and are surfaced regardless of issuer.
Error handling reference
All error bodies follow the shared
StakeKitError shape with error, message, and details.
KYC API
KYC moved toapi.kyc.yield.xyz for three reasons:
- PII isolation. Identity documents, addresses, and accreditation evidence are stored separately from instrument data.
- Regional segregation. EU records stored in EU; US in US; APAC in APAC.
- Issuer handoff abstraction. Each issuer (Ondo, Securitize, Superstate, Franklin, Figure, Backed, Dinari) has its own KYC portal; the KYC API normalises the handoff.
AAPL.d on StockKit, and vice versa.
Vault compatibility
Every issuer above is supported as a leg inside:- Optimized Allocator Vaults (OAVs) — multi-issuer routing across RWA + DeFi
- Sentinel Vaults — risk-monitored allocator vaults with policy guardrails
- Meta Vaults — composite vaults aggregating multiple OAVs / Sentinel Vaults
Hybrid legs (off-chain account credit)
Dinari legs are hybrid: the vault contract holds the dShare or USD+ token on-chain, but the cash-yield leg is reconciled off-chain via Yield.xyz’s Dinari Account integration. Vault NAV is computed as:accruedOffChainYield is sourced from GET /v1/positions/{vaultAddress}/{yieldId}/accruals. Surface this composition in the vault’s nav.components so partners can audit the on-chain vs. off-chain split.
👍 Building an OAV across permissioned, permissionless, and hybrid legs If a vault includes KYC-gated (e.g. BUIDL), permissionless (e.g. mTBILL), and hybrid-off-chain (e.g. USFR.d) legs, three checks apply per leg:
- Allowlist check — for
kycRequired: "always"legs, on-chain allowlist gating.- Account-link check — for
kycRequired: "primary_and_yield"legs, verify the user has a linked Dinari Account so yield can flow.- Geographic check — for
kycRequired: "none"legs with distribution restrictions (Midas → no US persons).

