# Motif

The first in-kind Bitcoin staking DTP on Ethereum

{% hint style="warning" %}
A Bitcoin staking DTP is **not** the same as a staking ETP. Its in-kind creation and redemption are governed entirely by Ethereum smart contracts, resulting in fundamentally different trading risks.&#x20;
{% endhint %}

Motif is the first in-kind Bitcoin staking DTP (Delegated Tokenised Position) issuance protocol on Ethereum. By separating custody from issuance, it enables Bitcoin holders to solo stake through EigenLayer and access a permissionless staking index that connects them to top-tier digital communities—spanning security, lending, stablecoins, data storage, prediction markets, and AI wallets.

Motif's ecosystem consists of solo stakers (operators) with custom staking policies and independent apps, representing a custom yield strategy, each with its own community of validators and users. Operators, apps, or third parties can permissionlessly issue staking DTP tokens as part of their app or create yield strategy vaults for other staking DTPs. Motif’s daily emissions incentivize app creators for their contributions to the index, fostering a self-sustaining app economy. Creators have the flexibility to further distribute rewards to operators, stakers, and other ecosystem participants.&#x20;

Solo staking is powered by Bitcoin Remap, enabling operators to facilitate in-kind creation and redemption. This ensures staking DTPs remain fully backed by Bitcoin while allowing operators to design risk-adjusted remaps tailored to their Bitcoin LPs’ staking preferences.


# Problem: 'Bitcoin Solo Staking?'

“the absence of arbitrage opportunities is the basis of almost all modern financial theory” (Lamont & Thaler, 2003, p. 192)

Solo staking has always been a core priority for Ethereum, allowing anyone to run their own node and actively contribute to decentralization.&#x20;

Bitcoin ~~\[Trigger Alert]~~ does not have a built-in staking mechanism, yet numerous projects have attempted to integrate it into various Proof of Stake frameworks. However, these efforts remain fragmented within emerging ecosystems, forcing participants to relocate their liquidity — in form of an LST— to platforms where it can be effectively utilized.

### Bitcoin (as well as ETH) LSTs are walled gardens

Bitcoin LSTs today can only be acquired by staking with a trusted issuer or operator. This centralized approach limits both retail and institutional adoption, as Bitcoin is held across various jurisdictions with local regulations and institutional mandates restricting its flow onto Ethereum.

