Documentation

BoostBoy

BoostBoy is an onchain collection showcase. Deposit your Boost cards into it and the device displays them as your collection. Think of it like a physical binder for your card collection.

How it works

BoostBoy is an ERC-6551 token-bound account (TBA). In plain terms: the BoostBoy NFT has its own smart-contract account, and whoever holds the BoostBoy controls that account. The Boost cards sitting in that account are the collection it showcases.

Because the cards are held by the account and not by you directly, the collection travels with the device: transfer or sell the BoostBoy and the cards inside goes with it.

Depositing cards

To deposit, transfer Boost cards to your BoostBoy's account address. It's an ordinary NFT transfer - no approval or special call needed. Once received, the cards live in the BoostBoy's bound account and appear in its showcase.

Withdrawing cards

To withdraw, the BoostBoy owner instructs the account to send a card out by calling execute on the token-bound account, with the call data encoding a transfer from the account to the recipient:

boostBoyAccount.execute(
    boostCardContract,                          // to
    0,                                          // value
    abi.encodeWithSignature(
        "safeTransferFrom(address,address,uint256)",
        boostBoyAccount, recipient, cardId      // from, to, tokenId
    ),
    0                                           // operation: CALL
);

Only the address that owns the BoostBoy NFT can call execute, so your collection is only ever movable by you.

Points

Depositing cards into your BoostBoy earns you points and a place on the leaderboard, read more about points here