Whitepaper · 12
Interoperability
How an A-REX token fits the existing world: Ethereum token standards, compliance engines, traceability and product-passport data standards, carbon footprints, legal-document registries, identity systems, cross-chain infrastructure and existing farm systems.
With the Ethereum ecosystem
An A-REX Core token is an ERC-1155 token. Wallets, explorers, marketplaces and indexers that understand ERC-1155 work unchanged: balances, batch transfers, uri(id), approvals, safe-transfer receiver checks. A-REX adds events and views; it removes nothing.
An A-REX Core token is an ERC-7943 multi-token. Compliance engines and custody platforms that target ERC-7943 (Chainlink's Automated Compliance Engine has demonstrated compatibility; issuance platforms in the ERC-7943 coalition are adopting it) recognize canTransfer, forcedTransfer, setFrozenTokens, canSend and canReceive without adaptation.
| Standard | Relationship |
|---|---|
| ERC-1155 | base; A-REX Core is an extension |
| ERC-165 | interface discovery; five ids published |
| ERC-7943 | required; enforcement surface adopted verbatim |
| ERC-3643 | reference adapter (ADR-020, Proposed): each lot can be read as an ERC-3643 token (balances, eligibility, frozen amounts, pause, movements) through a read-through view and a notification-only hook that cannot allow or refuse anything; the A-REX token is unchanged. Tested against T-REX 4.1.6. Wrapping an ERC-3643 compliance module as an IARexHook, and wrapping a lot as an ERC-3643 security, remain designs. Reading a lot through ERC-3643 does not make it a security. |
| ERC-735 / ONCHAINID claims | claim topics map directly to IARexAttest topics (bytes32(uint256 topic)); a reference claim issuer (ADR-021, Proposed) presents a company's A-REX standing as ONCHAINID claims that are valid only while A-REX trusts their signer, checked at the moment they are read, and only the signer revokes. Tested against ONCHAINID 2.2.1. |
| Ethereum Attestation Service | schema UIDs are valid IARexAttest topics; a reference mirror (ADR-022, Proposed) publishes live certificates and lot records on EAS under two resolver-free schemas and revokes its copies when A-REX revokes, distrusts or changes them. Tested against EAS 1.4.0. An EAS-backed IARexAttest registry remains a design. |
| ERC-7201 | storage layout of the reference implementation |
| ERC-7573, holds/escrow patterns | delivery-versus-payment and escrow are hooks or companion contracts; the standard does not prescribe settlement |
| ERC-7802 / Chainlink CCIP | cross-chain mint/burn adapters can wrap the token; lineage stays on the origin chain, references travel |
With traceability data standards
GS1 EPCIS 2.0 / CBV
The standard publishes an informative mapping, event by event:
| On-chain | EPCIS 2.0 |
|---|---|
BatchCreated | ObjectEvent ADD, bizStep = creating_class_instance (lot level) or commissioning when instance ids are assigned, quantityList (unit from Rec. 20), lot master data in ilmd |
TransferSingle / TransferBatch | ObjectEvent OBSERVE with the owning parties as source and destination; no bizStep for a pure change of ownership, shipping/receiving only when the metadata or a traceability hook says the goods moved |
BatchTransformed | TransformationEvent (inputQuantityList, outputQuantityList, transformationID from processRef); bizStep = repackaging for a re-batch, creating_class_instance for processing |
BatchCreated with upstream references | TransformationEvent when the goods were processed from another token's batch, otherwise an ObjectEvent with the supplier as source; the shared epcClass joins it to the supplier's own event |
ForcedTransfer | ObjectEvent OBSERVE, holding when the goods are placed under legal hold |
BatchStatusChanged | ObjectEvent with disposition from the issuer's status table |
Attested / AttestationRevoked | ObjectEvent (inspecting, or sampling for a laboratory) with the certificate reference |
metadata gs1.* | GTIN, LGTIN, SSCC, GLN, Digital Link |
metadata extensions | ilmd of the creating event; a declared footprint as arex:declaredFootprint |
The metadata schema uses EPCIS/CBV names on purpose so that an exporter maps fields, not concepts.
UN Transparency Protocol (UNTP 0.7.0)
An informative mapping turns a batch, its events and its attestations into UNTP 0.7.0 credentials, with the same identifiers as the EPCIS mapping so the two can be joined:
| A-REX | UNTP credential | Issued by |
|---|---|---|
| the batch, its origin, facility and certificates | Digital Product Passport (credentialSubject a Product, one per batch) | the batch issuer |
| mint and processing; transfers and receipts; burns, status changes and metadata corrections | Digital Traceability Events: MakeEvent; MoveEvent; ModifyEvent, each linked to its transaction | the batch issuer |
| an attestation from a certifier or a laboratory | a reference to the assessor's Digital Conformity Credential | the assessor, never the batch issuer |
Credentials follow the W3C Verifiable Credentials Data Model 2.0 and are signed with VC-JOSE-COSE under the issuer's did:web; revocation uses a Bitstring Status List. A signed credential can also be anchored to its batch as an attestation whose reference is the credential's hash; the anchor proves the commitment, the signature proves the content. A credential carries only what the token or its metadata holds, and values that need a method (a footprint, a risk score) appear only when a named party declared them. The mapping states what it does not cover, starting with the EU Digital Product Passport: the ESPR does not apply to food, feed or live plants and animals, and A-REX makes no passport claim for them.
Declared carbon footprints (PACT 3.0.3)
ADR-018 (Proposed) lets a batch carry a product carbon footprint that a third party calculated, under extensions.pact_pcf of the metadata document. The fragment follows the WBCSD PACT Technical Specifications 3.0.3 field by field: who declared it, the declared unit and reference period, the footprint with and without biogenic uptake, and a required verification status that names the verifier when the footprint is verified. It is copied, never calculated, summed or passed on to the batches made from the lot, and it is not a carbon credit (ADR-014). The mapping is a separate derivative of PACT and copies no PACT file.
Commodity and unit codes
A commodity code is keccak256("<SCHEME>:<CODE>") for any scheme: the Harmonized System (HS), national tariff nomenclatures (NCM in Mercosur, CN and TARIC in the EU, HTS in the United States, and others), FAO, CPC, GTIN, or the issuer's own. Since metadata schema 1.1.0 the scheme in the document is open too, so the metadata can mirror the on-chain code. Units are UN/CEFACT Recommendation 20 codes (KGM, TNE, LTR), the list EDI, EPCIS and customs already use.
FSMA 204
Key data elements are metadata fields (traceabilityLotCode, GLN, dates, quantities) and events; the transformation CTE is BatchTransformed; the 24-hour record request is an indexer query. See the regulatory chapter for the full mapping.
Codex, ISO 22000, GLOBALG.A.P., organic schemes
All are attestation topics. The standard does not enumerate them: keccak256("GLOBALGAP:IFA"), keccak256("AREX:CERT:ORGANIC_EU"), keccak256("CODEX:MRL") are conventions the issuer publishes with its metadata schema.
With legal-document registries
A-REX tokens reference legal instruments; they do not replace them until a jurisdiction recognizes the token itself:
| Instrument | Where it lives | How the token references it |
|---|---|---|
| U.S. electronic warehouse receipt (7 CFR 869) | USDA-authorized EWR provider | documents[].registry, originRef |
| Brazilian CPR-e, CDA/WA | Central Bank-authorized registrars | documents[].registryId; pre-harvest batch with producedAt == 0 |
| Argentine certificado de depósito / warrant (Law 9.643) | warehouse | originRef hash |
| Electronic bill of lading (MLETR jurisdictions) | eBL platform | document hash; in MLETR jurisdictions the token can itself satisfy exclusive control |
| EUDR due-diligence statement | EU Information System | origin.eudr.ddsReference, attestation EUDR:DDS |
With identity systems
The token asks only canSend(account) / canReceive(account). Behind that question can sit:
- an allow/block list maintained by the issuer (
EligibilityHook); - an ONCHAINID identity registry with claim topics (the ERC-3643 model);
- Ethereum Attestation Service attestations on the account;
- verifiable credentials verified off-chain and reflected on-chain by a relayer;
- a national e-ID scheme (eIDAS 2.0 wallet in the EU) through a credential verifier.
None of them is part of the standard, which is why an issuer in Brazil and one in Germany can use different providers and remain interoperable.
With rule engines and platforms
A rule or an add-on can publish an arex.module/1 descriptor: a JSON document with its parameters, settings, required batch fields, certificate types, events, rejection codes and how its state carries over to a new version. A platform, wallet, indexer or auditor that reads descriptors integrates a new rule without custom code. The format is informative and Proposed; it becomes a recommended format once a second independent implementer consumes it. Revision 1.1 adds an optional, informative ops list of the operations a rule governs; absent means unknown, and it is never used for enforcement.
Cross-chain deployment
The standard is chain-agnostic. Practical patterns:
- Single home chain per issuer (recommended): lineage and enforcement stay coherent; other chains hold wrapped representations via ERC-7802-style adapters or CCIP.
- Permissioned EVM chain for issuers whose data-protection authority or anchor institution requires it; the EDPB expressly favours permissioned designs. Same bytecode.
- Mirrors for liquidity: a batch id on the home chain, an ERC-20 wrapper elsewhere; the wrapper must honour
canTransferof the home token or restrict itself to eligible holders.
Lineage never crosses chains; references do. Between tokens on the same chain or on different chains, a batch made from another token's batch names it in the upstream list of its metadata (schema 1.2.0) by chain id, contract and token id. Those references are the issuer's claims, to be checked against the upstream token.
With farm management and ERP systems
Integration points are the same as for any ERC-1155 token plus the batch views:
- Write path: an origination service holds
ISSUER_ROLEand callscreateBatchfrom ERP events (weighbridge ticket, receipt issuance);setBatchStatus/setBatchMetadatafrom warehouse events;transformfrom processing orders. - Read path: an indexer materializes batches, lineage, attestations and enforcement events into the ERP's traceability tables; EPCIS export for partners and regulators.
- Pre-flight:
transferChecklets an ERP explain a refusal to an operator before submitting a transaction. - Identifiers: GS1 keys in metadata bridge to existing EDI and EPCIS repositories; UN/CEFACT units are already in ERPs.
Compatibility matrix
| Capability | Status |
|---|---|
| ERC-1155 wallets / marketplaces | native |
| ERC-7943 compliance tooling | native |
| ERC-3643 tooling reading lots | reference adapter (ADR-020, Proposed) |
| ERC-3643 compliance modules as hooks | design |
| ONCHAINID claims from A-REX standing | reference claim issuer (ADR-021, Proposed) |
| ERC-735 / EAS attestations | topic mapping; EAS mirror (ADR-022, Proposed) |
| EPCIS 2.0 export | informative event mapping; field names in the schema; indexer-side |
| UNTP 0.7.0 credentials | informative mapping; signed by the issuer (did:web, VC-JOSE-COSE) |
| PACT 3.0.3 footprints | extensions.pact_pcf (ADR-018, Proposed) |
| Rule descriptors | arex.module/1 (informative, Proposed) |
| Lineage between tokens | metadata upstream (schema 1.2.0) |
| Permissioned EVM | same bytecode |
| Cross-chain | wrappers; lineage stays home |