However, we are seeing shifts in the space—Lido, for instance, is now introducing support for solo stakers through BYOV (Bring Your Own Vault) vaults, first proposed in the [GOOSE](https://research.lido.fi/t/hasus-goose-submission-proposed-goals-for-lido-dao-to-consider/5590) initiative. Additionally, a recent Ethresear.ch proposal, [SOLO](https://ethresear.ch/t/solo-liquid-staking-for-solo-validators/21157), has sparked discussions around minting an LST for solo stakers. This signals a growing recognition of the need for decentralized and flexible staking solutions.&#x20;

### Nearly **$120 billion** in Bitcoin is locked with a few custodians, awaiting solo staking

From [Fidelity's](https://www.coindesk.com/business/2024/05/21/fidelity-drops-staking-plans-in-updated-ether-etf-filing) S-1 filing for spot ETH staking to [Bitwise's](https://bitwiseinvestments.com/newsroom/bitwise-acquires-ethereum-staking-provider-attestant) acquisition of Attestant, and [BlackRock's](https://www.coindesk.com/business/2025/02/05/blackrock-plans-to-launch-a-bitcoin-etp-in-europe-bloomberg) growing interest in European staking ETPs, it's clear that institutions are embracing solo staking to compete for liquidity. However, similar opportunities do not exist for Bitcoin, as staking typically requires trusting an operator with custody of liquidity. In cases where there is no trust assumption, access to funds is lost for a specified timelock, rendering them temporarily unusable.

### Delayed withdrawal affecting arbitrage efficiency&#x20;

We’ve already seen how restricted withdrawals impact arbitrage efficiency in stETH/ETH markets:

* During periods of high sell pressure, withdrawal delays caused discounts in stETH prices relative to ETH.
* This delayed arbitrage mechanism meant that even though stETH was ultimately redeemable 1:1, the inability to exit immediately created pricing inefficiencies.
* Market makers could only capture the spread over time, introducing liquidity and execution risks.

In the Bitcoin space, the well-known GBTC trade suffered from the lack of an ETF structure, resulting in inefficient market arbitrage and price instability.


# Size of the Opportunity

Nearly $1 trillion worth of Bitcoin is sitting idle, waiting for a viable solo staking solution.

Looking at [Bitcoin Rich List](https://bitinfocharts.com/top-100-richest-bitcoin-addresses.html), it’s clear that self-custody is no longer the norm—the majority of BTC now sits with custodians.

<figure><img src="/files/XdHL5pmxT1q5XcKbD7kM" alt=""><figcaption><p>Screenshot taken on Feb 06 2025</p></figcaption></figure>

A self-issued Bitcoin staking index that enables permissionless reward accrual represents one of the biggest market opportunities in crypto—potentially even greater than Bitcoin as a store of value. It allows investors to earn yield while retaining full control over their Bitcoin holdings.&#x20;

There are three major untapped markets that urgently need solo staking:

1. **Institutional Bitcoin Holders** – ETFs, custodians, corporate treasuries, and sovereign entities holding BTC require compliant, non-custodial staking solutions to generate yield without counterparty risk.
2. **Retail & Whales** – Millions of Bitcoin holders lack yield-generating alternatives beyond CEXs or lending platforms.
3. **App Developers** – Builders need programmable Bitcoin to integrate into lending markets, derivatives, stablecoins, and other DeFi applications

## Motif for ETF Issuers

Not restricted by regulations (unlike US), european issuers can stake upto 60% of their AUM through their custodian for altcoin exposure.&#x20;

<table><thead><tr><th width="241">Physical ETPs</th><th width="201">AUM (in $)</th></tr></thead><tbody><tr><td>ETC Physical BTC</td><td>1.26B</td></tr><tr><td>Coinshares BTC ETP</td><td>1.42B</td></tr><tr><td>21 Shares BTC ETP</td><td>876M</td></tr><tr><td>+ others...</td><td></td></tr></tbody></table>

With the rapidly evolving U.S. regulatory landscape, staking could return to Bitcoin ETFs, driving issuers to adopt diverse yield strategies to stay competitive. Permissionless Bitcoin staking will be crucial for attracting users while minimizing counterparty risk.

## Motif for Market Makers

Currently, the only staking ETPs being traded are listed on Xetra, a German ETF exchange. Some notable staking ETPs include:

<table><thead><tr><th width="172">Staking ETPs</th><th width="148">Nov 24 (€ Mil)</th><th>Oct 24 (€ Mil)</th></tr></thead><tbody><tr><td>21 Shares SOL</td><td>111.97</td><td>40.09</td></tr><tr><td>Coinshares SOL</td><td>71.04</td><td>13.27</td></tr><tr><td>21 Shares ETH</td><td>69.43</td><td>19.07</td></tr><tr><td>+ 29 more...</td><td></td><td></td></tr></tbody></table>

Source: [Xetra](https://www.deutsche-boerse-cash-market.com/dbcm-en/instruments-statistics/statistics/etf-etp-statistics/2062!search?state=H4sIAAAAAAAAAFWPQQ-CMAyF_4rpmYNedzTGhMQDBuJ9bkUXB4ttF0II_90FQeHW1_e1fR3AasEzhQZUG73PJl2FRdXaoDCoYUy1I5YLiiAt9tMJF0iFfiCowz4D1xofLZZOkBcotL4vbA2q1p4xg3dE6kEBZEDI0cvNYbfAHEiSx6cUY2eRTaJMZAnNMYqEds4y7cjteuqvZl4zXr-n1u0yoRXS798X9l0gyxtU-3tscsvb0QnZxPivXLXHD7lWmgtVAQAA\&hitsPerPage=10\&pageNum=0)

Staking ETPs have seen a notable increase in trading volume, highlighting growing interest from ETF issuers exploring Bitcoin staking products as an alternative yield source for their customers.&#x20;

Delta neutral hedging against the NAV is the most common trading strategy in ETP secondary markets. Furthermore, projects like [Ethena](https://ethena.fi) use stETH for their USDe minting.&#x20;

## Motif for ETH Stakers

The connection between Ethereum staking and Bitcoin is especially intriguing, as many Ethereum stakers already manage Bitcoin liquidity through their custody solutions.

<figure><img src="/files/9z6LCwb5i35eVPf3HlHK" alt=""><figcaption><p>Coinbase, Binance, Figment, StakeFish, Okx, Mantle and others are all BTC holders too</p></figcaption></figure>

These node operators are already leveraging Bitcoin staking solutions across various L1/L2 ecosystems and actively participating as liquidity providers for Bitcoin LSTs.


# Solution: Bitcoin staking DTP

The first scalable in-kind staking index with unlimited solo stakers.

Staking DTP consists of two tokens: DTPShares as an *external* token, free to trade, while reBTC is an *internal* token that is controlled by the DTP contract to earn yield. Users can either create a personalized staking DTP with a self-curated DeFi strategy or mint an existing one.

Motif, as a protocol, does not mint staking DTPs but instead provides app developers with the flexibility to launch customized Bitcoin staking DTPs.

#### Fees

Staking DTP issuers and operators can set their own commission and fees on staking rewards for minting and redemptions, with full control over how these rewards are distributed within their ecosystem.

#### Bitcon Remap

Staking DTP issuance is powered by Bitcoin Remap, which allows staking with any EigenLayer operator. Operators can customize the remap to align with their LPs' risk preferences. Since institutional node operators have diverse requirements for their staking setups, Remapping enables them to adjust signing privileges, the number of signers, timelocks, address types, and other parameters based on jurisdictional needs.


# Staking DTP vs Staking ETP

|                   | DTP                           | ETP                                   |
| ----------------- | ----------------------------- | ------------------------------------- |
| Creation/Redeem   | In-kind                       | Cash (restrictive)\*\*                |
| Primary Arbitrage | Anyone                        | APs only                              |
| Custody           | Self-Custody                  | Custodian                             |
| Trust model       | Eigenlayer Bonded Security    | Regulated Custody                     |
| Slashing Risk     | Yes                           | Yes                                   |
| Yield Structure   | Dynamic multi altcoin yield   | Structured yield product              |
| Price Discovery   | Secondary markets             | NAV                                   |
| Liquidity         | Anyone can participate        | Restricted to Institutional investors |
| Rewards           | Accrue to a rebasing contract | Distributed at the end of the day     |

\*\*  In-kind creation/redemption offering has been a regulatory restriction


# Staking DTP vs LSTs

## Native Onboarding

Bitcoin LSTs today are either minted as an ERC-20 bridge token or an ERC-4626 vault contract. This approach either relies on an external protocol for staking assumptions or uses wBTC/cbBTC for minting LSTs/LRTs. However, this method limits the entry point for users who cannot interact with a bridge contract due to regulatory reasons or are not comfortable entrusting custody to a third-party LST issuer. Currently, there is no native onboarding mechanism for Bitcoin holders to Ethereum, where they can run their own node and retain control of their Bitcoin.

Motif's Bitcoin Remap not only provides a way to onboard native Bitcoin into Ethereum staking applications but also enables validators from other Bitcoin L1s/L2s to mint DTPs without relying on an LST issuer. This serves as a gateway to unlock validator liquidity on Ethereum from other L1s/L2s.

## Many vaults, Many DTP Tokens

Each vault is a standard ERC7575 that issues its own “share token” (IndexToken1, IndexToken2, etc.). When a user deposits underlying assets into Vault #1, they get IndexToken1; depositing into Vault #2 yields IndexToken2, etc.

## Onboarding Staked Bitcoin From Other Protocols

To onboard liquidity from other L2s, validators and stakers can set their L2 Bitcoin unbonding address to a BitcoinPod address remapped on Ethereum. This mirrors the functionality of EigenPods in Ethereum staking, where EigenPods remain empty until the stake is unbonded from the Beacon Chain.

> Similar to EigenPods in EigenLayer, BitcoinPods rely on the post-unbonding state of the BOD to enforce custom validation logic for already staked bitocoin in other protocols.&#x20;

| Feature       | In-Kind                                                     | LST                                                                       |
| ------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------- |
| Ownership     | Bitcoin remains native, unwrapped, and under user control.  | Bitcoin is locked, and an ERC-20 token is minted as a derivative.         |
| Tokenization  | No tokens are issued.                                       | LSTs are issued as synthetic representations of staked Bitcoin.           |
| Custody       | Non-custodial; relies on BitcoinPods (BODs) for delegation. | Custodial or semi-custodial setups often required for processing peg-out. |
| Composability | Primarily designed for delegation via remap.                | Highly composable with DeFi protocols as an ERC-20 token.                 |


# On-chain primary markets

Creation/redemption arbitrage is usually restricted to authorised participants (APs) in traditional markets.

Reward-bearing tokens like cbETH, rETH, and wstETH often trade at a premium due to their yield-accruing nature. The introduction of staking DTPs on-chain creates new arbitrage opportunities for market makers, with primary market trading offering the most lucrative arbitrage potential.

If a staking DTP is trading **below** the price of a CEX, a trader can:

1. Buy the DTP off of Uniswap using USDC
2. Withdraw the DTP for 1:1 bitcoins + rewards
3. Sell Bitcoin for USDC
4. Profit

If a staking DTP is trading **above** the price of a CEX, a trader can:

1. Mint DTP using Bitcoin Remap (bitcoin remains in control of solo staker)
2. Sell DTP on Uniswap for USDC
3. Profit

{% hint style="info" %}
You'll notice it is beneficial for market makers to keep some staking remaps deployed as it creates **leveraged arbitrage** opportunities. For example, if bitcoin minted as a DTP is still non-custodial, the USDC profit is a leveraged trade. The same remaps can be used to execute a withdraw when it is profitable to buy DTP and withdraw.
{% endhint %}

The trade becomes even more profitable when you introduce lending markets in the arbitrage.

If a staking DTP is trading **above** the price of an external market, a trader can:

1. Borrow DTP depositing USDC as collateral
2. Sell DTP to a Uniswap pool for USDC at a premium (profit)
3. Mint DTP by depositing Bitcoin
4. Repay borrowed DTP withdrawing USDC

If a staking DTP is trading below the price of an external market, a trader can:

1. Borrow DTP depositing USDC as collateral
2. Buy cheap DTP from Uniswap pool using USDC
3. Repay borrowed DTP&#x20;
4. Profit

### What happens in a black swan event?

Since there is no centralized exit queue, everyone can independently unstake and withdraw their Bitcoin during a black swan event.


# On-chain secondary markets

Bitcoiners miss out on three key stable yield sources as their funds remain locked with custodians due to counterparty risk.

## Funding Rate Arbitrage

During the bull market, funding rate arbitrage yielded as much as 20% in December 2024. The rise in open interest across centralized exchanges drove a surge in funding and basis trade yields, paving the way for innovative lending strategies on platforms like Morpho and Aave. However, only Bitcoin in the form of cbBTC or wBTC was able to capture these opportunities.

## Stablecoin Rewards

Coinbase now offers a 4.7% yield to USDC holders, while Spark provides 6-12% for USDS lenders. Recently, the Aavethena strategy gained traction among sUSDe holders, capitalizing on rising USDC interest rates. As risk-curated lending vaults grow in popularity, more Bitcoin capital than ever is seeking stable yield opportunities.

## ETH Consensus Rewards

With the rise of stETH, cbETH, rETH, and other staked ETH representations, these assets have often traded at a premium relative to the base asset and have been used as margin on centralized exchanges. During periods of market volatility, significant arbitrage opportunities emerge between Curve/Uniswap prices and those on centralized exchanges.


# How to mint DTP

DTP can be minted either by deploying an iSAT contract or by remapping to an already deployed contract, registered in the `appregistry.sol`

Users may choose to run their own Eigenlayer operator for full custodial setup or create a bitcoin address with one of the registered Operators. To mint a DTP, user wil:

1. Create a Bitcoin Pod, aka BOD. A bitcoin pod smart contract representing your BTC address as an Ethereum contract
2. Deposit bitcoins in the Bitcoin Address.
3. Once deposit gets confirmed by Motif operator, remap your BOD to an iSAT contract
4. iSAT contract emits a transfer event for the DTP tokens.&#x20;


# Create New Staking DTP

## Video Guide

{% embed url="<https://youtu.be/_VwpWSUXcsY>" %}

1. **Start the Creation Process**

* Click on the **"Create DTP"** button to open the creation dialog.

2. **Enter Token Details**

* Provide the following metadata for your DTP token:
  * **Name** (e.g., "EigenStake DTP")
  * **Symbol** (e.g., "eDTP")
  * **Description** (brief overview of the DTP)
  * **Logo** (upload an image representing the DTP)
* Click **"Next"** to proceed.

<figure><img src="/files/kWX8g128nc75JB28umVZ" alt=""><figcaption></figcaption></figure>

3. **Select an EigenLayer Operator**

* Choose an operator from the list of available EigenLayer Operators.
* You can either:
  * Run your own EigenLayer Operator, or
  * Partner with an existing operator to issue the DTP.

<figure><img src="/files/Bs2UCbdnx2LatMjrKyA7" alt=""><figcaption></figcaption></figure>

4. **Sign & Deploy the DTP Contract**

* Confirm and sign the transaction to issue the DTP.
* Upon confirmation, the platform will deploy a new **iSAT contract**, which manages the newly issued DTP token.

<figure><img src="/files/CLhdCgCvvU2RRb58AeyY" alt=""><figcaption></figcaption></figure>

5. **View Your Issued DTP**

* Once deployed, the DTP will appear under the **"APP"** section on the frontend.

<figure><img src="/files/v47TkruWZfbVU613F4DH" alt=""><figcaption></figcaption></figure>


# Create BOD

To begin, you need to create a BOD, co-sign it with an Operator, and deploy a smart contract (which is a representation of the state of the BOD on the Ethereum blockchain) by following these steps (it is recommended that you use the OKX wallet as you need to connect both a BTC and ETH wallet):

1. Click on “Stake & Earn” button on the homepage or on the “Create BOD” button on the Discover BOD Operators. Alternatively, connect to an ETH wallet to reveal the “My Stakes” Dashboard, and click on “Create BOD” button on the dashboard.

<figure><img src="/files/dnM8X61dRtAVrUOVDcjE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/wYz6hW5VVolNPbqqcNNK" alt=""><figcaption></figcaption></figure>

2. On the “Create a BOD” form, connect to a Bitcoin wallet (i.e. OKX Wallet), sign request and choose an operator from the dropdown list, then confirm. On the same form, you can also click on “Read more about Operators” link to find a list of available Operators. You can also “Skip this, I want to use an existing BOD I already own” and skip directly to staking

<figure><img src="/files/bPBP6Tu4zighfdiWLjlh" alt=""><figcaption></figcaption></figure>

3. In the background, a multisig wallet (BOD) is created and signed by both you and the Operator. A transaction request will be presented. Sign and pay the gas fee for the smart contract deployment by using an ETH wallet.

<figure><img src="/files/BtUs1MRYxFv8J0NpcDOJ" alt=""><figcaption></figcaption></figure>

4. Once the BOD has been successfully created, you should receive a confirmation dialog. Check the dashboard by going to the “Staked Assets” tab in the “My Stakes” Dashboard, and in the section “Delegated BODs” you should find the BOD you just created. Congratulations! You are now officially a BOD owners.

<figure><img src="/files/cEW6bgRKCKAVPoia48h9" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/CyizNnlzOQpgqlDqVCoY" alt=""><figcaption></figcaption></figure>


# Deposit

Next, you need fund the BOD.

1. After successful creation of a BOD, you should be automatically presented with the “Deposit BTC” form. If not, go to the dashboard and click on “Fund BOD” button, select the BOD you wish to fund then confirm.

<figure><img src="/files/A8ENp0TuqDQmcdfqoP4k" alt=""><figcaption></figcaption></figure>

2. On the “Deposit BTC” form, enter the amount of BTC you wish to deposit and confirm. Sign the transaction and wait for confirmation that the deposit request has been sent out. You can click on the provided to check on the status of the deposit on the Bitcoin blockchain.

<figure><img src="/files/xSzj1nRdarl525hu3Yv0" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/k6d5Pgh0kDT4pLvodMeO" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/EfnkApUVIbnD0pxtUfEB" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/91758PoCuFvSR0CB9TS2" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ibJ8xDqNIS5HUYKibxJV" alt=""><figcaption></figcaption></figure>

3. The Operator with be notified to watch for the deposit. Once the deposit has been verified, the Operator will confirm the deposit as completed. This may not happen right away due to many factors, so please be patient and keep the page open, and if you accidentally close the page or lose connection, refresh the dashboard and go to the “Staked Assets” tab in the and find the section “Undelegated BODs”. Check to see that there are available BODs with non-zero balances and click on the “Delegate” button. If you had just made a deposit, the system may not have finished confirming the deposit yet as BTC transactions can take up to 20 minutes or more.

<figure><img src="/files/GYRVFBj8GPvdOaoIZxHz" alt=""><figcaption></figcaption></figure>


# Delegate & Remap

To start earning yields from a DeFi App, follow these steps:

1. Connect using the same wallet that was used to create the BOD as the request can only be initiated by the BOD owner
2. Go to the “Staked Assets” tab in the “My Stakes” Dashboard and find the section “Undelegated BODs”
3. Check to see that there are available BODs with non-zero balances and click on the “Delegate” button. If you had just made a deposit, the system may not have finished confirming the deposit yet as BTC transactions can take up to 20 minutes or more.
4. Choose an App from the list and confirm

<figure><img src="/files/w5okHewD5OPgSnA3XunU" alt=""><figcaption></figcaption></figure>

5. Sign the transaction request for delegation

<figure><img src="/files/h06ddnQkU0pYP3sJbWtk" alt=""><figcaption></figcaption></figure>

7. Alternatively view the list of Apps and read about each one at [bitdsm.org/apps](http://bitdsm.org/apps) (links on the home page) and delegate directly by clicking on “Delegate” button and sign any transaction request for delegation
8. Wait for the delegation request to complete. You should see a confirmation dialog and the delegated BOD under “Staked Assets” tab in the “My Stakes” Dashboard in the section “Delegated BODs” with pertinent information, as well as under the “Recent Transaction” tab.

<figure><img src="/files/az9JPtdzcnGPvTjgyoAX" alt=""><figcaption></figcaption></figure>


# How to redeem DTP

DTPs can be redeemed in less than 3 bitcoin blocks. If all issuer conditions are met, user will:

1. Undelegate the BOD from the DTP contract
2. Withdraw


# Undelegate

If you have delegated funds in a BOD you own to an App and you want to delegate them to another App, or to withdraw the funds altogether, follow these steps:

1. Connect using the same wallet that was used to create the BOD as the request can only be initiated by the BOD owner
2. Go to the “Staked Assets” tab in the “My Stakes” Dashboard, and find the section “Delegated BODs”
3. Check to see that there are available BODs and click on the “Undelegate” button

<figure><img src="/files/PhlNZaRLNRfwlLiB8Ufg" alt=""><figcaption></figcaption></figure>

4. Check the message presented by the App and sign the transaction

<figure><img src="/files/eVG5a7vKo56cePSvQdcs" alt=""><figcaption></figcaption></figure>

5. Once the Undelegation has been completed, the “Pending Unlocking” column in the dashboard should show a zero balance

<figure><img src="/files/eaWqnVCAn7L7bWJwXWg7" alt=""><figcaption></figcaption></figure>

6. You are now free to either 1) Remap the BOD to another App OR 2) Initiate a Withdraw Request

Note: Before undelegating a BOD, please check the “Pending Unlocking” column to make sure there isn’t already a undelegation request. Also the delegated App could have placed a lock on the BOD, and an attempt to undelegate without clearing that lock will likely result in failure (ex. you have liquid token that was not returned to the App). If you receive an error message, read the message carefully and resolve any issue with the App maker.


# Withdraw

To withdraw, or liquidate the funds from a BOD you own, start by initiating a Withdraw Request by following these steps:

1. Connect using the same wallet that was used to create the BOD as the request can only be initiated by the BOD owner
2. Go to the “Staked Assets” tab in the “My Stakes” Dashboard and find the section “Undelegated BODs”
3. Check to see that there are undelegated BODs and click on the “Withdraw” button

<figure><img src="/files/vu2UuzYhsa8L3OxxpfSQ" alt=""><figcaption></figcaption></figure>

4. In the “Withdraw” form, select the BOD you want to liquidate

<figure><img src="/files/yqVe99BnjotLcxqbhTgm" alt=""><figcaption></figcaption></figure>

5. Enter a Bitcoin wallet address you wish for the fund to be sent to, or check the box “Send fund to depositor address (0x….)” (In the example shown, the funds are sent back to the original depositor wallet address)
6. The system will send out a request to the Operator to sign for the withdrawal. The operator is expected to perform this action without delay. After the operator signs the withdrawal request, the final step left is for you the BOD owner to sign. if you had pre-signed the transaction, no further action will be required. Please see 'Pre-signed Transaction" section below for more details.

<figure><img src="/files/wifklt6t60GofxXYMBVd" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/tUgTXbIUZibJGiwQFmXs" alt=""><figcaption></figcaption></figure>

On the Dashboard, the “Pending Withdrawal” column will reflect the status of the withdrawal with the following states: “Waiting for operator”, "Waiting for user", and a non-zero balance. You can also check the status on Bitcoin blockchain by going to the link provided

7. \[Manual Step] If you receive an error during Step 6, you may be presented with option to sign the withdrawal transaction manually. Copy the PBST hash and sign it in a Bitcoin wallet (i.e. Electrum) that supports PBST signing.
8. A confirmation dialog will be presented with the URL to check the status of the Bitcoin transaction. Save the URL. Once BitDSM receives the final confirmation, the BOD will disappear from the Dashboard and the withdrawal transaction will appear under the “Recent Transactions” tab. Please read “Confirmation” section.

Note: In order for a BOD to be eligible for withdrawal requests, it must not already:

* have a pending withdrawal request - Allow the withdrawal request to finish
* be delegated to an App - Undelegate the BOD
* be in the locked state - Get the app maker to release the lock
* have no balance to withdraw

**Pre-signed Transaction**

If you were presented with the option to pre-sign the withdraw transaction during the initial setup of the BOD, and you have opted for “Send fund to depositor address (0x….)” on the “Initiate Withdraw Request” form, then you do not need to follow the preceding steps 1-5. After the Operator signs the transaction, the funds in the BOD will be automatically sent to the pre-signed address.

**Confirmation**

After completing Step 5, a confirmation dialog will be presented with the URL for you to check the status of the Bitcoin transaction. Save the URL. The status will change to either a non-zero balance representing the amount to be withdrawan, or “Waiting for on-chain”. Once BitDSM receives the final confirmation, the BOD will disappear from the Dashboard and the withdrawal transaction will appear under the “Recent Transactions” tab.


# Intuition

The whole architecture is geared towards achieving 2 actions on-chain:

1. **Map** a bitcoin address to a BitcoinPod contract
2. **Remap** the value of bitcoin to an application in the AppRegistry

<figure><img src="/files/QBeBshyofFreoTNrnsHI" alt=""><figcaption></figcaption></figure>

This design eliminates the need for custodial intermediaries and bridges, addressing long-standing challenges in Bitcoin integration. Intuitively, BitcoinPod can be deployed on other chains as well directly, making it a multi-chain remap. Though BitDSM only support Ethereum L1 at the moment.&#x20;

## Flexibility for Customisation

BitDSM provides unparalleled flexibility by not enforcing a specific Bitcoin script, validation mechanism, or slashing condition. Instead, it empowers applications to define their own custom verification logic tailored to their unique requirements. This design allows users to carefully evaluate and choose their preferred level of risk exposure before deciding to remap their Bitcoin to specific applications. By enabling this customizable approach, BitDSM ensures that both users and applications have the freedom to align security and functionality with their needs.


# What is in-kind remap?

In traditional finance, **"in-kind"** refers to the transfer, payment, or settlement of assets in their **original form** rather than converting them into cash or another medium. It emphasises preserving the **nature** of the asset being exchanged. In ETF vocabulary, in-kind redemptions allows authorised participants to redeem shares in-kind rather than in cash.&#x20;

BitDSM is an on-chain effort to allow BTC stakers create and redeem their stake "in-kind" and put it to use in Ethereum's playground, without minting another asset.&#x20;

The table below outlines similarities between in-kind shares and in-kind remap.&#x20;

| Feature           | In-Kind shares                                | In-Kind Remap                                               |
| ----------------- | --------------------------------------------- | ----------------------------------------------------------- |
| Mechanism         | Transfer of ETF shares for Native assets      | Non-custodial redirection of asset control, aka, delegation |
| Tax implications  | Avoid liquidations. Minimising tax event.     | Remaps native bitcoin. Avoids conversion to a new asset     |
| Redemptions       | Orders redemptions via authorized participant | self-created/redeeemed. No intermediaries.                  |
| Applicability     | ETF share redemption for underlying asset     | Remap can be redeemed for underlying asset/stake            |
| Counterparty Risk | Funds remain with custodian                   | Funds remain with custodian                                 |


# In-kind vs wrapped

In-kind Bitcoin delegation represents a paradigm shift from traditional wrapped solutions. Unlike wrapped Bitcoin, which requires locking native Bitcoin in a centralized or semi-centralized custodian to issue a synthetic token for cross-chain interactions, in-kind delegation ensures that users retain full control of their Bitcoin. This approach eliminates the need for trusting bridges for a peg-out and reduces vulnerabilities associated with smart contract exploits or custodial risks.

| Feature                 | In-kind                                                             | Wrapped                                           |
| ----------------------- | ------------------------------------------------------------------- | ------------------------------------------------- |
| Bitcoin Ownership       | User retains full control of the asset                              | Peg-out is processed by a custodian               |
| Cross-chain flexibility | Direct delegation via BitcoinPods                                   | Requires rewrapping or conversion for cross chain |
| Security Model          | Bonded security                                                     | Trusted custodian                                 |
| Decentralisation        | Permissionless. Anyone can deploy a BitcoinPod and join the system. | Single entity responsible for mint/burn.          |


# Contract Architecture

**BitcoinPodManager.sol**

This contract is the entry point for the client for all actions related to BitcoinPod, aka BOD. This contract:&#x20;

1. Deploys the BOD
2. Handles bitcoin deposit/withdrawal requests
3. Interacts with the service manager&#x20;
4. Delegates to Apps

**BitcoinPod.sol**

This is a unique contract deployed everytime for a new bitcoin address created a BOD. This contract:&#x20;

1. Maps a Bitcoin address to an Ethereum address
2. Tracks Bitcoin balances in the BOD
3. Delegates to apps via `BitcoinPodManager.sol`
4. Manages bitcoin transaction storage

**BitDSMRegistry.sol**

1. Handles operator's registration/deregistration
2. Stores a mapping for operator's bitcoin pubkey

**AppRegistry.sol**

This is the entrypoint for Apps to gain access to in-kind Bitcoin. This contract&#x20;

1. Maintains a mapping of the contract address for the app and the BODs delegated to it.

**BitDSMServiceManager.sol**

This is the AVS service manager contract deployed on Eigenlayer's `AVSDirectory.sol`. This contract:

1. Manages Bitcoin pod operations through `IBitcoinPodManager`
2. Handles deposit/withdrawal confirmations from operators
3. Integrates with EigenLayer for staking and delegation


# BitcoinPod Overview

aka BOD

The remap is enabled by `BitcoinPod.sol`, a smart contract managed by the user along with the Operator of Eigenlayer/BitDSM. It is a direct mapping of a Bitcoin Address on Ethereum, representated as a smart contract. This does not mint an ERC-20 but instead stores the value as `bitcoinBalance` inside the contract.

```solidity
contract BitcoinPod is IBitcoinPod, OwnableUpgradeable {
    address public operator;
    bytes public operatorBtcPubKey;
    bytes public bitcoinAddress;
    uint256 public bitcoinBalance;
    bool public locked;
    address public immutable manager;
    bytes public signedBitcoinWithdrawTransaction;
```

A BitcoinPod contract is:

1. Non-transferable: Change of ownership of the BOD is not permitted.
2. Non-fungible: Only full value delegation is permissible.
3. Unique: A dedicated bitcoinpod contract deployed for each bitcoin address. Multiple bitcoin addresses cannot be mapped to a single bitcoinpod contract.&#x20;
4. Stateful or stateless: Bitcoin address mapped to a bitcoinpod contract can either hold the funds or act as a pass through address.&#x20;

As a client, you need to choose an operator to create a bitcoin address before you can deploy the BOD. The bitcoin address is created off-chain and later verified on chain to ensure the operator is part of the signing script.&#x20;

The address verification happens before BitcoinPod contract is deployed to ensure only eligible bitcoin addresses are mapped.

```solidity
function createPod(address operator, string memory btcAddress, bytes calldata scipt)                   
        external 
        whenNotPaused 
        nonReentrant
        returns (address)
    {
        require(_userToPod[msg.sender] == address(0), "User already has a pod");
        require(IBitDSMRegistry(_bitDSMRegistry).isOperatorBtcKeyRegistered(operator), "Invalid operator");
        
        bytes memory operatorBtcPubKey = IBitDSMRegistry(_bitDSMRegistry).getOperatorBtcPublicKey(operator);
       // console.logBytes(operatorBtcPubKey);
        // verify the btc address
        // try catch block to handle the error
        try IBitDSMServiceManager(_bitDSMServiceManager).verifyBTCAddress(btcAddress, scipt, operatorBtcPubKey) returns (bool isBtcAddress) {
            console.log("isBtcAddress", isBtcAddress);
        } catch (bytes memory reason) {
            console.log("Error verifying BTC address");
            console.logBytes(reason);
        }
       // console.log("isBtcAddress", isBtcAddress);
       // emit BTCAddressVerified(operator, btcAddress);
        // create the pod
        BitcoinPod newPod = new BitcoinPod(address(this));
        newPod.initialize(msg.sender, operator, operatorBtcPubKey, btcAddress);
        // increment the total pods
        _totalPods++;
        // set the user to pod mapping
        _setUserPod(msg.sender, address(newPod));
        
        emit PodCreated(msg.sender, address(newPod), operator);
        // return the pod address
        return address(newPod);
```


# Stateless vs Stateful

BitcoinPods can function in 2 modes:&#x20;

1. A **stateful** BitcoinPod holds funds directly within the Bitcoin address deployed as the BOD, ensuring native control. Applications can enforce custom bitcoin scripts for deploying the BitcoinPod as well as arbitrary valiation logic, making it a playground for financial applications like staking, lending, stablecoin, prediction markets and others.&#x20;
2. A **stateless** BitcoinPod operates more like EigenPods, where the funds are staked in an external protocol but are locked to the BitcoinPod address as the designated withdrawal destination. The funds are not directly within the BOD address during staking but become accessible to it only at the time of unbonding. This mode introduces additional flexibility by enabling interactions with staking protocols while preserving accountability of the BOD as the final authority on fund access. This enables native restaking for AVSs on Eigenlayer.&#x20;


# Restaking remap

A bitcoin address mapped to a stateless BitcoinPod(BOD) serves as the withdrawal credential for a staked validator on a different protocol.&#x20;

In this setup, the stateless BOD acts as a bridge for delegation, ensuring that the Bitcoin remains locked in the original protocol while enabling native restaking. This approach allows users to maximize the utility of their staked assets, enabling participation in multiple protocols simultaneously.

<figure><img src="/files/0MNjs3PT5h7hlXnCEzl6" alt=""><figcaption></figcaption></figure>


