# `Onchain`
[🔗](https://github.com/ZenHive/onchain-stack/blob/onchain-v0.14.0/packages/onchain/lib/onchain.ex#L1)

Shared Ethereum/blockchain library providing read and write capabilities.

Uses `cartouche` as the sole Ethereum dependency for RPC calls, ABI encoding,
transaction signing, and cryptographic operations.

## Discovery

Use `Onchain.describe/0` for a module overview, `Onchain.describe/1` for
function listings, and `Onchain.describe/2` for full function details.

# `__descripex_modules__`

```elixir
@spec __descripex_modules__() :: [module()]
```

Return the list of modules registered with this library.

# `describe`

```elixir
@spec describe() :: [map()]
```

Return a Level 1 overview of all modules in this library.

# `describe`

```elixir
@spec describe(module() | atom() | String.t()) :: [map()]
```

Return Level 2 function list for a module (by full atom, or short name as string or atom).

# `describe`

```elixir
@spec describe(module() | atom() | String.t(), atom()) :: map() | nil
```

Return Level 3 function detail (or `nil` if not found).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
