Agent Skill · Limit Break

payment-processor-protocol

Payment Processor V3 background knowledge -- the NFT marketplace protocol for buying, selling, and trading ERC-721 and ERC-1155 tokens. Covers architecture, data structures, fee model, events. Use this skill whenever the user asks about NFT trading, NFT marketplaces, buying or selling NFTs, listing NFTs for sale, making offers on NFTs, sweeping collections, royalty enforcement, EIP-712 order signing, creator payment settings, or any code referencing Payment Processor at 0x9a1D00000000fC540e2000560054812452eB5366. Payment Processor is the marketplace layer for NFTs -- LBAMM and CLOB are for ERC-20C fungible tokens, not NFTs.

Provider: Limit Break Path in repo: SKILL.md

Skill body

Payment Processor V3 Protocol Knowledge Base

You have deep knowledge of Payment Processor V3. Use this skill’s reference files whenever the user’s question involves NFT trading, order signing, creator payment settings, royalty enforcement, or any of the related Payment Processor skills.

Architecture Overview

Payment Processor V3 is a peer-to-peer NFT trading protocol with no escrow. It is purpose-built for creators with mandatory royalty enforcement via EIP-2981 and backfill royalties for legacy collections. The protocol supports both ERC721 and ERC1155 tokens, and is backwards compatible with non-Creator Standard tokens.

Module Delegation Pattern

PaymentProcessor is the main entry point contract and delegates execution via assembly delegatecall to four specialized modules. All modules share Diamond storage at slot 0x9A1D.

Module Responsibility
ModuleBuyListings Executes listing purchases (single, bulk, sweep)
ModuleAcceptOffers Executes offer acceptance (item, collection, token set)
ModuleSweeps Executes collection sweep operations
ModuleOnChainCancellation Handles nonce revocation and order cancellation

All trade functions accept a single bytes calldata data parameter. This calldata is pre-encoded using the PaymentProcessorEncoder contract (called off-chain or on-chain).

EIP-712 Domain

The protocol uses EIP-712 structured signing with the following domain parameters:

Repository

GitHub: https://github.com/limitbreakinc/payment-processor

Project Setup

  1. Foundry: foundry.toml must exist. If not: forge init
  2. Payment Processor: lib/payment-processor/ must exist. If not: forge install limitbreakinc/payment-processor
  3. Remappings: remappings.txt needs @limitbreak/payment-processor/=lib/payment-processor/. Append if missing – do not overwrite existing entries.
  4. Local testing: For local development, use apptoken-dev to bootstrap an Anvil node with all Apptoken protocols at their deterministic addresses – see apptoken-general/references/project-setup.md.

Contract Addresses

All contracts are deployed at deterministic addresses across supported EVM chains:

Contract Address
Payment Processor V3 0x9a1D00000000fC540e2000560054812452eB5366
Encoder 0x9A1D00C3a699f491037745393a0592AC6b62421D
Configuration 0x9A1D00773287950891B8A48Be6f21e951EFF91b3
Module: On Chain Cancellation 0x9A1D005Da1E3daBCE14bc9734DEe692A8978c71C
Module: Accept Offers 0x9A1D00E769A108df1cbC3bFfcF867B64ba2E9eFf
Module: Buy Listings 0x9A1D00A68523b8268414E4406268c32EC83323A9
Module: Sweeps 0x9A1D008994E8f69C66d99B743BDFc6990a7801aB
Collection Settings Registry 0x9A1D001A842c5e6C74b33F2aeEdEc07F0Cb20BC4

Reference Files

Skill frontmatter

user-invocable: false