<!--
Sitemap:
- [Overview](/index): Introducing Parallel
- [Products](/introduction/products): Stablecoins & Savings
- [Use Cases](/introduction/use-cases): Concrete use cases of Parallel
- [Parallel V3](/products/parallel-v3/): Parallel V3 is a stablecoins protocol allowing the creation of decentralized, capital-efficient and over-collateralized stablecoins built using a modular & upg…
- [How It Works](/products/parallel-v3/how-it-works/): Parallel V3 is designed as a modular and scalable system where each functional component exists as an independent module. These modules can be deployed, upgrad…
- [Parallelizer Module](/products/parallel-v3/how-it-works/parallelizer-module): Explaining the Parallelizer Module
- [Savings Module](/products/parallel-v3/how-it-works/savings-module): The Parallel Savings Module is what allows Parallel stablecoin holders to earn a native yield based on the returns generated by the protocol on its assets back…
- [Bridging Module](/products/parallel-v3/how-it-works/bridging-module): The Bridging Module is entirely based on the Parallel V2 [Bridging Module](/products/parallel-v2/how-it-works/bridging-module), which is live on Ethereum, Poly…
- [Flashloan Module](/products/parallel-v3/how-it-works/flashloan-module): Flash loans (also called One Block Borrows) are special transactions that allow the borrowing of an asset, as long as the borrowed amount (and a fee) is return…
- [Stablecoins & Savings](/products/parallel-v3/stablecoins-and-savings/): Introducing Parallel Stablecoins
- [USDp & sUSDp](/products/parallel-v3/stablecoins-and-savings/usdp-and-susdp/)
- [Implementation](/products/parallel-v3/stablecoins-and-savings/usdp-and-susdp/implementation): Detailing current USDp production implementation
- [Fee Distribution](/products/parallel-v3/stablecoins-and-savings/usdp-and-susdp/fee-distribution): Parallel V3 generated fees by the USDp codebase are distributed as follow:
- [Governance](/products/parallel-v3/governance): While the main functionalities of Parallel V3 can work autonomously with no governance involved, Parallel V3 is not a governance-free protocol and is controlle…
- [Licensing](/products/parallel-v3/licensing): Parallel V3 is divided into 3 different repositories, each with different licenses:
- [Parallel V2](/products/parallel-v2/): Parallel V2 is a decentralized protocol that issues stablecoins, the € stablecoin ([PAR](https://docs.parallel.best/parallel-protocol/parallel-v2/par)) and the…
- [Stablecoins](/products/parallel-v2/stablecoins/): Parallel V2 Stablecoins
- [PAR](/products/parallel-v2/stablecoins/par/): **Token Symbol:** PAR
- [How does PAR work?](/products/parallel-v2/stablecoins/par/how-does-par-work)
- [Where can I get PAR ?](/products/parallel-v2/stablecoins/par/where-can-i-get-par)
- [paUSD](/products/parallel-v2/stablecoins/par-1/): paUSD is a USD stablecoin backed by collaterals, and can only be minted with governance-approved collaterals. paUSD are created when users deposit accepted tok…
- [How does paUSD work?](/products/parallel-v2/stablecoins/par-1/how-does-pausd-work)
- [Where can I get paUSD ?](/products/parallel-v2/stablecoins/par-1/where-can-i-get-pausd)
- [How It Works](/products/parallel-v2/how-it-works/)
- [Classic Vaults](/products/parallel-v2/how-it-works/vaults/): The core of the Parallel Protocol are **Vaults**. Users mint **PAR/paUSD** by depositing **collateral** such as Ether (ETH) into the Vault smart contract. The…
- [Depositing](/products/parallel-v2/how-it-works/vaults/depositing): The first step to start interacting with the Mimo protocol is to create a Vault and deposit collateral. Increasing the amount of collateral deposited increases…
- [Borrowing](/products/parallel-v2/how-it-works/vaults/borrowing): Borrowers can repay or borrow more PAR/paUSD at any time, within the limits of the MCR. Borrowing alters the total supply of outstanding PAR/paUSD. When one bo…
- [Fees](/products/parallel-v2/how-it-works/vaults/fees/): The Parallel Protocol is generating revenues by taking fees on minted PAR/paUSD and distribute them to various actors. You can learn more:
- [Fees Generation](/products/parallel-v2/how-it-works/vaults/fees/fees-generation): The Parallel Protocol is generating revenues by taking fees on minted PAR/paUSD. These fees are called "Origination Fee" and "Borrowing Fee".
- [Withdrawing](/products/parallel-v2/how-it-works/vaults/withdrawing): Withdrawing involves redeeming PAR/paUSD for the underlying collateral. When redeemed, the system burns PAR/paUSD tokens to repay a vault’s debt. This debt inc…
- [Repaying](/products/parallel-v2/how-it-works/vaults/repaying): Vault owners are recommended to keep their collateral ratios well above the MCR and LR to avoid liquidations despite collateral price changes. One way to maint…
- [Liquidating](/products/parallel-v2/how-it-works/vaults/liquidating): Liquidation ensures that there is always sufficient collateral to cover all PAR/paUSD tokens. Vaults below a specified health factor are subject to liquidation…
- [Bridging Module](/products/parallel-v2/how-it-works/bridging-module/): Tunnel, the Parallel bridging module is a secure, scalable, and decentralized bridging infrastructure which enable seamless transfer of PAR and paUSD between s…
- [LayerZero Infrastructure](/products/parallel-v2/how-it-works/bridging-module/layerzero-infrastructure)
- [Specifications](/products/parallel-v2/how-it-works/bridging-module/specifications)
- [Implementation](/products/parallel-v2/how-it-works/bridging-module/implementation/): The currently voted implementation of the PAR & paUSD bridging modules can be found here:
- [PAR](/products/parallel-v2/how-it-works/bridging-module/implementation/par)
- [paUSD](/products/parallel-v2/how-it-works/bridging-module/implementation/pausd)
- [Super Vaults (SV)](/products/parallel-v2/how-it-works/super-vaults-sv/): Super Vaults are a versatile tool for managing positions in changing markets. For example, if you're initially very bullish on an asset like wETH, you can use…
- [Leveraging](/products/parallel-v2/how-it-works/super-vaults-sv/leveraging): SuperVaults allow for leveraging assets without any additional capital.
- [Rebalancing](/products/parallel-v2/how-it-works/super-vaults-sv/rebalancing): In addition to leveraging, SuperVaults also allow for rebalancing vaults to use another collateral without requiring any additional capital.
- [EmptyVault](/products/parallel-v2/how-it-works/super-vaults-sv/emptyvault): The `emptyVault` feature can be used to once we are done using a vault for a specific collateral and we wish to repay all debts for the collateral and withdraw…
- [Automated Rebalance](/products/parallel-v2/how-it-works/super-vaults-sv/automated-rebalance)
- [Managed Rebalance](/products/parallel-v2/how-it-works/super-vaults-sv/managed-rebalance): The automated vault system is designed to provide users with confidence in each automated rebalance, ensuring that rebalances are done in a sensible manner and…
- [Licensing](/products/parallel-v2/licensing): Parallel V2 is licensed under MIT license. Basically, you can do whatever you want as long as you include the original copyright and license notice in any copy…
- [Proof of Solvency](/security/proof-of-solvency): Parallel V3 Proof of Solvency
- [Parallel Emergency Guardians](/security/parallel-emergency-guardians): As the protocol is deployed on 16 chains and brings a major innovation in the ecosystem, it is possible that, despite different audits, a minor or major proble…
- [Hypernative](/security/hypernative): As the protocol is deployed on 16 chains and brings a major innovation in the ecosystem, it is possible that, despite different audits, a minor or major proble…
- [Keepers](/security/keepers): Role and responsibilities of Keepers in maintaining Parallel V3 protocol operations
- [Bug Bounty Program](/security/bug-bounty-program): Introduced & approved by the DAO in [PGP-28 l Immunefi Bug Bounty Program](https://gov.parallel.best/t/pgp-28-l-immunefi-bug-bounty-program/478), the Parallel…
- [Insurance Fund](/security/insurance-fund): Detailing the coverage and strategy of the Parallel Insurance Fund
- [Audits](/security/audits): A breakdown of security reviews covering deployed smart contracts of Parallel
- [Parallel Governance Token (PRL)](/governance/parallel-governance-token-prl/): PRL is the governance token of the Parallel Protocol, which is a DAO-governed protocol. Changes are made through proposals and voted by stakers of the PRL toke…
- [Issuance](/governance/parallel-governance-token-prl/issuance): Understanding the PRL issuance process
- [Bridging Module](/governance/parallel-governance-token-prl/bridging-module/): The PRL bridging module is a secure, scalable, and decentralized bridging infrastructure which enable seamless transfer of PRL between supported chains. The mo…
- [Specifications](/governance/parallel-governance-token-prl/bridging-module/specifications): PRL Bridging Module Specifications
- [Implementation](/governance/parallel-governance-token-prl/bridging-module/implementation): PRL Bridging Module Implementation
- [Tokenomics](/governance/parallel-governance-token-prl/tokenomics/): The new Parallel protocol tokenomics is a complete overhaul of the way PRL is involved in the economic and social operations of the protocol, with the aim of a…
- [Epoch Concept](/governance/parallel-governance-token-prl/tokenomics/epoch-concept): The epoch will serve as the central unit of time in the new tokenomics. An epoch consists of a number of 30 days. It will be used to determine the [ParaBoost](…
- [Staking Mechanisms](/governance/parallel-governance-token-prl/tokenomics/staking-mechanisms): PRL holders have the option to stake their tokens in 2 different forms: sPRL1, single PRL staking; and sPRL2, PRL/wETH 80/20 BPT staking. Each option allows ho…
- [ParaBoost](/governance/parallel-governance-token-prl/tokenomics/paraboost): Parallel Boost (ParaBoost) is a concept that distributes fees to PRL stakers who generate the most positive externalities that benefit the protocol.
- [Fee Distribution](/governance/parallel-governance-token-prl/tokenomics/fee-distribution): One of the major innovations implemented with the PRL new tokenomics is the redistribution of a portion of the fees generated by the protocol to [PRL stakers](…
- [Governance](/governance/parallel-governance-token-prl/governance): sPRL1 and sPRL2 holders have voting power in the Parallel governance, calculated via the ParaBoost of the previous epoch. To learn more about Governance Proces…
- [MIMO to PRL Migration](/governance/parallel-governance-token-prl/mimo-to-prl-migration): On April 18th 2025 the DAO approved a migration of the MIMO Token (the previous governance token of the Parallel Protocol) for a new token, PRL.
- [sPRL and Voting Power](/governance/sprl): Understanding how to participate in the DAO.
- [Governance Process](/governance/governance-process): The Parallel Protocol is controlled by sPRL token holders who vote on off-chain proposals (on Parallel [Snapshot](https://vote.parallel.best/#/)) that govern t…
- [Proposal Framework](/governance/proposal-framework/): With the recent Parallel Governance Framework Proposal [update](https://gov.parallel.best/t/mip-29-l-update-the-governance-framework/384), the Parallel protoco…
- [Parallel Integration Request (PIR)](/governance/proposal-framework/parallel-integration-request-pir): Explaining Parallel Integration Request
- [Parallel Governance Proposal (PGP)](/governance/proposal-framework/parallel-governance-proposal-pgp): Explaining Parallel Governance Proposal
- [Parallel Improvement Protocol (PIP)](/governance/proposal-framework/parallel-improvement-protocol-pip): Explaining Parallel Improvement Protocol
- [DAO Multisigs](/governance/dao-multisigs/): DAO multisigs controls several functions of the protocol including the treasury, protocol parameters and the blog. The DAO multisig will require 5/8 signatures…
- [DAO Multisigs Elections](/governance/dao-multisigs/dao-multisigs-elections/): Multisigs DAO signers are elected every 6 months. Find out about previous elections here:
- [Election 1](/governance/dao-multisigs/dao-multisigs-elections/election-1): Discussion: [MIP-1┃DAO Multisig Election 1 ](https://gov.parallel.best/t/mip-1-dao-multisig-election-1/157)\ Vote: [Snapshot](https://vote.parallel.best/#/prop…
- [Election 2](/governance/dao-multisigs/dao-multisigs-elections/election-2): Discussion: [MIP-10┃DAO Multisig Election 2](https://gov.parallel.best/t/mip-10-dao-multisig-election-2/215)\ Vote: [Snapshot](https://vote.parallel.best/#/pro…
- [Election 3](/governance/dao-multisigs/dao-multisigs-elections/election-3): Discussion: [MIP-15┃DAO Multisig Election 3](https://gov.parallel.best/t/mip-15-dao-multisig-election-3/279)\ Vote: [Snapshot](https://vote.parallel.best/#/pro…
- [Election 4](/governance/dao-multisigs/dao-multisigs-elections/election-4): Discussion: [MIP-18┃DAO Multisig Election 4](https://gov.parallel.best/t/mip-18-dao-multisig-election-4/312)\ Vote: [Snapshot](https://vote.parallel.best/#/pro…
- [Election 5](/governance/dao-multisigs/dao-multisigs-elections/election-5): Discussion: [MIP-26 l DAO Multisig Election 5](https://gov.parallel.best/t/mip-26-l-dao-multisig-election-5/361)\ Vote: [Snapshot](https://vote.parallel.best/#…
- [Election 6](/governance/dao-multisigs/dao-multisigs-elections/election-6): Discussion: [PIP-38 l DAO Multisig Election 6](https://gov.parallel.best/t/pip-38-l-dao-multisig-election-6/423)\ Vote: [Snapshot](https://vote.parallel.best/#…
- [Election 7](/governance/dao-multisigs/dao-multisigs-elections/election-7): Discussion: [PIP-49 l DAO Multisig Election 7](https://gov.parallel.best/t/pip-49-l-dao-multisig-election-7/470)\ Vote: [Snapshot](https://vote.parallel.best/#…
- [Election 8](/governance/dao-multisigs/dao-multisigs-elections/election-8): Discussion: [PIP-53 l DAO Multisig Election 8](https://gov.parallel.best/t/pip-53-l-dao-multisig-election-8/498)\ Vote: [Snapshot](https://vote.parallel.best/#…
- [DAO Treasury](/governance/dao-treasury/)
- [DAO Treasury Reports](/governance/dao-treasury/dao-treasury-reports): :::warning 1. The August 2025 DAO Treasury Report doesn't count the value of 249,991 USDp. Thus the real DAO Treasury value is \$1,190,486. 2. The October 2025…
- [Introduction](/developers-hub/developers-guide): Coming Soon ([https://github.com/orgs/parallel-protocol/repositories](https://github.com/orgs/parallel-protocol/repositories))
- [Parallel Governance Token (PRL)](/developers-hub/parallel-governance-token-prl/)
- [Tokenomics](/developers-hub/parallel-governance-token-prl/tokenomics/)
- [Key Operations Flows](/developers-hub/parallel-governance-token-prl/tokenomics/key-operations-flows)
- [Contracts](/developers-hub/parallel-governance-token-prl/tokenomics/contracts)
- [Parallel V3](/developers-hub/parallel-v3/)
- [Parallelizer Module](/developers-hub/parallel-v3/parallelizer-module): :::warning Known Issue:
- [Savings Module](/developers-hub/parallel-v3/savings-module)
- [Flashloan Module](/developers-hub/parallel-v3/flashloan-module)
- [Bridging Module](/developers-hub/parallel-v3/bridging-module)
- [Onchain Tools](/developers-hub/parallel-v3/onchain-tools/)
- [Oracles](/developers-hub/parallel-v3/onchain-tools/oracles/): Explore Parallel price feeds deployed by third party protocols.
- [DIA](/developers-hub/parallel-v3/onchain-tools/oracles/dia/): Following the approval of [PGP-34 l Launch Parallel Stablecoins Price Feeds using DIA](https://gov.parallel.best/t/pgp-34-l-launch-parallel-stablecoins-price-f…
- [Fundamental](/developers-hub/parallel-v3/onchain-tools/oracles/dia/fundamental): More details on Fundamental DIA Oracles
- [Market](/developers-hub/parallel-v3/onchain-tools/oracles/dia/market): More details on Market DIA Oracles
- [RedStone](/developers-hub/parallel-v3/onchain-tools/oracles/redstone/): Following the approval of [PGP-33 l Launch Parallel Stablecoins Price Feeds using Redstone](https://gov.parallel.best/t/pgp-33-l-launch-parallel-stablecoins-pr…
- [Fundamental](/developers-hub/parallel-v3/onchain-tools/oracles/redstone/fundamental): More details on Fundamental RedStone Oracles
- [Offchain Tools](/developers-hub/parallel-v3/offchain-tools/)
- [Subgraphs](/developers-hub/parallel-v3/offchain-tools/subgraphs): Detailing the list of available subgraphs.
- [Dune](/developers-hub/parallel-v3/offchain-tools/dune): Coming soon
- [Build on Parallel](/developers-hub/parallel-v3/build-on-parallel/): The goal of these guides is to help developers, such as third-party protocols, arbitrageurs or keepers; understand and build on-top of Parallel.
- [Parallelizer Module Integration](/developers-hub/parallel-v3/build-on-parallel/parallelizer-module-integration): The Parallelizer module serves as the core minting and burning engine for Parallel stablecoins.
- [Savings Module Integration](/developers-hub/parallel-v3/build-on-parallel/savings-module-integration): The Savings module provides a yield-bearing vault system built on the ERC4626 standard, allowing users to deposit Parallel stablecoins and earn interest throug…
- [Flashloan Module Integration](/developers-hub/parallel-v3/build-on-parallel/flashloan-module-integration): The Flashloan module serves as the core minting and burning engine for Parallel stablecoins.
- [Parallel V2](/developers-hub/parallel-v2/)
- [Classic Vaults](/developers-hub/parallel-v2/classic-vaults/): The Parallel Protocol's classic vaults smart contracts are open source on Github:
- [Architecture](/developers-hub/parallel-v2/classic-vaults/architecture): ​The Parallel Protocol is a collection of decentralized and non-custodial smart contracts built to support the rest of the Decentralised Finance (DeFi) ecosyst…
- [VaultsCore](/developers-hub/parallel-v2/classic-vaults/vaultscore): The **VaultsCore** contract is the main interface for the user to interact with the Parallel protocol’s collateralized debt system, such as depositing, borrowi…
- [Opening a vault](/developers-hub/parallel-v2/classic-vaults/opening-a-vault): *As of July 2021, the Parallel Protocol Vaults supports the following collateral assets: WETH, WBTC, and USDC.*
- [Borrowing and minting PAR/paUSD](/developers-hub/parallel-v2/classic-vaults/borrowing-and-minting-par-pausd): To borrow and mint PAR/paUSD equal to `BORROW_AMOUNT`, call the `VaultsCore.borrow()` function.
- [Bridging Module](/developers-hub/parallel-v2/bridging-module/)
- [Architecture](/developers-hub/parallel-v2/bridging-module/architecture)
- [Sample Use Cases](/developers-hub/parallel-v2/bridging-module/sample-use-cases)
- [Super Vault (SV)](/developers-hub/parallel-v2/super-vault-sv/): The Super Vaults smart contracts are open source on Github:
- [Proxy Design](/developers-hub/parallel-v2/super-vault-sv/proxy-design/)
- [MIMOProxy](/developers-hub/parallel-v2/super-vault-sv/proxy-design/mimoproxy): Super Vault utilizes a proxy pattern to enable users to make proxy calls on behalf of other users and interact with various contracts (e.g., Parallel core prot…
- [MIMOProxyGuard](/developers-hub/parallel-v2/super-vault-sv/proxy-design/mimoproxyguard): As previously mentioned, the management of MIMOProxy's permissions has been delegated to the `MIMOProxyGuard`, which is deployed through the Openzeppelin Clone…
- [MIMOProxyFactory](/developers-hub/parallel-v2/super-vault-sv/proxy-design/mimoproxyfactory): The `MIMOProxyFactory` handles :
- [Action Contracts](/developers-hub/parallel-v2/super-vault-sv/action-contracts/)
- [MIMOEmptyVault](/developers-hub/parallel-v2/super-vault-sv/action-contracts/mimoemptyvault): The `MIMOEmptyVault` action contracts handle the super vault empty vault logic described in [Empty Vault](/products/parallel-v2/how-it-works/super-vaults-sv/em…
- [MIMOLeverage](/developers-hub/parallel-v2/super-vault-sv/action-contracts/mimoleverage): The `MIMOLeverage` action contract handle the super vault empty vault logic described in [Leveraging](/products/parallel-v2/how-it-works/super-vaults-sv/levera…
- [MIMORebalance](/developers-hub/parallel-v2/super-vault-sv/action-contracts/mimorebalance): The `MIMOLeverage` action contract handle the super vault empty vault logic described in [Rebalancing](/products/parallel-v2/how-it-works/super-vaults-sv/rebal…
- [MIMOAutoRebalance](/developers-hub/parallel-v2/super-vault-sv/action-contracts/mimoautorebalance): The `MIMOAutoRebalance` action contract handle the super vault empty vault logic described in [Automated Rebalance](/products/parallel-v2/how-it-works/super-va…
- [MIMOManagedRebalance](/developers-hub/parallel-v2/super-vault-sv/action-contracts/mimomanagedrebalance): The `MIMOManagedRebalance` action contract handle the super vault empty vault logic described in [Managed Rebalance](/products/parallel-v2/how-it-works/super-v…
- [MIMOProxyActions](/developers-hub/parallel-v2/super-vault-sv/action-contracts/mimoproxyactions): The `MIMOProxyActions` contract can be seen as an extension of the `MIMOProxy`. It adds 2 main functionalities :
- [MIMOVaultActions](/developers-hub/parallel-v2/super-vault-sv/action-contracts/mimovaultactions): The `MIMOVaultActions` actions contract is a mirror of the `VaultsCore` owner access restricted functionalities. Its sole purpose is to provide a readable way…
- [Leverage Max Amount Derivation](/developers-hub/parallel-v2/super-vault-sv/leverage-max-amount-derivation): If we have a starting amount of collateral `S`, the Minimum Collateralization Ratio (MCR) of the collateral limits how much additional collateral `L` we can le…
- [Addresses](/developers-hub/contract-addresses/): Deployed Parallel Contracts
- [Parallel V3](/developers-hub/contract-addresses/parallel-v3/): In this section you can find deployed Parallel V3 contract addresses:
- [USDp Contract Addresses](/developers-hub/contract-addresses/parallel-v3/usdp/): Deployed USDp contracts across supported chains.
- [PRL Contract Addresses](/developers-hub/contract-addresses/parallel-v3/prl/): Deployed PRL contracts across supported chains.
- [Parallel V2](/developers-hub/contract-addresses/parallel-v2/): In this section you can find deployed contract addresses for PAR & paUSD:
- [PAR Contract Addresses](/developers-hub/contract-addresses/parallel-v2/par/): Deployed PAR contracts across supported chains.
- [PAUSD-DEPRECATED Contract Addresses](/developers-hub/contract-addresses/parallel-v2/pausd-deprecated/): Deployed PAUSD-DEPRECATED contracts across supported chains.
- [MIMO-DEPRECATED Contract Addresses](/developers-hub/contract-addresses/parallel-v2/mimo-deprecated/): Deployed MIMO-DEPRECATED contracts across supported chains.
- [Build with Parallel](/agents/overview): Accept stablecoin payments from AI agents in any API. Drop-in middleware for Express, Next.js, Fastify, and Hono. Free, MIT-licensed, zero platform fees.
- [What is x402?](/agents/x402/): x402 is the HTTP-native payment standard for AI agents. Accept stablecoin payments per request with zero platform fees, sponsored gas, and no signup.
- [Accept stablecoins in Express in 5 minutes](/agents/x402/quickstart): Add stablecoin payment support to any Express, Next.js, Fastify, or Hono API with one middleware. Free, sponsored gas, no signup.
- [Build an agent that pays in 5 minutes](/agents/x402/agent-quickstart): Make your AI agent pay x402 APIs autonomously with @parallel-protocol/x402-fetch — a drop-in fetch replacement. Gasless, with a hard spend cap.
- [How the Parallel x402 facilitator works](/agents/x402/concepts): Routing, fees, gas sponsoring, and supported networks for the Parallel x402 facilitator. Accept USDp, USDC, and sUSDp with zero platform fees.
- [The verify / settle flow](/agents/x402/verify-vs-settle): How the Parallel x402 middleware verifies a payment off-chain, runs your handler, then settles on-chain — so agents are never charged for failed requests.
- [x402 SDK & facilitator API reference](/agents/x402/api-reference): Configuration, framework adapters, and the facilitator client for the Parallel x402 SDK — paymentMiddleware, withPayment, FacilitatorClient, and createPaymentGate.
- [x402 payment schemas](/agents/x402/schemas): Wire formats for the Parallel x402 payment headers — PaymentRequired, the signed payment payload, and the settlement confirmation.
- [x402 error codes](/agents/x402/error-codes): Reference for the errors thrown by the Parallel x402 SDK and the error codes propagated from the facilitator on a rejected payment.
- [Webhooks](/agents/x402/webhooks): Merchant webhooks for the Parallel x402 facilitator are on the roadmap. Until then, confirm payments by reading the payment-response header or watching your wallet on-chain.
- [Migrate from Coinbase x402 to Parallel](/agents/recipes/migrate-from-coinbase-x402): Point your middleware at the Parallel facilitator and start accepting USDp, USDC, and sUSDp. A few lines of code, no agent-side changes.
- [Frequently asked questions](/agents/faq): Common questions about the Parallel x402 facilitator and SDK — fees, supported stablecoins, accounts, and how it compares to Stripe and Coinbase x402.
- [User Guides](/resources/user-guides): Parallel is a protocol running on 16 blockchains. This means that you need a wallet to use the protocol.
-->

# Build an agent that pays

This guide makes an agent pay x402 APIs autonomously. The whole integration is one function: `wrapFetchWithPayment` turns any `fetch` into a payment-aware fetch. When an API answers `402` with an invoice, the agent picks a token it holds, signs a gasless payment authorization, and retries the call with the payment attached — you just use it like `fetch`.

## 1. Install

```bash
npm install @parallel-protocol/x402-fetch
```

## 2. Fund a wallet

The agent needs a wallet holding a small amount of **USDp, USDC, or sUSDp** on the target chain. **No ETH required** — settlement is relayed and gas is sponsored. Use a dedicated wallet holding only what you intend to spend.

## 3. Wrap fetch

```ts
import {
  wrapFetchWithPayment,
  decodePaymentResponse,
  X402FetchError,
} from "@parallel-protocol/x402-fetch";

const payFetch = wrapFetchWithPayment(fetch, {
  privateKey: process.env.AGENT_PRIVATE_KEY as `0x${string}`,
  chain: "base",
  maxAmount: "1", // hard spend cap per request
});

try {
  const res = await payFetch("https://api.parallel.best/public/x402/base/snapshot");
  const data = await res.json();

  const receipt = decodePaymentResponse(res);
  console.log("paid:", receipt?.txHash, "gas sponsored:", receipt?.gasSponsored);
} catch (err) {
  if (err instanceof X402FetchError) {
    // A guard refused the invoice BEFORE signing — nothing was spent.
    console.error(`refused [${err.code}]: ${err.message}`);
  }
}
```

That's the entire agent. The first request costs nothing (it just reads the `402` invoice); the paid retry carries the signed authorization.

The URL in the example is real: it is Parallel's **live demo API**, where every route charges 0.0001 of whichever token you pay with — try it as-is. For a complete runnable agent that also decodes the invoice and the on-chain settlement, clone the [agent starter](https://github.com/parallel-protocol/parallel-x402-agent-starter).

## Options

| Option | Default | Purpose |
|---|---|---|
| `privateKey` | — | The agent's signing key. Pass it explicitly (recommended, any env var name you like) — or omit it and the package falls back to the `PARALLEL_PRIVATE_KEY` environment variable. It never leaves the machine; only signatures go over the network. |
| `chain` | — | Chain to pay on: `"base"`, `"avalanche"`, `"hyperevm"`, or `"ethereum"`. Invoices for any other chain are refused. |
| `payWith` | *(auto)* | Force a payment token (`"usdp"`, `"usdc"`, `"susdp"`). Omitted, the agent picks from its balances. |
| `maxAmount` | `"1"` | Hard spend cap per request, in token units. Invoices above it are refused before signing. |

## Refusals cost nothing

Every guard fires **before** the agent signs — a refused invoice never spends anything. Refusals throw an `X402FetchError` with a `code`:

| Code | Cause |
|---|---|
| `NO_SIGNING_KEY` | No private key provided (option or env). |
| `AMOUNT_EXCEEDS_MAX` | The invoice asks more than `maxAmount`. |
| `CHAIN_MISMATCH` | The invoice targets a different chain than configured. |
| `INVALID_INVOICE` | The `402` response is malformed. |
| `INSECURE_URL` | The merchant URL is plain `http://` (localhost excepted). |
| `ENGINE_FAILED` | Payment preparation failed — the message carries the cause (usually balance, or a transient RPC error). |
| `ENGINE_TIMEOUT` | Payment preparation exceeded its time budget. |

## The safety model

* **Nothing moves without a signature**, and the signature authorizes exactly one transfer, to one recipient, within a time window.
* **`maxAmount` is enforced client-side** against a verified token catalog — a merchant cannot re-scale amounts or trick the agent into overpaying.
* **You only pay for success.** The merchant settles the payment only when it serves a successful response; an API error means nothing is charged, and unsettled authorizations simply expire.

## Next steps

* [The agent starter on GitHub](https://github.com/parallel-protocol/parallel-x402-agent-starter) — clone, fund, `bun start`
* [How the facilitator works](/agents/x402/concepts)
* [The verify / settle flow](/agents/x402/verify-vs-settle)
* [Accept payments in your own API](/agents/x402/quickstart)

<HelpFooter />
