> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-roethke-b20-upgrade-pages.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# IB20Factory Reference

> Generated B20 reference for IB20Factory functions, events, and errors.

## Functions

| Function | Selector | Summary |
| - | - | - |
| [`createB20`](/specifications/b20/reference/interfaces/ib20-factory/create-b20) | `0x62975e6a` | Creates a B-20 token of the given `variant` at the deterministic address derived |
| [`getB20Address`](/specifications/b20/reference/interfaces/ib20-factory/get-b20-address) | `0x8c30260f` | Returns the deterministic address `createB20` would assign for `(variant, sender, salt)`. Never reverts. |
| [`isB20`](/specifications/b20/reference/interfaces/ib20-factory/is-b20) | `0xfa19b927` | Returns whether `token` was created by this factory, recovered from the address prefix. Never reverts. |
| [`isB20Initialized`](/specifications/b20/reference/interfaces/ib20-factory/is-b20-initialized) | `0x6a45ba98` | Returns whether `createB20` has run to completion at `token`. Flips exactly once, |

## Events

| Event | Topic0 | Summary |
| - | - | - |
| `B20Created` | `0xfd9bf2730513a1709722ff379a0844dfd8f997d600693c2bcc659e188bbdba0d` | Emitted once per `createB20` invocation, after the token's identity is sealed |

## Errors

| Error | Selector | Summary |
| - | - | - |
| `NonPayable` | `0x6fb1b0e9` | ETH was attached to a call targeting a nonpayable factory selector. |
| `TokenAlreadyExists` | `0x15ef3a57` | A token already exists at the deterministic address derived from |
| `InvalidVariant` | `0xf10e8e43` | `variant` is not a recognized `B20Variant`. |
| `UnsupportedVersion` | `0xc0d8b4e0` | The leading `version` byte in `params` does not match any known encoding for the requested variant. |
| `MissingRequiredField` | `0x4a43ae87` | A required string argument was the empty string. |
| `InvalidCurrency` | `0x997c1de8` | The stablecoin `currency` was non-empty but contained a non-`A`-`Z` byte. |
| `InvalidDecimals` | `0xca950391` | The asset `decimals` was outside the allowed inclusive range |
| `InitCallFailed` | `0x4eae0860` | One of the `initCalls` reverted. The factory bubbles the underlying revert reason |
