Chains

Arweave

Canonical 43-character base64url: a 32-byte hash with no padding and zero unused bits. Transaction IDs share the format, so a match cannot tell them apart.
create
create("arweave")
family
Arweave · arweave
symbol
AR · 12 decimals
bip44
472
caip2
arweave:7wIU
explorer
viewblock.io/arweave

Address format

A 32-byte hash in unpadded base64url, 43 characters, with the two unused bits of the last digit required to be zero. That's why the last character can only be one of AEIMQUYcgkosw048. The optional :checksum suffix isn't supported and an address carrying one is rejected.

Transaction IDs are the same 32 bytes in the same encoding, so a string that fits could be either. This check tells you it's a well formed Arweave identifier, not that it's a wallet.

import { getChain } from "@agntn/chains";

const chain = getChain("ar");
chain.assertAddress("kY9RAgTJEImkBpiKgVeXrsGV02T-D4dI3ZvSpnn7HSk"); // returned unchanged
chain.type; // "arweave"
chain.caip2; // "arweave:7wIU"

Spellings

arweave, ar, Arweave. The key is arweave, the rest resolve through getChain.

@agntn/chains·MIT license· A format check, not proof an address exists. Nothing on this site talks to a chain.