Inkan 印鑑

Build, sign, and submit Cardano transactions from Elixir.

An inkan is the registered seal that makes a document official in Japan. This library is that seal for the Cardano blockchain: a small, carefully verified Elixir core for putting payments and metadata on chain — no Node sidecar, no wallet backend, no WASM.

Built and maintained by Inkwright, Inc., which runs its document-proof service on it in production.

Scope — a promise, not a roadmap

Inkan deliberately does a few things and aims to do them flawlessly:

Explicitly out of scope (today, and honestly maybe forever): Plutus scripts, minting, staking/governance certificates, chain indexing. A narrow library that is correct and maintained beats a sprawling one that is neither. If the scope grows, it grows because something in production needs it.

Correctness

Every cryptographic and serialization component is verified against reference implementations and published test vectors, and the test suite replays real on-chain transactions byte for byte. See test/ — the vectors ship with the library.

Status

Pre-release; the full scope above is implemented and verified (see Correctness), through to the one-call flow:

{:ok, wallet} = Inkan.Wallet.from_mnemonic(mnemonic, :mainnet)
config = Inkan.Provider.Blockfrost.config(blockfrost_project_id, :mainnet)

{:ok, tx_id} =
  Inkan.anchor(Inkan.Provider.Blockfrost, config, wallet, 7368, %{
    "doc_sha256" => sha256_hex
  })

Remaining before 0.1.0 on hex: a live preprod rehearsal and API-stability review. The public API may still shift until then.

Installation

def deps do
  [
    {:inkan, "~> 0.1"}
  ]
end

License

MIT © Inkwright, Inc.