Skip to content

Guide

ERC-6551 and token bound accounts, compared with Satchel

ERC-6551 is an Ethereum standard that gives each NFT its own smart contract account, called a token bound account. Satchel takes a different route. It is an NFT on NEAR that controls native Bitcoin, Ethereum and Solana addresses. Satchel is not ERC-6551.

What ERC-6551 is

ERC-6551, "Non-fungible Token Bound Accounts", defines a registry that creates a smart contract account for any ERC-721 token. The account has a predictable address. Whoever owns the NFT controls the account. Read the standard at eips.ethereum.org.

A token bound account is a normal contract account on an EVM chain. It can hold ETH, tokens and other NFTs, and it can call other contracts. When the NFT moves to a new owner, control of the account moves with it.

The idea works with NFT collections that already exist, because the NFT contract needs no change. For a longer explanation, read the RareSkills guide or the Tokenbound docs.

Why Satchel credits it as prior art

ERC-6551 showed that an NFT can own things. Satchel lists it as prior art, next to NEAR's nft_key, Lit PKPs and Ika dWallets. All of them ask a version of the same question: what if the NFT holds the keys?

Satchel answers it differently. It is a NEAR contract that follows the NEP-171 NFT standard. It uses NEAR Chain Signatures to sign for other chains. It is not built on ERC-6551, it does not run on Ethereum, and it makes no promise to work with ERC-6551 tools.

One EVM chain, or Bitcoin, Ethereum and Solana

A token bound account is an EVM account. It holds assets on EVM chains. It cannot hold native Bitcoin or native Solana coins, because those chains have no EVM accounts.

A Satchel has three addresses of its own: one on Bitcoin, one on Ethereum and one on Solana. The coins are native on their own chains. There is no bridge and no wrapped token for the chain addresses.

The Ethereum address also works on Base, Arbitrum and Optimism test networks, so one address holds ETH and USDC on four networks.

The sale problem both designs face

When the account follows the NFT, a buyer pays for the NFT and expects the coins inside. But the seller controls the account until the sale lands. The seller can send a transaction that empties the account in the same block, ahead of the buy.

This was raised in the ERC-6551 discussion on Ethereum Magicians. The thread treated marketplace-level fraud as out of scope for the standard. An academic write-up, arXiv 2508.07190, studies the problem. Proposed fixes include a nonce in the sale order and a lock on the account while it is listed.

How Satchel handles the sale

Satchel's answer has four parts. They sit in the contract and the buyer's browser.

  • While a Satchel is for sale it is paused. It can't sign, and only a purchase or an accepted offer can move it.
  • A Satchel can be listed only after 250 blocks, about 2 min 20 s, with no new signature. That keeps the record from changing as the listing goes up.
  • The contract writes down each signature request on NEAR before NEAR's signer network sees it. A buyer can read everything the Satchel ever signed.
  • The buy names the listing and the signature count the buyer's browser checked. If either changed, the purchase fails and the buyer is refunded.

The buyer's browser then checks each old signature on its own chain. Buy turns on only when no old signature can move the coins. The contract can't see Bitcoin, Ethereum or Solana, so it does not enforce this check. The full method is in the guide to clean history.

Clean history is not a guarantee. It does not cover signatures made after you buy, or NEAR's signer network, which you still trust. Satchel is new and hasn't been audited.

Satchel, ERC-6551 and a seed phrase compared

A seed phrase is how most people hand over a wallet today. Here it sits beside the two NFT designs.

Satchel, ERC-6551 and handing over a seed phrase, compared
Compared onSatchelERC-6551Handing over a seed phrase
Runs onNEAR, as a NEP-171 contractEthereum and other EVM chains, on top of ERC-721Any wallet software
Native coins heldBitcoin, Ethereum and Solana addresses, one set per NFTEVM assets: ETH, tokens and NFTsWhatever the wallet supports
Control moves withThe NFT, through the contractThe NFT, through the registryThe seed phrase, which can be copied
Seller keeps a copy of the keys?No seed phrase exists for its addressesNo: the account follows the NFT ownerYes, if the seller wrote it down
Seller can empty it before the sale lands?Not while listed. Earlier signatures are on record for the buyer to checkPossible unless the marketplace or the account adds a lockYes
Buyer can check past signatures?Yes: every signature is recorded on NEARNo such record in the standardNo
Works with ERC-6551 tools?NoYesNot applicable

Which one fits

If you build on Ethereum and your NFTs already exist, ERC-6551 is the standard to learn. If your assets are all on EVM chains, a token bound account may be all you need.

If you want one NFT that holds Bitcoin, Ethereum and Solana, and you want a buyer to check its history before paying, look at Satchel. You can open a Satchel and read its record, or browse the Satchels for sale.

Both designs have limits. ERC-6551 puts you on EVM chains. Satchel puts you on NEAR and asks you to trust its signer network.

Questions and answers

What is ERC-6551?

ERC-6551 is an Ethereum standard that gives every ERC-721 NFT its own smart contract account. Whoever owns the NFT controls the account, and the account can hold assets.

What is a token bound account?

A token bound account is the contract account ERC-6551 creates for an NFT. It sits at a predictable address, and control follows the NFT's owner.

Is Satchel an ERC-6551 implementation?

No. Satchel is a NEAR contract that follows the NEP-171 standard. It doesn't run on Ethereum and makes no promise to work with ERC-6551 tools.

Can an NFT hold ETH or other tokens?

Yes. A token bound account can hold ETH, tokens and other NFTs on its EVM chain. A Satchel holds ETH and USDC on four Ethereum test networks, plus Bitcoin and Solana coins.

Can an ERC-6551 account hold Bitcoin or Solana?

Not natively. A token bound account is an EVM account. A Satchel has its own Bitcoin and Solana addresses, each on its own chain.

Can the seller empty the wallet right before I buy it?

With a token bound account that is possible unless a lock exists. A listed Satchel is paused, and the buyer's browser checks every earlier signature before Buy turns on.

Try it yourself

Open a Satchel and read its record, or browse the Satchels for sale.