Skip to main content
The API Calldata path lets you prepare PAXGy transactions with plain HTTP requests. The server handles ABI encoding, address resolution, fee quoting, and contract selection, and you get back a transaction object ready to sign and broadcast from any language.
For full control over contract calls without an API dependency, see Direct Contract Integration.

Prerequisites

  • A Paxos Labs API key (format: pxl_<public_id>_<secret>), sent as the x-api-key header
  • An approved wallet address. See Access. Where an unapproved wallet is rejected depends on the flow: cross-chain transfers fail at preparation with a 403, while mint and redeem prepare successfully and revert when the transaction executes. Gate the action in your UI on approval status rather than relying on either.
  • An EVM signer and an HTTP client

Endpoints at a glance

Every endpoint takes vaultAddress (the PAXGy token address) and chainId.

Transaction preparation

Display helpers

Contract addresses

Rather than hard-coding these, read them from GET /v2/amplify/vaults at runtime, which returns the current addresses per chain. Ethereum mainnet (chain ID 1) X Layer (chain ID 196)
PAXG does not exist on X Layer, so there is nothing to mint from or redeem into there. X Layer is hold-and-transfer only: acquire PAXGy by minting on Ethereum and transferring it across, and redeem by transferring it back to Ethereum first. GET /v2/amplify/deposit and GET /v2/amplify/withdraw are Ethereum-only for PAXGy.

Amounts are base units

Every amount in this API is a decimal string in base units. PAXG and PAXGy are both 18-decimal, so 1 PAXG is "1000000000000000000". Never send a float or a human-readable string.

Fees move with the market

PAXGy’s mint and redemption fees are derived from the live PAXG:gold price rather than a fixed schedule. In GET /v2/amplify/vaults, those fees are marked "type": "dynamic":
A dynamic rate is a point-in-time reading and will move. Treat it as indicative for display, and let the prepare endpoints compute the actual limits that go into the transaction.
Because the fee moves, calldata prepared now can fail if the user takes a long time to confirm. Prepare as close to signing as you can, and widen slippageBps for slow signing flows such as multisig or hardware wallets.

Next

Minting

Deposit PAXG and receive PAXGy.

Redemption

Offer PAXGy and receive PAXG.

Cross-chain

Move PAXGy between Ethereum and X Layer.

Direct Contract

Call the contracts without the API.