Axiom Stack

On-chain primitives

The canonical on-chain identifiers you need to verify attestations or build USDC payments. All devnet.

Program

Program ID:  7jaScjdweyaX6HhzexauEiMe7s7zoqWnkQYLSbNaezeK
Cluster:     Solana devnet
RPC:         https://api.devnet.solana.com

Attestation PDA

Each asset's attestation is a PDA derived from the asset id:

seeds = [ b"property_state", <asset_id bytes> ]
pda, _bump = PublicKey.findProgramAddress(seeds, programId)
  • Equity: the asset_id is upper-cased before derivation (e.g. TSLA).
  • Real estate: the address string is used as-is.

You normally don't derive this yourself — axiom_request_attestation returns attestation_pda directly. Derivation is here so you can independently locate or re-check a record.

USDC settlement accounts (for top-up)

The /v1/topup flow pays USDC to the treasury:

USDC mint (devnet):      4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU
Treasury owner (payTo):  6pPcyDr16FJkZrh2s4ANfcSdUcBZKgD2KquXLUfuA3B3
Treasury USDC ATA:       AGbUpfxV1UkfmHGVP2jYiyrLkh1cp8bzTJqeNgLPriHP

payTo in the x402 PaymentRequirements is the owner wallet; the destination token account (ATA) is ATA(owner, mint) = AGbUpfxV…. The 402 response also returns the current values, so prefer reading them from the response over hard-coding.

Signers

Master Broker (attestation signer):  9BHC6c5Gv9tUL3DCzRSGkdApdU2QMwh29pxH4Q6zV9xR
Program upgrade authority (Ledger):  26EsRFpA8AgGWMo9gAQGhRZvLn5LSk8JYdCdVxogkfa5

See Verify on-chain for how to use these, and Architecture for what they govern.