A fiat-backed stablecoin is an accounting system: dollars in, tokens out, one ledger to audit. A bond-backed stablecoin is a term-structure machine — the collateral matures, pays coupons, and changes price — and the token model has to carry that difference or the audit trail dies. This is the anatomy of Evidentia, a bond-backed stablecoin protocol Zpoken contributes engineering to, read straight from its public docs and mainnet contracts.
- Every bond becomes an ERC-1155 NFT carrying its own maturity date, coupon rate, and market price — issued in series, so each backing claim stays individually auditable.
- Minting is a formula, not a promise:
Max Loan = (Nominal + Nominal × Coupon) × (1 − Safety Fee), with the available loan decaying as maturity approaches. - Yield is redistribution, not magic: staking APY = interest paid by borrowers ÷ stablecoins staked. The docs' own example: 12% APY at 100% staked, 40% at 30% staked.
- UAHe (hryvnia) is live on Ethereum mainnet, Base, Tron, and Solana, with LayerZero as the messaging layer; TRYe and VNDe are planned next.
- Collateral must exit 45 days before maturity, and short-term bonds (≤24 months) bound the duration risk the peg carries.
UAHe stablecoin (Ethereum mainnet proxy): 0xead9…65bf
Bond NFT (proxy): 0x3399…9E15 · NFT staking: 0x82A0…f906
github.com/evidentia-fi · Zpoken case page
A bond is not a dollar in a bank account
The reserve behind a fiat-backed token is fungible by nature — one pool, one attestation. Bonds refuse that simplification. Each issuance has a maturity date, a coupon schedule, and a market price that moves daily; commingle them into one pool and the question “what exactly backs my token” stops having an answer. Evidentia's design decision follows directly: every bond is tokenized as an ERC-1155 NFT that carries the bond's attributes — maturity, coupon rate, market price — and bonds are issued in series with per-user mint allowances. The backing claim stays per-instrument, which is what makes it checkable by anyone reading the chain rather than by anyone trusting a PDF.
The collateral universe is deliberately narrow: short-term government bonds, up to 24 months. Short duration bounds interest-rate risk; sovereign issuance bounds the credit-analysis problem to something a protocol can actually price. Ukrainian government bonds are the deployed collateral today, with the docs naming Eastern Europe, Latin America, and Southeast Asia as the target regions.
The mint formula prices time
Depositing a bond NFT does not mint face value. The ceiling is
Max Loan = (Nominal + Nominal × Coupon Rate) × (1 − Safety Fee)
— the bond's full terminal value, haircut by a safety fee (typically 5%). What you can borrow today decays toward maturity:
Available Loan = Max Loan / (1 + Platform Daily APY)^Days Remaining
The exponent is the point: the protocol discounts the loan by the yield it owes stakers over the bond's remaining life, so the peg is funded by construction rather than by hope. A bond deposited far from maturity mints less against its terminal value; as maturity approaches, the discount unwinds. Time is priced into the mint, not patched afterwards.
Where the yield comes from
Stakers of the stablecoin earn a share of the interest borrowers pay:
Staking APY = Total Interest Paid by Borrowers / Total Stablecoins Staked
The docs work the example honestly: with 10M coins all staked, the pool pays 12%; with 30% staked, the same absolute interest spreads across fewer coins — 40%. Read that as an engineer, not a marketer: the yield is bond carry redistributed through borrowing demand, its headline number is participation-dependent, and quoting the 40% case without the denominator would be exactly the kind of claim this design exists to make unnecessary.
Four chains, one messaging layer
UAHe is live on Ethereum mainnet, Base, Tron (TRC-20), and Solana (SPL), with LayerZero carrying cross-chain transfers. The alternative — pairwise bridges between every chain pair — multiplies the security surface quadratically; one audited messaging primitive concentrates the cross-chain trust argument in a single place. The tradeoff is honest too: LayerZero becomes a single dependency whose failure mode is shared across all deployments. For a payments-shaped asset, fewer, better-audited moving parts won.
Liquidation without guesswork
Two rules keep unwinds boring. Bonds stop being valid collateral 45 days before maturity — collateral must exit before its endgame, so the protocol never holds paper through redemption mechanics it cannot control. And the liquidator's payoff is a formula, not an auction drama: Bond Nominal + Last Coupon − Outstanding Debt, with the safety fee absorbing the friction. An independent audit (August 2025) found no critical, high, or medium findings in scope; the report is public on GitHub.
What we'd do differently
Three things, stated plainly. ERC-1155 preserves the per-batch audit trail but costs composability — DEXs and lending markets expect ERC-20, so fungible wrappers reappear at the integration edge, and the wrapper is where per-batch identity blurs; the design accepts that boundary consciously, but tooling for it is still thin. Oracle sourcing for thin local bond markets remains the hardest operational problem — the formula is only as good as the market price feeding it. And the docs still list TRYe and VNDe as planned: multi-currency is the thesis, and the thesis is only half-shipped until a second currency is live. Evidentia the protocol issues; Zpoken engineers — and this division of labor is exactly what makes writing this anatomy possible without marketing it.
If you're working on something similar, we'd like to hear about it. Talk to a founder — 30 minutes.