Wallet-Native Assets
Asset Authorization
Replace persistent allowance and operator state with bounded wallet-level authority.
3 sectionsasset-authorization
01
Transient asset pulls
executeWithTokenPull and executeWithNftPull grant one target temporary authority during one external call. The target is limited to a specific asset and maxAmount or tokenId.
The context is cleared after success, while failures revert the full transaction. No ERC-20 allowance or ERC-721 operator approval remains.
IWalletAssetPullExecutor
interface IWalletAssetPullExecutor {
function executeWithTokenPull(
address target, bytes calldata data, address asset, uint256 maxAmount
) external;
function executeWithNftPull(
address target, bytes calldata data, address asset, uint256 tokenId
) external;
function tokenPullToCaller(address asset, uint256 amount) external;
function nftPullToCaller(address asset, uint256 tokenId) external;
}02
Signed transfers
ERC-8112 supports EIP-712 transfers of ERC-20 or native currency with nonce scope by (asset, to). ERC-8114 supports ERC-721 transfers with nonce scope by (asset, tokenId).
The wallet Runtime validates signatures with ERC-1271 semantics, and any relayer may submit them before the deadline.
Wallet-native signed transfers
interface IERC8112 {
function tokenTransferNonce(address asset, address to) external view returns (uint256);
function tokenTransferWithSig(
address asset, address to, uint256 value, uint256 deadline, bytes calldata signature
) external returns (bool);
}
interface IERC8114 {
function nftTransferNonce(address asset, uint256 tokenId) external view returns (uint256);
function nftTransferWithSig(
address asset, address to, uint256 tokenId, uint256 deadline, bytes calldata signature
) external returns (bool);
}03
Choosing a path
- For immediate DEX or market settlement, prefer token/NFT pull execution.
- For payments, gifts, red packets, or relayed transfers, use ERC-8112 or ERC-8114.
- For multiple ordinary calls, use wallet-self executeBatch.
- Neither pull execution nor signed transfer creates persistent spender authority in the asset contract.