> ## Documentation Index
> Fetch the complete documentation index at: https://docs.safefoundation.org/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQs

> Frequently asked questions about Safenet and Safenet Beta.

<AccordionGroup>
  <Accordion title="Is this supported by SafeDAO?">
    Safenet Beta is initiated by the Safe Ecosystem Foundation (SEF), which is accountable to SafeDAO governance. The Safenet Beta, the Staking contract, and the Validator network are live and run under SEF's mandate.

    The staking rewards mechanism has been [approved by SafeDAO](https://snapshot.org/#/s:safe.eth/proposal/0xb85ed0346bb07196786df5145e57f5e3e5054d35ba7d5f67594faaa6b7a98bcd). Rewards are distributed regularly according to the mechanism described in [Staking rewards](/safenet/staking/rewards).

    Configuration changes to the protocol, including any updates to the withdrawal delay, require a timelock before taking effect. Changes to reward parameters require a governance proposal.

    <Note>
      The rewards proposal is not yet approved. This page will be updated when the SafeDAO vote concludes.
    </Note>
  </Accordion>

  <Accordion title="Is the code open source?">
    Yes. The Safenet Beta contracts, Explorer and staking UI are publicly available on GitHub: [safe-research/safenet](https://github.com/safe-research/safenet)

    * **Smart contracts**: [safe-research/safenet/contracts](https://github.com/safe-research/safenet/tree/beta/contracts)
    * **Explorer**: [safe-research/safenet/explorer](https://github.com/safe-research/safenet/tree/beta/explorer)
    * **Staking UI**: [safe-fndn/safenet/safenet-staking-ui](https://github.com/safe-fndn/safenet-staking-ui)

    The Staking contract has been independently audited. The audit report is available in the repository. See [Security](/safenet/resources/security) for the full audit report and contract details.
  </Accordion>

  <Accordion title="Where can I learn more about the technical details?">
    A technical overview is provided in the [Safenet repository](https://github.com/safe-research/safenet/blob/beta/docs/overview.md).

    **Smart contracts**

    The full source for the Staking and Consensus contracts is in [safe-research/safenet/contracts](https://github.com/safe-research/safenet/tree/beta/contracts). Inline documentation covers the key functions, events, and parameters.

    **FROST threshold signing**

    Safenet uses FROST (Flexible Round-Optimized Schnorr Threshold Signatures) for Validator attestations. The standard is defined in [RFC 9591](https://datatracker.ietf.org/doc/html/rfc9591).

    **Staking mechanics**

    The staking and rewards documentation covers how stake is weighted, how rewards are calculated, and what conditions affect eligibility. Start with [Staking](/safenet/staking/overview).

    **Validators**

    There is a [Validator handbook](https://github.com/safe-research/safenet/blob/beta/docs/validator-handbook.md) available.

    For questions not covered by the documentation, open an issue on [GitHub](https://github.com/safe-research/safenet/issues/new).
  </Accordion>

  <Accordion title="How do I use Safenet and the Explorer in Beta?">
    The Safenet Beta Explorer is a public interface for observing transaction validation activity on the network. No wallet connection or account is required to view activity.

    **Exploring network activity**

    The Explorer provides a live stream of Safe transactions that have been proposed to the Safenet Validator set. Each transaction shows its current status (**Proposed**, **Attested**, or **Timed-out**) and a detail page with the full transaction breakdown, Validator participation, and links to Safe\{Wallet} and chain explorers.

    You can search by Safe address or `safeTxHash`.

    **Submitting a transaction for validation**

    If your Safe transaction has not yet been proposed to Safenet Beta, you can submit it directly from the Explorer:

    1. Navigate to the Explorer at [explorer.safenet-beta.eth.limo](https://explorer.safenet-beta.eth.limo)
    2. Enter your `safeTxHash` or paste the transaction details manually
    3. Submit - no wallet required, the submission is relayed for you
  </Accordion>

  <Accordion title="How long does transaction validation take?">
    Under normal network conditions, a transaction moves from **Proposed** to **Attested** within a few signing rounds. In practice this is typically a matter of seconds to low minutes.

    The exact duration depends on two factors. First, Validator participation: if enough Validators are online and responsive, the FROST threshold signature completes in a single round. If some Validators are slow or offline, the signing coordinator retries until quorum is reached or the round times out. Second, network conditions: latency between Validators affects round-trip times for the threshold signing protocol.

    You can monitor the status of any transaction in the Explorer. A transaction that reaches **Timed-out** did not receive enough Validator signatures within the signing window. You can resubmit it for a new signing round.
  </Accordion>

  <Accordion title="How do I verify my transaction is secure?">
    <Note>
      Safenet Beta only does basic transaction security checks. It is a Beta product and might misbehave.
    </Note>

    **Check the attestation status in the Explorer**

    Look up your transaction by `safeTxHash` in the Explorer. The status field shows one of three states:

    * **Proposed**: the transaction has been submitted to the Validator set and a signing round is in progress.
    * **Attested**: a threshold of Validators produced a FROST signature over the transaction. This signature is recorded onchain on Gnosis Chain.
    * **Timed-out**: the signing round did not reach quorum within the allowed window. The transaction can be resubmitted.

    **What "Attested" means**

    An attested transaction has a threshold FROST signature from the active Validator set. FROST is a standard threshold signing scheme (see [RFC 9591](https://datatracker.ietf.org/doc/html/rfc9591)). It means no single Validator approved the transaction alone: a defined minimum number of independent Validators all participated in producing the signature.

    The signature and the signed message are stored in the Consensus contract on Gnosis Chain. Anyone can retrieve and verify the signature against the Validator set's public key using standard cryptographic tools.

    **Checking onchain**

    ```solidity theme={null}
    (bytes32 msg, FROST.Signature memory sig) = consensus.getRecentAttestation(tx);
    ```

    See the Consensus contract documentation for the full verification flow.
  </Accordion>

  <Accordion title="Can I become a Validator?">
    In Safenet Beta, the Validator set is **permissioned**. Validators are selected and onboarded by the Safe Ecosystem Foundation. The Validator set is intentionally small in Beta to allow the core staking, consensus, and FROST threshold signing mechanics to be proven out in a controlled environment.

    If you are interested in running a Validator node in a future phase, watch the [Roadmap](/safenet/overview/roadmap) for updates on when the Validator set opens up and [reach out](https://contact.safefoundation.org/).
  </Accordion>

  <Accordion title="How do I programmatically propose Safe transactions for validation?">
    Transactions are submitted to the Consensus contract on Gnosis Chain via the `proposeTransaction` function.

    ```solidity theme={null}
    // Submit a transaction for validation
    bytes32 message = consensus.proposeTransaction(tx);

    // Listen for the TransactionAttested event, then retrieve the signature:
    (bytes32 msg, FROST.Signature memory sig) = consensus.getRecentAttestation(tx);
    ```

    The `tx` parameter is a `SafeTransaction.T` struct containing the standard Safe transaction fields. After calling `proposeTransaction`, listen for the `TransactionProposed` event to confirm submission, then wait for `TransactionAttested` before using the resulting FROST signature.

    **Events to listen for**

    * `TransactionProposed(bytes32 indexed safeTxHash, ...)`: emitted on successful submission
    * `TransactionAttested(bytes32 indexed safeTxHash, FROST.Signature sig)`: emitted when threshold signing completes

    See the [Consensus contract source](https://github.com/safe-research/safenet) for the full interface and struct definitions.
  </Accordion>
</AccordionGroup>

For questions not covered here, reach out at [research+safenet@safe.dev](mailto:research+safenet@safe.dev).
