@0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f
│ ├─ [10701] 0x4300000000000000000000000000000000000002::configureClaimableYield()
│ │ ├─ [5690] 0xc0D3C0d3c0d3C0d3c0D3c0D3C0D3C0D3C3d30002::configureClaimableYield() [delegatecall]
│ │ │ ├─ [0] 0x0000000000000000000000000000000000000100::configure(0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f, 2)
│ │ │ │ └─ ← [Stop]
│ │ │ └─ ← [Revert] EvmError: Revert
│ │ └─ ← [Revert] EvmError: Revert
│ └─ ← [Revert] 0 bytes of code
└─ ← [Revert] EvmError: Revert
Suite result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 1.35s (0.00ns CPU time)
```
## Workaround
The current workaround for this issue is to deploy a mock version of the `Yield` predeploy to `0x0000000000000000000000000000000000000100` within the local environment. This `YieldMock` contract doesn't need to fully implement the `Yield` precompile; it simply needs to satisfy the `IYield` interface so that calls to it do not revert.
The following is an example of a minimal YieldMock contract that satisfies the `IYield` interface.
```solidity
interface IYield {
function configure(address contractAddress, uint8 flags) external returns (uint256);
function claim(address contractAddress, address recipientOfYield, uint256 desiredAmount) external returns (uint256);
function getClaimableAmount(address contractAddress) external view returns (uint256);
function getConfiguration(address contractAddress) external view returns (uint8);
}
contract YieldMock is IYield {
mapping(address => uint8) public getConfiguration;
function configure(address contractAddress, uint8 flags) external returns (uint256) {
return 0;
}
function claim(address, address, uint256) external pure returns (uint256) {
return 0;
}
function getClaimableAmount(address) external pure returns (uint256) {
return 0;
}
}
```
### Foundry
Using Foundry, you can deploy bytecode to an arbitrary address using the [`vm.etch` cheatcode](https://book.getfoundry.sh/cheatcodes/etch#using-vmetch-for-enabling-custom-precompiles).
```solidity
address constant YIELD_CONTRACT = 0x0000000000000000000000000000000000000100;
// 1. Deploy an instance of `YieldMock` as you would any other contract.
YieldMock yieldMock = new YieldMock();
// 2. Cache the bytecode that was just deployed.
bytes memory code = address(yieldMock).code;
// 3. Use `vm.etch` to set the bytecode at `YIELD_CONTRACT`
vm.etch(YIELD_CONTRACT, code);
```
This method works for both testing and running scripts against Blast. This issue occurs when using `forge script`, because Foundry attempts local and forked simulations before broadcasting any transactions.
The `--skip-simulation` flag can be used to opt out of forked simulations, but local simulation cannot be skipped.
When using `vm.etch` with `forge script`, ensure that you are not calling `vm.etch` in any code that will be broadcasted.
### Hardhat
Builders using Hardhat can use the same approach with the Hardhat node's [`hardhat_setCode` RPC method](https://hardhat.org/hardhat-network/docs/reference#hardhat_setcode). Just like `vm.etch`, this method allows us to set the bytecode at an arbitrary address.
```typescript
const YIELD_CONTRACT = "0x0000000000000000000000000000000000000100";
// 1. Deploy an instance of `YieldMock` as you would any other contract.
const YieldMock = await hre.ethers.getContractFactory("YieldMock");
const yieldMock = await YieldMock.deploy();
// 2. Cache the bytecode that was just deployed.
const code = await hre.ethers.provider.getCode(await yieldMock.getAddress())
// 3. Use `hardhat_setCode` to set the bytecode at `YIELD_CONTRACT`
// YIELD_CONTRACT = 0x0000000000000000000000000000000000000100
await hre.ethers.provider.send("hardhat_setCode", [YIELD_CONTRACT, code]);
```
# Transaction Finality
Source: https://metalayerlabs.mintlify.app/building/transaction-finality
The status of transactions on Blast varies based on where they are in the process of being included in the blockchain.
# Pending
**Instant after being sent to Sequencer**
Right after being sent to the Sequencer, a transaction is categorized as "pending" until it gets included in a block. This initial status indicates that the transaction hasn't become part of the blockchain yet, and there's no assurance of its inclusion.
To obtain a list of all pending transactions, you can use the standard JSON-RPC method `eth_getBlockByNumber` with the block number parameter set to `pending`.
# Sequencer Confirmed / Unsafe
**Typically within 2-4 seconds**
A transaction is labeled as "sequencer confirmed" or "unsafe" once it's been included in a block by the Sequencer, but that block hasn't been published to Ethereum yet. Despite being in a block, there's still a chance for the transaction to be excluded from the final blockchain if the Sequencer doesn't publish the block promptly. Applications should be mindful of this possibility when presenting information about transactions in this state.
To obtain the latest "sequencer confirmed" block, use the standard JSON-RPC method `eth_getBlockByNumber` with the block number parameter set to `safe`. Compare this with the result returned for the `latest` block. If the `safe` block lags behind the `latest` block, the earliest "sequencer confirmed" block is the `safe` block plus one.
# Published to Ethereum / Safe
**Typically within 5-10 minutes, up to 24 hours**
A transaction is deemed "safe" when it has been included in a block by the Sequencer, and that block has been published to Ethereum, but that block is not yet finalized. Once a block is published to Ethereum, there is a high likelihood of it being included in the final blockchain. However, there is still a possibility of a re-org.
To get the latest "safe" block, use the standard JSON-RPC method `eth_getBlockByNumber` with the block number parameter set to `safe`.
Transactions usually become "safe" status within a few minutes of being "sequencer confirmed."
# Finalized
**Typically within 15-20 minutes, up to 24 hours**
A transaction is "finalized" when it has been included in a block by the Sequencer, that block has been published to Ethereum, and that block has been finalized.
The latest "finalized" block can be retrieved by calling the standard JSON-RPC method `eth_getBlockByNumber` with the parameter `finalized` as the block number.
# Governance
Source: https://metalayerlabs.mintlify.app/governance
# Bylaws
### 1. Bylaws Adopted
These bylaws are adopted on the June 25, 2024 (the “**Effective Date**” pursuant to a directors' resolution by the directors of the Blast Foundation (the “**Foundation**”) in accordance with the Foundation Articles. Capitalized terms used but not otherwise defined herein shall have the meanings ascribed to such terms in the Foundation Articles.
### 2. Governance Tools
Tokenholders have certain tools at their disposal to encourage the proposal, discussion, and participation in the Blast Network and Foundation governance. The following are the governance tools available to Tokenholders and other Blast Network participants at the time of the adoption of these Bylaws. Note that these governance tools may change over time as Blast Network and Foundation governance evolves, and any such updates will be communicated through the Foundation’s publicly available channels of communication:
* Proof of Wealth (“**POW**”) is a mobile application available on [Blast Mobile](mobile/overview) where Blast community members can present, review, and discuss governance proposals through posts and live chat.
* [Blast Foundation Proposal Template](#blip-template) provides Tokenholders with a template to craft governance proposals in accordance with these Bylaws (the “**BLIP Template**”).
* Blast Foundation Snapshot available at [https://snapshot.org/#/blastfoundation.eth](https://snapshot.org/#/blastfoundation.eth) (the “**Foundation Snapshot**”) allows Tokenholders to vote on governance proposals.
### 3. Definitions
- **“BLIP”** means a Blast Improvement Proposal, which is a proposal put forth by a Tokenholder to a vote by all Tokenholders in accordance with the BLIP Process.
- **“BLIP Process”** means the rules and procedures of submitting and voting on BLIPs as described in Section 5 and Section 6, as applicable, herein.
- **“Blast Network”** or **“Blast”** means the series of smart contracts that create the layer-two blockchain scaling solution known as **“Blast”** (the **“Layer-Two Network”**) and permits users to transact on the Layer-Two Network, including, but not limited to, bridge to and from Ethereum mainnet to the Layer-Two Network.
- **"Bylaws"** means these bylaws of the Foundation as may be amended from time to time in accordance with the Foundation Articles.
- **"Cayman Law"** means the rules, regulations and laws of the Cayman Islands, including as they are modified, from time to time.
- **“Foundation Articles”** means the Memorandum and Articles of Association of the Foundation (as may be amended from time to time).
- **"Foundation Director(s)"** means the director(s) of the Foundation, which have certain powers and duties pursuant to Cayman Law and as further described in the Foundation Articles.
- **"Foundation Supervisor"** means the supervisor of the Foundation, which has certain powers and duties pursuant to Cayman Law and as further described in the Foundation Articles.
- **“Moderator(s)”** means an individual(s) engaged by the Foundation to, among other things, assist with the governance processes set forth herein.
- **“Quorum Requirements”** means at least six billion (6,000,000,000) Tokens are cast in the applicable vote.
- **“Token”** means the native token governing the Blast Network, known as \$BLAST and as identified by the following smart contract address on the Blast Network: [0xb1a5700fA2358173Fe465e6eA4Ff52E36e88E2ad](https://blastscan.io/token/0xb1a5700fA2358173Fe465e6eA4Ff52E36e88E2ad).
- **“Tokenholder(s)”** means the holder(s) of the Token from time to time, or individuals who have been delegated Tokens, as evidenced by the Blast Network.
### 4. Tokenholder BLIP Categories
Pursuant to these Bylaws, Tokenholders may propose, and vote on BLIPs subject to, and in accordance with, the BLIP Process to:
* Make adjustments to the following parameters of the Blast Network:
* General risk management frameworks.
* USDB-backing composition.
* ETH liquid staking providers.
* Fees on ETH yield.
* Fees on USDB yield.
* Gas fee accrual.
* Creation of a reserve fund.
* Yield distribution allocation between ETH, USDB and the reserve fund.
* Appoint and remove members of the Progress Council.
* Increase the number of members of the Progress Council.
* Make changes to the inflation adjustment, provided however, that no such changes shall take effect on the date prior to the date that is four (4) years from the date of the public launch of the Token.
* Consent to any proposed changes to the Foundation's Articles which only to the extent that such proposed changes adversely affect in a material way the rights or powers conferred on the Tokenholders under the Foundation's Articles.
* Consent to any proposed changes to these Bylaws only to the extent that such proposed changes which adversely affect in a material way the rights or powers conferred on the Tokenholders under these Bylaws.
* Approve any other action in accordance with successful BLIPs.
The results of any Tokenholder votes and the approval of any BLIPs shall be taken under advisement by the Foundation so long as they fall within the Foundation’s power to effectuate the same, provided that the Foundation shall not be obligated to effectuate the results of the same. Tokenholders are encouraged to submit proposals, send and seek feedback, and fine-tune proposals prior to ultimate submission in accordance with the requirements and procedures described in Section 6 herein.
### 5. Tokenholder BLIPs
Any Tokenholder who wishes to submit a BLIP for Foundation consideration is required to comply with the following:
- *Phase One - Research and Community Feedback*
- Any Tokenholder who wishes to submit a BLIP (“**Tokenholder BLIP**”) to the Foundation shall first post a draft of the proposed TBLIP on POW for review by the Blast community. The draft TBLIP should be reviewed and discussed by the Blast community for a period of no less than seven (7) calendar days (the “**Community Feedback Period**”). The TBLIP shall be in the form of the BLIP Template.
- *Phase Two - Progress Council Review*
- After the expiration of the Community Feedback Period, the Tokenholder shall (1) update the draft TBLIP as necessary to incorporate community feedback and (2) post the draft TBLIP for Progress Council review via POW. The Progress Council will review Submitted TBLIPs every other Friday. TBLIPs submitted by Tokenholders who are delegated less than 2,000,000 Tokens will not be considered by the Progress Council.
- In reviewing Submitted TBLIPs, the Progress Council may (1) allow the Submitted TBLIP to progress to Phase Three; (2) direct the Tokenholder(s) who submitted the TBLIP to provide additional information or update the Submitted TBLIP; or (3) reject the Submitted TBLIP in accordance with the following paragraph. These decisions will be communicated in discussions on POW.
- The Progress Council may choose to reject the Submitted TBLIP if, in consultation with legal counsel, it is determined that the Submitted TBLIP is not safe, not secure, or not consistent with the purposes of the Foundation or may not be capable of being implemented in a legally compliant manner. For the Progress Council to successfully veto a Submitted TBLIP, a majority of the members of the Progress Council must vote in favor of the veto.
- *Phase Three - Snapshot Voting*
- After review and approval of the Submitted TBLIP by the Progress Council, the Submitted TBLIP will be added to the Foundation Snapshot, at which point the Submitted TBLIP becomes a “**Live BLIP**.”
- Once live on Snapshot, the Live BLIP will be open to voting until the voting period closes, which is seven (7) calendar days later (the “**Voting Period**”). To confirm that each Tokenholder BLIP has gone through the appropriate approval processes set forth herein, Moderators are the only persons who can post Submitted TBLIPs to the Snapshot.
- One (1) Token is equal to one (1) vote on any Live BLIP. The voting options for any Live BLIP shall be “**In favor**,” “**Against**,” and “**Abstain**.”
- Live BLIPs that (1) satisfy the Quorum Requirements and (2) receive a majority of the votes cast in favor of it shall be considered to be “**Approved Tokenholder BLIPs**.” A Live BLIP that either (i) does not meet the Quorum Requirements or (ii) meets the Quorum Requirements but fails to receive a majority of votes cast in favor of it shall be considered a “**Failed Tokenholder BLIP**”.
- Approved Tokenholder BLIPs will move to Phase 4. Failed Tokenholder BLIPs may be resubmitted for Foundation consideration only after sixty (60) days have elapsed from the date the Tokenholder BLIP was considered to be a Failed Tokenholder BLIP.
- *Phase Four - Implementation*
- Subject to Section (ii) below, Approved Tokenholder BLIPs shall be taken under advisement by the Foundation and so long as they fall within the Foundation’s power to effectuate, shall be considered for implementation by the Foundation in a commercially reasonable time and manner.
- If, following the approval of a BLIP by the Tokenholders in accordance with the BLIP Process, a majority of the Foundation Director(s) acting in the best interests of the Foundation reasonably determine(s) that such BLIP, if implemented, would:
- Compromise the Foundation Director(s’) fiduciary duties as they are owed to the Foundation.
- Be in violation of any part of these Bylaws or the Foundation Articles, the BLIP Process, any statutory requirements of Cayman Law or the laws or regulations of any other applicable jurisdiction.
- Cause the Foundation to be in breach of any contracts, agreements or any other arrangements.
- Be against the best interests of the Foundation or the Blast Network.
Such Foundation Director(s) may direct the Progress Council to take such other steps as are required to amend, augment, reject or remediate the enactment of such BLIP.
### 6. Progress Council BLIPs
Any member of the Progress Council who wishes to submit a BLIP for Foundation consideration shall comply with the following:
- *Phase One - Progress Council Review and Vote*
- Any member of the Progress Council can submit a BLIP (a “**Progress Council BLIP**”) to the other members of the Progress Council by posting in POW. The Progress Council BLIP shall be in the form of the BLIP Template.
- Within seven (7) calendar days of the Progress Council BLIP being posted, the Progress Council shall review and vote on it. A majority of the members of the Progress Council are required to vote in favor of the Progress Council BLIP for it to be approved (an “**Approved Progress Council BLIP**”).
- In the event there are less than five (5) members on the Progress Council at any time, any Progress Council BLIP shall require at least a majority of the seats then filled to vote in favor to become an Approved Progress Council BLIP. In the event there is a tie, the Progress Council BLIP may be approved by the Foundation Director(s) in which case it shall move to Phase Two, immediately below.
- *Phase Two - Tokenholder Veto*
- Within three (3) calendar days of passing an Approved Progress Council BLIP, a Moderator shall post the Approved Progress Council BLIP on the Foundation Snapshot with the “**veto**” option. If (i) the Quorum Requirements on the applicable veto vote are satisfied and (ii) more than a majority of the votes cast are in favor of vetoing the Approved Progress Council BLIP, the proposal will not be enacted. The veto period shall be seven (7) calendar days from the posting of the Approved Progress Council BLIP (the “**Veto Period**”).
- *Phase Three - Implementation*
- Subject to Section (ii) below, Approved Progress Council BLIPs that have not otherwise been vetoed during the Veto Period will be implemented by the Foundation in a commercially reasonable time and manner.
- If, following the approval of a BLIP by the Progress Council in accordance with the BLIP Process, a majority of the Foundation Director(s) acting in the best interests of the Foundation reasonably determine(s) that such BLIP, if implemented, would:
- Compromise the Foundation Director(s’) fiduciary duties as they are owed to the Foundation.
- Be in violation of any part of the Governance Documentation, the BLIP Process, any statutory requirements of Cayman Law or the laws or regulations of any other applicable jurisdiction.
- Cause the Foundation to be in breach of any contracts, agreements or any other arrangements.
- Be against the best interests of the Foundation or the Blast.
Such Foundation Director(s) may take such other steps as are required to amend, augment, reject or remediate the enactment of such BLIP.
### 7. Progress Council
- The Progress Council (the “**Progress Council**”) is tasked with serving as a steward for the Tokenholders and for providing oversight of the Foundation on behalf of the Tokenholders.
- Initially, the Progress Council shall be made-up of five (5) seats. Those seats will initially be filled by five (5) individuals appointed by the Foundation Director(s). At all times, one (1) seat shall be filled by an individual appointed by the Foundation Director(s) to serve as a representative of the Foundation (the “**Foundation Nominee**” and the other members, the “**Tokenholder Nominees**”).
- The Blast Foundation Progress Council members are each paid \$50,000, on an annual basis. The Blast Foundation feels that this amount represents a fair fee for the time and dedication that each member is providing to the Blast Foundation and the Blast ecosystem.
- Tokenholders may vote to remove a Tokenholder Nominee through, and subject to, the BLIP Process outlined in Section 5 herein. If, at any time, one or several Tokenholder Nominee members are removed in accordance with this Section 7(d), such that a vacancy exists on the Progress Council, the Foundation Director(s) shall, acting in the best interests of the Foundation, have the authority to nominate and appoint replacement members to the Progress Council who shall serve as Tokenholder Nominees until such time as they resign or are otherwise removed by Tokenholders subject to a BLIP.
- Members of the Progress Council may resign at any time by providing written notice to the Foundation Director(s). In such an event, the remaining members of the Progress Council shall identify an individual to fill the vacant seat and then shall put forth a Progress Council BLIP (in accordance with Section 6) nominating such individual.
- If no Tokenholder BLIP is made to nominate a new Progress Council member, or to remove an existing Progress Council member, then the existing Progress Council members shall continue their service until such time as they resign or are removed or voted out by the Tokenholders pursuant to the BLIP Process.
- All members of the Progress Council will be required to pass a screening process before being added to the Progress Council. This process may include KYC/AML obligations, sanctions screening or other obligations as may be required under Cayman Law from time to time, and a requirement that the member sign a standard contract, which will be implemented at the discretion of the Foundation.
### 8. Safety Committee
- The Safety Committee is a committee of five (5) members who appointed by the Foundation Directors and who are signers of a multi-sig wallet, which has powers to perform certain Emergency Actions as set forth herein (the “**Safety Committee**”).
- The Safety Committee has the power to (i) execute any software upgrade or perform other required actions with no delay in order to respond to a security emergency, should one arise without specific governance approvals or (ii) veto any Approved Tokenholder BLIP or Approved Progress Council BLIP (such actions, "**Emergency Actions**"). Performing any Emergency Action requires a majority approval from the Safety Committee. The Safety Committee must not use its power to perform Emergency Actions except in a true security emergency, such as a critical vulnerability.
- After performing any Emergency Action, the Safety Committee shall in reasonable time and course, depending on the facts and circumstances of the Emergency Action, including the time that has elapsed, and in reasonable consultation with Foundation’s legal counsel, issue a transparency report to explain what actions were taken and why such Emergency Action was justified.
- The Foundation Director(s), in consultation with Foundation’s legal counsel, are able to curtail or eliminate the Safety Committee’s power to perform Emergency Actions.
### 9. Governance Administration
- The Foundation will facilitate the administration of the governance procedures described in these Bylaws with the aim of ensuring that the Tokenholders may participate thoughtfully in governance. Such administrative services may include:
- Moderation of governance proposals to ensure they are validly submitted and voted upon.
- Removal of proposals that reasonably appear to be fraudulent, spam-oriented, defamatory, hateful, or otherwise inappropriate or inconsistent with the values of the Foundation.
- Monitoring of votes, voting power, and voting periods for purposes of determining whether quorums and approval thresholds are met or accurately reflected;
- Management of mutually contradictory proposals that are submitted simultaneously or in close proximity to one another.
- Administration of network maintenance, such as emergency bug fixes or release rollbacks (with or without a governance vote).
- Such other things as the Foundation deems appropriate in connection with the above.
- Subject to applicable law, the Foundation Articles and these Bylaws, the Foundation Director(s) will take any Approved Tokenholder BLIP or Approved Progress Council BLIP under advisement and, to the extent they desire to adopt such vote, are authorized to take any actions reasonably necessary on behalf of the Foundation to give effect to an Approved Tokenholder BLIP or Approved Progress Council BLIP including passing any director resolutions to memorialize such Approved Tokenholder BLIP or Approved Progress Council BLIP; provided that any Foundation Director may veto a proposal or place such limitations on its observation and implementation a Foundation Director in its discretion, deems necessary or appropriate to:
- Ensure compliance with any applicable law or regulation of any jurisdiction.
- Ensure that the Foundation acts in accordance with the Foundation Articles and these Bylaws.
- To prevent any harm (including reputational harm) to the Foundation.
### 10. Blast Foundation & Contributors
- The Tokenholders are represented by the Foundation, which represent the Tokenholders' interests in connection with contractual and legal processes, including regulatory compliance and those other matters set forth in the Foundation Articles.
- The Blast Foundation has engaged with certain third parties to provide services as the Foundation Director(s), as required by Cayman Law. In accordance with the terms of the Foundation Articles and these Bylaws, and subject to Cayman Law, the Foundation Director(s) are required to take input for the Tokenholders in respect of certain matters.
- The Tokenholders have the authority to propose certain decisions in relation to the Foundation as set forth in these Bylaws and the Foundation Articles.
- The Foundation Director(s) are authorized to take any actions reasonably necessary on behalf of the Foundation to give effect to a vote of the Tokenholders including passing any director resolutions to memorialize such vote.
- To the extent there is ever a conflict between the provisions of the Bylaws and/or the Foundation Articles, the Foundation Articles will prevail in respect to the provisions of the Bylaws.
### 11. Dispute Resolution
- Should a controversy, dispute or claim arise out of or in relation to these Bylaws ("**Dispute**"), the Foundation, the Foundation Director(s), the Progress Council and/or the Foundation Supervisor (as appropriate) must give thirty (30) days' notice of such Dispute to the relevant party/ies (the "**Notice of Dispute**"). Should the Dispute not be resolved at the expiration of thirty (30) days after service of the Notice of Dispute, the relevant party may commence arbitration proceedings in accordance with Section 2(b) of these Bylaws. In any dispute involving the actions of the Foundation Director(s), the Foundation Supervisor may commence arbitration proceedings against the Foundation Director(s) in accordance with this Section 2. For the avoidance of doubt, this Section 2 does not provide Tokenholders with a right of action against the Foundation or the Foundation Director(s).
- Should the Dispute remain at the expiration of thirty (30) days after service of the Notice of Dispute, the Dispute shall be settled by arbitration administered by the International Centre for Dispute Resolution in accordance with its International Arbitration Rules (the "Rules"). The arbitration shall be seated in George Town, Grand Cayman and governed by Cayman Law. The language of the arbitration shall be English. The arbitration shall be determined by a sole arbitrator to be appointed in accordance with the Rules. Any award or decision made by the arbitrator shall be in writing and shall be final and binding on the parties without any right of appeal, and judgment upon any award thus obtained may be entered in or enforced by any court having jurisdiction thereof. No action at law or in equity based upon any claim arising out of or related to these Bylaws shall be instituted in any court of any jurisdiction.
# BLIP Template
| Proposal Title | BLIP - Proposal Title |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Proposal Type** | Governance proposals must fall under one of the categories set forth in Section 4 of the Blast Foundation’s Governance Bylaws. |
| **Executive Summary** | This section should include a short summary of the BLIP, the impacted stakeholders and the expected outcomes. |
| **Motivation** | This should explain why you are submitting the proposal and why the Blast community should adopt and implement the BLIP. |
| **Proposal Details** | Please include a comprehensive description of the proposed changes, including any relevant code changes and associated audits (see “code changes” under Additional Guidelines below). |
| **Implementation** | Please include all details on how you expect the proposal to be implemented, including anticipated timing, contingency plans, milestones and targeted completion dates. |
| **Associated Costs** | The total anticipated costs to implement the BLIP. This section should include a breakdown of the total cost of the BLIP. Consider both fixed costs and recurring costs. |
| **Prior Proposals** | See “Prior Proposals” under Additional Guidelines below. |
# Additional Guidelines
### True and Complete
By submitting a BLIP, you represent and warrant to the Progress Council and the Blast Foundation that all the information it contains is true and complete to the best of your knowledge.
### Prior Proposals
Sometimes, BLIPs aren't passed on their initial submissions. If a BLIP is not passed, the proposer may resubmit the BLIP after sixty (60) days and should address the concerns of the community. The proposer should include the following additional sections in the resubmitted BLIP:
* **A link to the previous BLIP** - The link to the previous BLIP should be included in the resubmitted BLIP.
* **Reasons why the BLIP was not passed** - The reasons why the BLIP was not passed should be included in the resubmitted BLIP.
* **Changes made to the BLIP** - The changes made to the BLIP should be included to address the concerns raised during the previous BLIP submission.
* **Additional information** - More detailed intentions, specifics and implication details can help the community understand the revised BLIP, increasing the chances of it being passed.
### Code Changes
Proposals that require code changes should include external references to the code that will be executed when the proposal is passed. This code should handle the data structures, logic, executable data, and execution of the proposal. All code changes should include audit reports.
# Earn BLAST
Source: https://metalayerlabs.mintlify.app/mobile/earn-app
Blast Mobile's **Earn App** is here! No more farming points, waiting for Gold, or anticipating the next airdrop to earn BLAST rewards. Simply deposit some USDB into the Earn App to start earning yield in the form of liquid BLAST emissions.
As you earn and your BLAST balance increases over time, so will the multiplier applied to the APY earned on your USDB deposits. Alternatively, skip straight to the maximum 6x multiplier by depositing additional BLAST.
## Getting Started
If you don't already have a USDB balance available on your Blast Mobile account, use the **Deposit App** to quickly onboard funds through any of the available options:
* Deposit via Coinbase, Binance, or other exchanges
* Deposit via card
* Transfer funds from another Blast account
Open up the **Earn App** and click the "Deposit To Earn" button to deposit USDB into the app.
Your multiplier will gradually increase over time as the ratio of BLAST to USDB increases in your Earn App.
If you'd prefer not to wait, **you can immediately earn the maximum 6x multiplier by depositing more BLAST**.
To get the maximum 6x multiplier, your BLAST balance in the Earn App must be equal in value to 30% of your USDB deposits.
Every 6 hours, the app distributes yield on USDB deposits as liquid BLAST rewards. Withdraw your USDB deposits or BLAST rewards anytime.
Withdrawing BLAST will **reset your multiplier** to 1x.
# FAQ
Source: https://metalayerlabs.mintlify.app/mobile/faq
## General
During setup, Blast Mobile creates a new smart wallet for you, secured with passkey authentication.
Unlike externally owned accounts (EOAs), which are derived from a seed phrase and use a private key to sign transactions, smart wallets are deployed as smart contracts on the blockchain. Since smart wallets do not have private keys, they rely on an externally owned account (EOA) as a ‘signer’ to authorize transactions.
The seed phrase you can export from Blast Mobile belongs to this signer account, not the Blast Mobile smart wallet itself.
Blast Mobile uses passkey authentication, which requires your device to support passkey creation and backup.
* On iOS: Ensure that iCloud is enabled and that iCloud Keychain is set up to back up your passkeys securely.
* On Android: Confirm that your device is configured to use Google Password Manager for storing and managing passkeys.
See the FAQ section below on Passkey Authentiction for more info.
Your Blast Mobile wallets are linked to the passkey created during setup. As long as you retain access to your passkey, your wallets can be recovered. Passkeys are securely backed up to iCloud Keychain (for iOS) or Google Password Manager (for Android), allowing you to restore access on any device signed in with the same Apple or Google account.
Blast Mobile is designed to simplify and improve the user experience when interacting with dapps. Its smart wallets enable passkey authentication, eliminate the need to manage private keys, let us sponsor gas for your transactions, and allow seamless transactions without confirmations using Pro Mode.
To maintain these benefits, Blast Mobile does not currently support importing EOAs, as they can't take full advantage of these features. However, we understand this may be a significant change from your previous experience and are exploring the possibility of enabling EOA imports in a future update.
Enabling Blast Mobile's Pro Mode allows you to interact with trusted dapps in Blast Mobile *without* having to confirm/sign transactions for a smoother user experience.
Blast Mobile’s initial launch focuses on helping users get familiar with the platform and introducing our updated tokenomics through the Earn App.
We are actively working with dapps across the Blast ecosystem and will be rolling out their integrations on Blast Mobile soon. Stay tuned!
Yes! There have been no changes to Blast’s native yield. You will continue to earn yield on ETH, WETH, and USDB as before. Native yield is earned in the same currency as your balance—for example, ETH on your ETH balances and USDB on your USDB balances.
This differs from the Earn App, a new yield-earning opportunity launched with Blast Mobile. By depositing USDB into the Earn App, you can earn a significantly higher APY (50%+). However, yield from the Earn App is paid in **BLAST**.
## Earn App
See our Earn App Overview for step-by-step instructions on getting started.
In the Earn App, you earn yield only on your USDB deposits, but the yield is paid out in BLAST.
For example, if you earn \$100 of yield on your USDB deposits, you would receive that yield as \$100 worth of BLAST.
While your BLAST balance doesn’t earn yield in the Earn App, it does affect your multiplier, which can boost your earnings. Check related FAQs on maximizing your multiplier for more details.
You can withdraw your USDB and BLAST at any time. BLAST rewards earned through the Earn App are liquid and can be withdrawn / sold as soon as you've earned them.
Please note that withdrawing *any* amount of BLAST from the Earn App will reset your multiplier to 1x.
Your multiplier starts at 1x and increases linearly to 6x based on the relative value (denominated in USD) of BLAST to USDB that you've deposited into the Earn App.
You will reach the maximum multiplier of 6x when your BLAST deposits are equivalent in value to 30% of your USDB deposits.
The amount of BLAST required to maximize your multiplier is relative to how much USD you've deposited into the Earn App.
To maximize your multiplier, your BLAST balance needs to be equivalent to 30% of the value of your USD deposit.
* New USDB deposits: Your multiplier may go up or down depending on the ratio of your total BLAST (in USD) to USDB.
* New BLAST deposits: Adding more BLAST will always raise or maintain (but never reduce) your current multiplier.
* Earning BLAST over time: As you earn BLAST rewards in the Earn App, your BLAST balance grows while your USDB balance stays the same, automatically increasing your multiplier over time.
Your multiplier will not automatically decrease when BLAST’s price goes down. The price of BLAST only matters if you make additional deposits of USDB or BLAST, at which point the app checks BLAST’s price (via an oracle) to recalculate your multiplier.
* When you deposit more USDB: Your multiplier may drop if your BLAST-to-USDB ratio (in USD) has gotten smaller—either because of (a) the extra USDB, (b) a lower BLAST price since last deposit, or both.
* When you deposit more BLAST: The current price is used to determine how much extra BLAST value you’re adding compared to your USDB deposits. This never reduces your existing multiplier—only boosts it or leaves it unchanged.
If you do not deposit or withdraw, BLAST price changes alone will not affect your multiplier.
## Passkey Authentication
A passkey is a secure, passwordless login method that lets you sign in using your device's biometrics (like Face ID or a fingerprint). It's easy to use, resistant to phishing, and your login information is safely stored on your device and backed up in iCloud or Google Password Manager for seamless access across devices.
No, Blast Mobile currently only supports:
* iOS Users: iCloud Keychain
* Android User: Google Password Manager
# Overview
Source: https://metalayerlabs.mintlify.app/mobile/overview
Blast Mobile combines a passkey-authenticated smart wallet with a dapp launchpad, delivering a seamless experience of the full-stack chain to your favorite iOS or Android device.
At launch, Blast Mobile will feature a suite of core utility applications including the Earn App, which lets users earn liquid BLAST rewards on their USDB deposits.
Following the initial release, Blast Mobile's launchpad will expand to integrate with Blast's leading dapp teams, enabling users to enjoy features like gas sponsorship and Pro Mode across the entire Blast ecosystem.
## Key Features
* **Integrated Smart Wallet** - Each user receives a newly generated smart wallet upon installation.
* **Gas Sponsorship** - Benefit from gas sponsorship on the Blast App across all dapps.
* **Pro Mode** - Enable Pro Mode to simplify interactions by automating transaction approvals for trusted apps.
* **Push Notifications** - Stay locked-in with personalized notifications for each app.
* **Passkey Authentication** - Ensure security with passkey authentication powered by your device's biometrics..
## Blast Mobile Utility Apps
* **Deposit** - Onboard funds from popular exchanges, debit card, or transfers from existing Blast accounts.
* **Earn** - Earn liquid BLAST rewards on your USDB deposits. Learn more here.
* **Send** - Simple utility for transferring tokens to other Blast accounts.
* **Feedback** - Share your Blast Mobile experience with us and help us continue to improve it.
# Seed Phrase Recovery
Source: https://metalayerlabs.mintlify.app/mobile/recovery
Learn how to use your exported seed phrase to recover a Blast Mobile account if you no longer have access to your original passkey.
## About Your Seed Phrase
Blast Mobile uses ERC-4337 smart contract accounts, which depend on external signer EOAs (Externally Owned Accounts) to authorize transactions. The seed phrase exported from Blast Mobile corresponds specifically to this signer EOA, not directly to your Blast Mobile smart contract account.
Importing this seed phrase into another wallet (e.g., MetaMask) will result in a different address from your Blast Mobile account and is therefore not recommended. Instead, seed phrases exported from Blast Mobile should only be used for account recovery, as described below.
## How to Export Your Seed Phrase
You can export your seed phrase in two ways:
1. **Initial Setup:** You'll be prompted to back up your seed phrase when you first install and log into Blast Mobile.
2. **From Settings:** At any time, open **Settings** by clicking the three-dot icon in the top-right of your screen, and select **Export Seed Phrase**.
## Seed Phrase Recovery Steps
Create or log into an existing Blast Mobile account using a passkey you currently have access to, in order to begin recovery.
Open **Settings** by clicking the three-dot icon in the top-right of your screen, then select **Import Seed Phrase**.
Alternatively, you can click **Import** from the wallet selection menu.
Confirm that you understand seed phrase import is intended only for seed phrases generated by Blast Mobile.
Enter or paste your saved seed phrase and click **Import**.
Logging out of Blast Mobile will erase any imported accounts, **including those recovered using a seed phrase**. You'll need to re-import them after logging back in, so ensure you maintain a secure backup of your seed phrase.
## Managing Imported Accounts
After importing your seed phrase, your accounts will be grouped by seed phrase in the wallet selection menu.
You can add additional accounts to any of these groups by clicking the corresponding **Add Wallet** button.
# Tokenomics
Source: https://metalayerlabs.mintlify.app/tokenomics
| | |
| ------------- | ------------------------------------------------------------------------------------------------------------------- |
| Ticker | **BLAST** |
| Total Supply | **100 Billion** |
| Token Address | [0xb1a5700fA2358173Fe465e6eA4Ff52E36e88E2ad](https://blastscan.io/token/0xb1a5700fA2358173Fe465e6eA4Ff52E36e88E2ad) |
# Token Allocation
### Community - 50,000,000,000 (50%)
Blast's success is only due to the community of users and builders that contribute to the ecosystem. 50% of the total BLAST supply is reserved for the community and will be distributed through incentive campaigns. 100% of this allocation will go directly to the community. The community allocation unlocks linearly over 3 years from the date of the TGE and any distributions will be according to schedules determined by the Blast Foundation.
### Core Contributors - 25,480,226,842 (25.5%)
All tokens distributed to core contributors are subject to a 4 year lockup period, with 25% of the core contributor tokens unlocked 1 year after the date of the TGE, followed by a linear unlock each month over the following 3 years.
### Investors - 16,519,773,158 (16.5%)
All tokens distributed to investors are subject to a 4 year lockup period, with 25% of the investor tokens unlocked 1 year after the date of the TGE, followed by a linear unlock each month over the following 3 years.
### Blast Foundation - 8,000,000,000 (8%)
The Foundation allocation will be held in reserve to be used towards critical infrastructure and further growing the Blast ecosystem. The Foundation allocation is unlocked linearly over a 4 year period from the date of the TGE.
# Phase 1 Airdrop
### Blast Points - 7,000,000,000 (7%)
Users that bridged ETH or USDB to Blast bootstrapped the initial liquidity on
the Blast ecosystem and earned Blast Points throughout Phase 1. These
users will be rewarded with 7% of the total BLAST supply.
### Blast Gold - 7,000,000,000 (7%)
Users that contributed to the success of Dapps earned Blast Gold and will be
rewarded with 7% of the total BLAST supply.
### Vesting
The top 0.1% users (\~1000 wallets) will vest part of their airdrop linearly
over 6 months. Vesting is subject to reaching a monthly Points threshold
based on Phase 1 activity. Further details will be available on June 26.
### Blur Foundation - 3,000,000,000 (3%)
The Blur Foundation will receive 3% of the total BLAST supply to distribute to
the Blur community for both retroactive and future airdrops.
# Phase 2 Airdrop
Phase 2 was originally scheduled to end in June 2025, running for 12 months with an allocation of 10 billion BLAST. However, with the release of Blast Mobile, we are transitioning to new tokenomics that allow users and dApps to earn liquid BLAST rewards directly, rather than through points and Gold.
As part of this transition, Phase 2 will now conclude in January 2025 with a prorated allocation of 5 billion BLAST.
### Blast Points - 2,500,000,000 (2.5%)
Users that helped to maintain liquidity across the blast ecosystem by bridging and holding balances of ETH, USDB, and/or BLAST earned Blast Points throughout Phase 2. These
users will be rewarded with 2.5% of the total BLAST supply.
### Blast Gold - 2,500,000,000 (2.5%)
Users that contributed to the success of Dapps earned Blast Gold and will be
rewarded with 2.5% of the total BLAST supply.
# Analytics
Source: https://metalayerlabs.mintlify.app/tools/analytics
## Arkham
[Arkham](https://platform.arkhamintelligence.com/) is a public blockchain intelligence platform accessible via url that provides data on the entities and individuals behind crypto market activity by using AI to identify the owners of blockchain addresses. Features include a searchable database of onchain profiles, visualizer, tracer, alerts, custom dashboards, and an API.
**Supported Networks**
* Blast Mainnet
***
## Dune
[Dune](https://dune.com) is a blockchain analytics platform for querying, visualizing, and sharing on-chain data. It enables users to create custom dashboards and analyses using SQL-based queries.
**Supported Networks**
* Blast Mainnet
***
## Flipside Crypto
[Flipside Crypto](https://flipsidecrypto.xyz/) is an analytics provider that is similar to Dune, but typically faster for running complicated queries.
**Supported Networks**
* Blast Mainnet
# Block Explorers
Source: https://metalayerlabs.mintlify.app/tools/block-explorers
## Blastscan (Etherscan)
| Network | URL |
| ----------- | -------------------------------------------------------------- |
| **Mainnet** | [https://blastscan.io/](https://blastscan.io/) |
| **Testnet** | [https://sepolia.blastscan.io/](https://sepolia.blastscan.io/) |
## Blastexplorer (Routescan)
| Network | URL |
| ----------- | -------------------------------------------------------------------- |
| **Mainnet** | [https://blastexplorer.io](https://blastexplorer.io) |
| **Testnet** | [https://sepolia.blastexplorer.io](https://sepolia.blastexplorer.io) |
## Parsec
| Network | URL |
| ----------- | -------------------------------------------------------- |
| **Mainnet** | [https://voyager.parsec.fi/](https://voyager.parsec.fi/) |
## DexGuru
| Network | URL |
| ----------- | ------------------------------------------------------------ |
| **Mainnet** | [https://blast.dex.guru/](https://blast.dex.guru/) |
| **Testnet** | [https://blast-test.dex.guru/](https://blast-test.dex.guru/) |
## Blockscout
| Network | URL |
| ----------- | -------------------------------------------------------------- |
| **Mainnet** | [https://blast.blockscout.com/](https://blast.blockscout.com/) |
## Arkham
| Network | URL |
| ----------- | ------------------------------------------------------------------------------------ |
| **Mainnet** | [https://platform.arkhamintelligence.com/](https://platform.arkhamintelligence.com/) |
# Data Indexers
Source: https://metalayerlabs.mintlify.app/tools/data-indexers
## GhostGraph
[GhostGraph](https://GhostGraph.xyz/) makes it easy to build blazingly fast indexers (subgraphs) for smart contracts.
GhostGraph is the first indexing solution that lets you write your index transformations in **Solidity**. Blast dApps can query data with GraphQL using our hosted endpoints.
To get started, you can [sign up for an account](https://app.ghostlogs.xyz/ghostgraph/sign-up) and follow [this quickstart](https://docs.ghostlogs.xyz/category/-getting-started-1) guide on how to create, deploy, and query a GhostGraph.
**Supported Networks**
* Blast Mainnet
***
## Goldsky
Goldsky offers high-performance subgraphs and realtime data replication pipelines, making Blast data accessible to developers via hosted API endpoints, or directly within your own infrastructure.
Blast subgraphs deployed to Goldsky can also be replicated directly into [internal datastores](https://docs.goldsky.com/mirror/sinks/supported-sinks) via Goldsky Mirror, enabling alternative access patterns to the data, and for it to be joined seamlessly with other application/user data.
For instructions on deploying subgraphs to Goldsky, visit Goldsky's dedicated indexing [quickstart page](https://docs.goldsky.com/chains/blast) for Blast.
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
***
## The Graph
[The Graph](https://thegraph.com/) is an indexing protocol for organizing blockchain data and making it easily accessible with GraphQL.
Blast dapps can use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network.
Learn how to use The Graph via their [documentation](https://thegraph.com/docs/en/) or [this quickstart](https://thegraph.com/docs/en/cookbook/quick-start/).
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
***
## SQD
[SQD](https://www.sqd.dev/) is a decentralized hyper-scalable data platform optimized for providing efficient, permissionless access to large volumes of data. It currently serves historical on-chain data, including event logs, transaction receipts, traces, and per-transaction state diffs. SQD offers a powerful toolkit for creating custom data extraction and processing pipelines, achieving an indexing speed of up to 150k blocks per second.
Comment
Edit from here
To get started, visit their [documentation](https://docs.sqd.dev/) or see their [EVM examples](https://github.com/subsquid-labs/squid-evm-examples) of what you can build with SQD.
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
***
## SubQuery
SubQuery provides developers with fast, flexible, universal, open source and decentralised APIs for web3 projects. One of SubQuery's competitive advantages is the ability to aggregate data not only within a chain but across multiple blockchains all within a single project.
Learn how to use SubQuery via their [documentation](https://academy.subquery.network/) or this [quickstart guide](https://academy.subquery.network/indexer/quickstart/quickstart.html).
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
# null
Source: https://metalayerlabs.mintlify.app/tools/faucets
## Blast Sepolia Faucets
### Quicknode
[QuickNode Blast Faucet](https://faucet.quicknode.com/blast/sepolia) is an easy to use Multi-Chain Faucet that drips Blast Sepolia ETH.
### Blast API (No Affiliation to Blast L2)
[Blast API Blast Faucet](https://blastapi.io/faucets/blastl2-testnet) is an easy to use faucet with no registration required that you can use to claim Blast Sepolia ETH for free.
## Ethereum Sepolia Faucets
### Quicknode
[QuickNode Ethereum Faucet](https://faucet.quicknode.com/ethereum/sepolia) is an easy to use Multi-Chain Faucet that drips Ethereum Sepolia ETH.
### Blast API (No Affiliation to Blast L2)
[Blast API Ethereum Faucet](https://blastapi.io/faucets/ethereum-sepolia) is an easy to use faucet with no registration required that you can use to claim Sepolia ETH for free.
## Bridging Sepolia ETH to Blast Sepolia
Once you've acquired some Sepolia ETH, you can transfer it to use on Blast Sepolia by sending it to the Blast L1StandardBridge as demonstrated [here](https://sepolia.etherscan.io/tx/0x756d57214b500dedf5e5f9d5baaf9738f59f3492e242185bd51f31ae12b5573b).
# Governance
Source: https://metalayerlabs.mintlify.app/tools/governance
## Tally
[Tally](https://docs.tally.xyz/) is a DAO launch and operations platform. DAOs use Tally to share control over protocols, treasuries and public goods.
# Misc Tools
Source: https://metalayerlabs.mintlify.app/tools/misc
## Biconomy
[Biconomy](https://docs.biconomy.io/) is an Account Abstraction toolkit that enables Blast developers to provide the simplest UX for dapps or wallets. It offers modular smart accounts, as well as paymasters and bundlers as a service for sponsoring gas and executing transactions at scale.
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
***
## Gelato
Gelato provides Blast developers with native integrations with Gelato’s industry-leading Web3 middleware services including VRF, Account Abstraction, Web3 functions, and Relay to enable superior UX. Learn more [here](https://docs.gelato.network/).
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
***
## Tenderly
[Tenderly](https://tenderly.co/) is a full-stack Web3 development platform featuring RPC services, smart contract debugging, simulations, monitoring, alerting, and analytics.
**Supported Networks**
* Blast Mainnet
# Node Providers
Source: https://metalayerlabs.mintlify.app/tools/node-providers
## Quicknode
[Quicknode](https://quicknode.com) provides public and private rpc endpoints for Blast, along with websocket support.
**Supported Networks**
* Blast Mainnet - Public RPC: [https://rpc.blast.io](https://rpc.blast.io)
* Blast Sepolia - Public RPC: [https://sepolia.blast.io](https://sepolia.blast.io)
***
## Infura
[Infura](https://infura.io) provides public and private rpc endpoints for Blast.
**Supported Networks**
* Blast Mainnet - Public RPC: [https://blast.din.dev/rpc](https://blast.din.dev/rpc)
* Blast Sepolia - Public RPC: [https://testnet.blast.din.dev/rpc](https://testnet.blast.din.dev/rpc)
***
## Blast API (no affiliation to Blast L2)
[Blast API](https://blastapi.io) provides public and private rpc endpoints for Blast.
**Supported Networks**
* Blast Mainnet - Public RPC: [https://blastl2-mainnet.public.blastapi.io](https://blastl2-mainnet.public.blastapi.io)
* Blast Sepolia - Public RPC: [https://blastl2-sepolia.public.blastapi.io](https://blastl2-sepolia.public.blastapi.io)
***
## How to run your own nodes
If you want to self host Blast nodes, then you can follow the guide here which uses docker compose for a painless setup process: [https://github.com/blast-io/deployment](https://github.com/blast-io/deployment)
The above repo also links to more advanced documentation if you have custom deployment needs that require building the Blast software from source.
# null
Source: https://metalayerlabs.mintlify.app/tools/oracles
## API3
The [API3 Market](https://market.api3.org/blast) provides access to 200+ price feeds on [Blast Mainnet](https://market.api3.org/blast) and [Testnet](https://market.api3.org/blast-sepolia-testnet). The price feeds operate as a native push oracle and can be activated instantly via the Market UI.
The price feeds are delivered by an aggregate of [first-party oracles](https://docs.api3.org/explore/airnode/why-first-party-oracles.html) using signed data and support [OEV recapture](https://docs.api3.org/explore/introduction/oracle-extractable-value.html).
API3 also offers on-chain randomness on Blast via their [QRNG](https://docs.api3.org/guides/qrng/).
**Supported networks**
* Blast Mainnet
* Blast Sepolia
***
## Pyth
[Pyth Network](https://www.pyth.network/) offers price feeds and randomness on Blast.
Pyth provides real-time price data sourced directly from [first part data providers](https://www.pyth.network/publishers).
It introduces a [pull](https://docs.pyth.network/price-feeds/pull-updates) mechanism where any developer can permissionless consume prices ever 400 ms, making Pyth fast on-chain oracle.
A developer can consume consume [these prices](https://www.pyth.network/developers/price-feed-ids) on Blast network in just 3 lines of solidity code. Checkout our price feed guide [here](https://docs.pyth.network/price-feeds/use-real-time-data/evm).
Check our Entropy [guide](https://docs.pyth.network/entropy/generate-random-numbers/evm) here to get pure random numbers on Blast.
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
***
## Redstone
Redstone offers push-based price feeds for Blast.
Learn how to use Redstone feeds with [this guide](https://docs.redstone.finance/docs/introduction).
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
***
## Supra
Supra provides decentralized oracle price feeds for Blast. Learn how to use Supra price feeds [here](https://supra.com/docs/readme/).
Supra also offers on-chain randomness on Blast via their [distributed Verifiable Random Function (dVRF)](https://supra.com/docs/vrf) solution.
**Supported networks**
* Blast Mainnet
* Blast Sepolia
# Safes
Source: https://metalayerlabs.mintlify.app/tools/safes
## Protofire
Protofire has deployed and maintained Gnosis Safe infrastructure across numerous L2 networks, including zkSync, zkScroll, Mantle, Linea, and others.
You can create new safes on Blast or import existing Blast safes at [https://app.safe.protofire.io/](https://app.safe.protofire.io/). Be sure to check out the Blast Yield safe app for easy monitoring and management of Blast's native yield.
**Supported Networks**
* Blast Mainnet
* Blast Sepolia
# Using Blast
Source: https://metalayerlabs.mintlify.app/using-blast
## Mainnet
Blast Mainnet can be added as a custom network to any EVM-compatible wallet (i.e. [MetaMask](https://metamask.io)).
### Public RPC Endpoints
1. [https://rpc.blast.io](https://rpc.blast.io)
2. [https://blastl2-mainnet.public.blastapi.io](https://blastl2-mainnet.public.blastapi.io)
3. [https://blast.din.dev/rpc](https://blast.din.dev/rpc)
4. [https://blast.blockpi.network/v1/rpc/public](https://blastl2-mainnet.public.blastapi.io)
### MetaMask Quick Instructions
To add Blast Mainnet as a custom network to MetaMask:
1. Go to the Blast Explorer at [blastscan.io](https://blastscan.io).
2. Scroll to the bottom and click the **Add Blast Mainnet** button in the footer.
3. Approve adding the network in the MetaMask prompt that opens.
### MetaMask Manual Instructions
To add Blast Mainnet as a custom network to MetaMask:
1. Open the MetaMask browser extension.
2. Open the network selection dropdown menu by clicking the dropdown button at the top of the extension.
3. Click the **Add network** button.
4. Click **Add a network manually**.
5. In the **Add a network manually** dialog that appears, enter the following information for Blast Mainnet.
Network Name: **Blast**
RPC Endpoint: [https://rpc.blast.io](https://rpc.blast.io)
Chain ID: **81457**
Currency Symbol: **ETH**
Block Explorer: [https://blastscan.io](https://blastscan.io)
6. Tap the Save button to save Blast Mainnet as a network.
You should now be able to connect to the Blast Mainnet by selecting it from the network
## Testnet
Blast Sepolia can be added as a custom network to any EVM-compatible wallet (i.e. [MetaMask](https://metamask.io)).
### MetaMask Quick Instructions
To add Blast Sepolia as a custom network to MetaMask:
1. Go to the Blast Testnet Explorer at [sepolia.blastexplorer.io](https://sepolia.blastexplorer.io).
2. Scroll to the bottom and click the **Add Blast Testnet Sepolia Network** button in the footer.
3. Approve adding the network in the MetaMask prompt that opens.
### MetaMask Manual Instructions
To add Blast Sepolia as a custom network to MetaMask:
1. Open the MetaMask browser extension.
2. Open the network selection dropdown menu by clicking the dropdown button at the top of the extension.
3. Click the **Add network** button.
4. Click **Add a network manually**.
5. In the Add a network manually dialog that appears, enter the following information for the Blast Sepolia testnet.
Network Name: **Blast Sepolia**
RPC Endpoint: [https://sepolia.blast.io](https://sepolia.blast.io)
Chain ID: **168587773**
Currency Symbol: **ETH**
Block Explorer: [https://sepolia.blastexplorer.io](https://sepolia.blastexplorer.io)
6. Tap the Save button to save Blast Sepolia as a network.
You should now be able to connect to the Blast testnet by selecting it from the network selection dropdown menu.