Skip to main content
Minting PAXGy is a deposit of PAXG. The flow is: authorize PAXG, prepare the mint calldata, sign, and broadcast.
The endpoints are named deposit because they are shared across Paxos Labs yield products. For PAXGy, a deposit is a mint.
Minting happens on Ethereum mainnet only (chainId: 1). PAXG does not exist on X Layer, so there is nothing to mint from there. To end up with PAXGy on X Layer, either mint on Ethereum and transfer it across, or mint straight onto X Layer in one transaction. See Cross-Chain Transfers.

Step 1: Authorize PAXG

GET /v2/core/authorization tells you whether PAXG needs a permit signature, a standard approval, or already has enough allowance.
Branch on method:

Step 2: Prepare the mint

Parameters

A permit signature in a query string is exposed. This is a GET, so permitSignature and permitDeadline land in URLs, and therefore in browser history, proxy and server access logs, and any intermediate cache. A signature that has not yet been consumed on-chain is a bearer authorization to move the signer’s PAXG up to the permitted amount.If you use the permit path, call this endpoint from a trusted backend rather than a browser, redact query strings in your logging, set a short permitDeadline, and broadcast immediately so the window in which a leaked signature is usable stays small. The approve-and-deposit path in step 1 puts nothing sensitive in the URL and is the safer default when the extra transaction is acceptable.

Response

Broadcast it as-is:

Choosing slippageBps

The prepared calldata carries a minimum acceptable PAXGy amount. It is computed from the share rate and the mint fee at the moment you call the endpoint. PAXGy’s mint fee tracks the live PAXG:gold price, so both can move before the transaction lands. If they move further than your tolerance, the transaction reverts rather than filling at a worse rate. That is the intended protection, but it means the default 0.5% can be too tight for slow signing flows:
Widening slippage does not cost you anything when the market is calm. It only raises the worst case you are willing to accept. Do not set it so wide that a genuine price dislocation still fills.

Previewing the mint

To show a user what they will receive before they commit, read the current share rate and fee from GET /v2/amplify/vaults:
Each deployments[].assets[] entry carries depositFees for that asset. Remember the type: "dynamic" caveat: the figure is a snapshot, so label it as an estimate in your UI.

Errors

A 503 mentioning pricing means the gold price feed backing the fee has gone stale. This is transient and self-resolves; do not retry in a tight loop.

Next

Redemption

Exchange PAXGy back for PAXG.

Cross-chain

Mint directly onto another chain.