> For the complete documentation index, see [llms.txt](https://docs.bloxchain.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bloxchain.app/resources/limits-and-defaults.md).

# Limits and defaults

Every number, cap and default the Bloxchain Platform enforces, with why each one matters and where it is explained.

{% hint style="info" %}
**Alpha · Local-first.** Official deployments are live on the 15 supported networks, in the Platform and in the Protocol. The Protocol core is audited by Nethermind (NM\_0828), core framework scope. Custom extensions and your own configuration are not covered by that audit.
{% endhint %}

## Deploying an account

| Setting                   | Value                                                                                                                                    | Why it matters                                                                                                                                         | Where                                                       |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- |
| **Owner**                 | Your connected wallet, the one that sends the deploy                                                                                     | Controls the account and approves delayed requests. The official factory refuses any other owner                                                       | [Deploy](/platform-guide/accounts/deploy.md)                |
| **Deploying wallet**      | A regular wallet (EOA), calling the factory directly                                                                                     | A deploy uses about 16.16M gas against a 16,777,216 per-transaction cap (EIP-7825), so a Safe or ERC-4337 account in front of the factory does not fit | [Deploy](/platform-guide/accounts/deploy.md)                |
| **Recovery**              | One valid, non-zero address, different from the Owner                                                                                    | It is the fallback when the owner key is lost, so it cannot be the owner                                                                               | [Deploy](/platform-guide/accounts/deploy.md)                |
| **Broadcaster addresses** | 1 to 3, each unique                                                                                                                      | Separates authorising from submitting, so a compromised broadcaster is not a compromised owner                                                         | [Security](/platform-guide/policies/security.md)            |
| **Time lock**             | 1 day to 90 days on the official factory (Minutes, Hours or Days)                                                                        | Zero would remove the cancel window                                                                                                                    | [Security](/platform-guide/policies/security.md)            |
| **Address**               | Predictable: salt 0 and the next free index for your wallet                                                                              | The same wallet, index and salt give the same address on every catalog network                                                                         | [Deployment](/developers/deployment.md#official-mint-rules) |
| **Shell**                 | **Base** (the official mint deploys Base); **Web3** only on a custom network whose factory offers it, with a time lock of at least 1 day | Web3 lets external apps verify signatures from the account (EIP-1271)                                                                                  | [Deploy](/platform-guide/accounts/deploy.md)                |

## Time lock

| Thing                   | Value                     | Why it matters                                                                                                                 | Where                                                       |
| ----------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- |
| Minimum                 | Greater than zero, always | Validation blocks any deploy or change that sets zero                                                                          | [Security](/platform-guide/policies/security.md)            |
| BasicAccount range      | 1 day to 90 days          | Accounts from the official factory accept nothing outside it. The Sepolia developer toolkit (AccountBlox) allows from 1 second | [Deployment](/developers/deployment.md#official-mint-rules) |
| Web3 shell minimum      | 1 day                     | Set at deploy under **Advanced**; it constrains later changes too                                                              | [Deploy](/platform-guide/accounts/deploy.md)                |
| Ownership transfer wait | Your current time lock    | Transfer ownership is a delayed request, cancellable while it waits                                                            | [Security](/platform-guide/policies/security.md)            |
| A change takes effect   | On requests made after it | Requests already waiting keep the delay they started with                                                                      | [Security](/platform-guide/policies/security.md)            |

## Roles, signers and gates

| Thing           | Value                                                            | Why it matters                                                          | Where                                      |
| --------------- | ---------------------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------ |
| Protected roles | Three, fixed at deploy: **Owner**, **Broadcaster**, **Recovery** | They are protocol security roles, not app permission roles              | [Roles](/platform-guide/access/roles.md)   |
| Custom roles    | Each sets **Max wallets** when created                           | A role at its limit takes no further signer until you raise it          | [Roles](/platform-guide/access/roles.md)   |
| Gates           | Permanent for that role                                          | Only deleting a custom role clears its gates; system-role gates stay on | [Gates](/platform-guide/policies/gates.md) |

## Actions installed at deploy

Every account registers thirty function schemas at deploy, grouped under ten operation names. You do not register these yourself; **Add action** is for functions of your own.

Five of the ten are the transfer and controller operations below, and they are what the **Actions** page shows: the operation name in upper case with the function signature underneath. The other five configure the account itself and appear on their own pages instead: `OWNERSHIP_TRANSFER`, `BROADCASTER_UPDATE`, `RECOVERY_UPDATE` and `TIMELOCK_UPDATE` on [Security](/platform-guide/policies/security.md), and `ROLE_CONFIG_BATCH` on [Roles](/platform-guide/access/roles.md).

| Operation name               | Function signature                                                                | Functions | Where                                                   |
| ---------------------------- | --------------------------------------------------------------------------------- | --------- | ------------------------------------------------------- |
| `NATIVE_TRANSFER`            | `__bloxchain_native_transfer__()`                                                 | 1         | [Actions](/platform-guide/policies/actions.md)          |
| `ERC20_TRANSFER`             | `transfer(address,uint256)`                                                       | 1         | [Actions](/platform-guide/policies/actions.md)          |
| `ATTACHED_PAYMENT_RECIPIENT` | `__bloxchain_attached_payment_recipient__()`                                      | 1         | [Allowlists](/platform-guide/policies/allowlists.md)    |
| `CONTROLLER_OPERATION`       | `executeWithTimeLock(address,uint256,bytes4,bytes,uint256,bytes32)` (entry point) | 7         | [Allowlisted contract calls](/guides/contract-calls.md) |
| `CONTROLLER_CONFIG_BATCH`    | `executeGuardConfigBatch((uint8,bytes)[])`                                        | 2         | [Actions](/platform-guide/policies/actions.md)          |

A function selector is the first four bytes of the keccak-256 hash of the signature, identical on every network and derivable from the signature above, so it is not listed here. A future contract release that changes a signature changes its selector with it.

| Thing                        | Value                                          | Why it matters                                                                                                                                                                        | Where                                          |
| ---------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
| Schemas registered at deploy | 30, under 10 operation names                   | A new account can already describe a transfer; what it lacks is permissions and allowlist entries                                                                                     | [Actions](/platform-guide/policies/actions.md) |
| Built-in schemas             | Protected: they cannot be removed or redefined | **Remove action** applies to functions you added                                                                                                                                      | [Actions](/platform-guide/policies/actions.md) |
| Non-revocable grants         | 27 of the 30 schemas                           | Everything except `NATIVE_TRANSFER`, `ERC20_TRANSFER` and `ATTACHED_PAYMENT_RECIPIENT`. A grant on any of the 27 is a **permanent grant**; only deleting the custom role withdraws it | [Actions](/platform-guide/policies/actions.md) |
| A fresh account              | Reads **Flow incomplete** on every row         | The **Vault** state: registered but not permitted                                                                                                                                     | [Actions](/platform-guide/policies/actions.md) |

## Requests, allowlists and gas

| Thing                          | Value                                                               | Why it matters                                                    | Where                                                 |
| ------------------------------ | ------------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------- |
| Signed meta-transaction expiry | Shown when you sign, for example "Meta-tx expires in 1h"            | After it passes, the signature is worthless and must be redone    | [New request](/platform-guide/operate/new-request.md) |
| Delayed request expiry         | None; it waits for approval or cancellation                         | A delayed request will not lapse on its own                       | [Approvals](/platform-guide/operate/approvals.md)     |
| Allowlist entries              | No published maximum; edits collect into one signed batch           | An empty list allows nothing, so an unconfigured action is denied | [Allowlists](/platform-guide/policies/allowlists.md)  |
| Gas                            | Paid by the wallet that submits: requester, approver or broadcaster | No hidden relay unless you use the optional Bloxchain broadcaster | [Connect a wallet](/platform-guide/connect-wallet.md) |

## Networks and official addresses

| Thing                                   | Value                                                 | Why it matters                                                                        | Where                                                             |
| --------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| Supported network                       | **Sepolia**, chain 11155111                           | The network the Platform runs on today                                                | [Supported networks](/introduction/supported-networks.md)         |
| Ethereum                                | Chain 1, supported                                    | Official deployment. See the full list of 15                                          | [Supported networks](/introduction/supported-networks.md)         |
| Custom EVM networks                     | You add them in **Settings → Networks**               | No official Protocol addresses; you supply them                                       | [Networks](/platform-guide/settings/networks.md)                  |
| BasicFactory (official factory)         | `0x6b6e4fb86ab52728d983d1a316ad9d8b48513215`          | Clones and initialises an account in one transaction                                  | [Deployment](/developers/deployment.md#official-addresses)        |
| BasicAccount (account template)         | `0x234c0a76399456832a74fb29de3c78d13c22e182`          | Every account from the official factory is a clone of it                              | [Deployment](/developers/deployment.md#official-addresses)        |
| EngineBlox                              | `0xb1fde79830ee7f748022922d07b3f19042ee6526`          | The shared state machine library, linked into BasicAccount                            | [Deployment](/developers/deployment.md#official-addresses)        |
| SecureOwnableDefinitions                | `0xeb6ca70bb64d1f87bb708460868c9b19f6987ed6`          | Definitions for owner, recovery and time lock changes                                 | [Deployment](/developers/deployment.md#official-addresses)        |
| RuntimeRBACDefinitions                  | `0x55ff61c065025e4a521532f1366981805230f988`          | Definitions for role configuration                                                    | [Deployment](/developers/deployment.md#official-addresses)        |
| GuardControllerDefinitions              | `0x8e8f6c8a11161214fdf04c702981bcd8b78f2fe0`          | Definitions for guard and allowlist configuration                                     | [Deployment](/developers/deployment.md#official-addresses)        |
| CopyBlox (Sepolia developer toolkit)    | `0x928a2bd6c13e4f48a0850d2171a8d79b29959fc7`          | Open factory for experiments, Sepolia only. Not offered in the Platform deploy dialog | [Deployment](/developers/deployment.md#sepolia-developer-toolkit) |
| AccountBlox (Sepolia developer toolkit) | `0x783eb64d7d5de55f6913f9cb42ef5a4c402884c0`          | Template for experiments, Sepolia only; time lock from 1 second                       | [Deployment](/developers/deployment.md#sepolia-developer-toolkit) |
| Account link shape                      | `https://bloxchain.app/workspace/<chainId>/<address>` | Read-only for anyone; acting needs a wallet holding a role                            | [Open and share](/platform-guide/accounts/open-and-share.md)      |

The BasicFactory, BasicAccount, EngineBlox and definition library addresses are the same on every network in the [published address catalog](/introduction/supported-networks.md#published-address-catalog). The CopyBlox and AccountBlox rows are Sepolia only. All of them ship in `@bloxchain/contracts` as `official-deployed-addresses.json`; read them from that file rather than copying them into code or environment variables. See [Releases and compatibility](/resources/releases.md) for package versions.

## Stored on this device

| Thing                               | Value | Why it matters                                 | Where                                            |
| ----------------------------------- | ----- | ---------------------------------------------- | ------------------------------------------------ |
| Accounts kept in one browser        | 200   | The same limit applies to a backup file        | [Backup](/platform-guide/settings/backup.md)     |
| Custom networks kept in one browser | 50    | Cleared with site data, so export a backup     | [Networks](/platform-guide/settings/networks.md) |
| Backup file size on import          | 4 MB  | A larger file is refused with "File too large" | [Backup](/platform-guide/settings/backup.md)     |

## Sign-in, plans and organizations

| Thing                        | Value                                                                                                                     | Why it matters                                                                                           | Where                                                                                           |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| **Free**                     | No account needed, open to everyone                                                                                       | The whole operating surface works signed out                                                             | [Free, sign-in and organizations](/introduction/free-sign-in-organizations.md)                  |
| Sign in                      | Live for people who already have early access; everyone else joins the waitlist from the same dialog                      | The Free path loses nothing meanwhile                                                                    | [Free, sign-in and organizations](/introduction/free-sign-in-organizations.md)                  |
| Plans                        | **Free**, **Pro**, **Team**, **Enterprise**                                                                               | Sign-in is an identity, not a plan. Pricing is shown at checkout or on request; Enterprise is contact us | [Organizations and billing](/platform-guide/settings/organizations-and-billing.md)              |
| Organization before checkout | **Checkout required**, and it shows no accounts                                                                           | Not the same as Free                                                                                     | [Organizations and billing](/platform-guide/settings/organizations-and-billing.md)              |
| Watched addresses and alerts | Organizations on Pro and above only; follows and alerts per month capped per organization; Ethereum and Arbitrum One only | The cap is shared by all members. The page shows "Alert limit reached" at the cap                        | [Profile, notifications and privacy](/platform-guide/settings/profile-notifications-privacy.md) |
| Reference prices             | Resolve on Ethereum and Arbitrum One only                                                                                 | Everywhere else, Sepolia included, the **Value** column shows a dash                                     | [Assets](/platform-guide/operate/assets.md)                                                     |

## Related

* [FAQ](/resources/faq.md)
* [Glossary](/resources/glossary.md)
* [Troubleshooting](/resources/troubleshooting.md)
* [Known limitations](/security/audit-status/known-limitations.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.bloxchain.app/resources/limits-and-defaults.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
