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.
IDarweave27 / 36arweave · AR
Chain / Arweave

Arweave

"arweave""ar""Arweave"

Symbol
AR · 12 decimals
Coin type
472
CAIP-2
arweave:7wIU
Checks
address · txid
fields set 6 / 9

Network

CAIP-2arweave:7wIU
Magicnone
PoWnone
RPCarweave.net
Explorerviewblock.io/arweave

Access

Createcreate("arweave")
ResolvegetChain("ar")
CLIchains info ar
Tryplayground with a sample address

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. assertTxid runs the same rule under its own error.

ts
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.