---
title: "Native Assets vs Token Approvals"
path: "/contents/tech/core-concepts/native-assets-vs-token-approvals"
version: "1.2.0"
author: "Hydrate"
createdAt: "2026-03-02T17:29:31.954Z"
updatedAt: "2026-03-16T18:20:57.838Z"
---

# Native Assets vs Token Approvals

<Infobox>
| **EVM Pattern** | approve() → transferFrom() (exploitable) |
| **Radix Pattern** | Direct vault-to-vault transfer via manifests |
| **Impact** | Eliminates $100M+ class of approval exploits |
</Infobox>

## Overview

On [Ethereum](https://ethereum.org), interacting with [DeFi](https://en.wikipedia.org/wiki/Decentralized_finance) requires the **approval pattern**: users call `approve()` to grant a contract permission to move their tokens via `transferFrom()`. This pattern has enabled over $100 million in losses — malicious or compromised contracts can drain any previously approved tokens.

### Radix's Approach

Radix eliminates approvals entirely. Assets are [native resources](/contents/tech/core-concepts/asset-oriented-programming) that move directly between [vaults](/contents/tech/core-concepts/buckets-proofs-and-vaults) via [transaction manifests](/contents/tech/core-protocols/transaction-manifests). Each transaction explicitly specifies what moves where — there's no standing permission to exploit.

This is why Radix is uniquely suited for [AI agents](/contents/tech/core-concepts/radix-for-ai-agents): autonomous agents never grant risky approvals, and their transactions are fully verifiable before signing.