Skip to content

Repository files navigation

GOAT Flow

This repository contains the public SDKs, examples, and supporting components for integrating GOAT Flow x402 payments and its current MPP adapter on GOAT Network.

Current Public Product

The current public merchant path is DIRECT:

  • the payer transfers an ERC-20 token to the merchant's configured receiving address;
  • GOAT Flow software creates and tracks the order record; and
  • the merchant confirms fulfillment from server-side order status or webhooks.

For the smallest integration, use a merchant-configured QuickPay product with the hosted checkout. For a custom wallet and order UI, combine the browser SDK with a server SDK so API credentials remain on the backend.

Need Start here
Hosted DIRECT checkout docs/goat-flow-checkout.md and goatflow-checkout
Custom wallet/order UI goatflow-sdk plus goatflow-sdk-server or the Go server SDK
Agent or CLI payment goatflow-quickpay
Merchant onboarding docs/goat-flow-onboarding-guide.md
Merchant operations docs/merchant-guide.md

Hosted checkout and QuickPay identify a product by merchant and product key. Price, accepted tokens, receiving addresses, and other payment configuration remain server-authoritative.

Optional And Internal Components

The repository also contains components that are not required for the public DIRECT merchant flow:

  • MerchantCallback.sol is a reference UUPS receiver for an optional, operator-provisioned callback transfer flow. Its withCalldata self-call has no selector allowlist; review the security model.
  • TopupCallback.sol is dedicated to the internal topup-service; it is not a general merchant contract.
  • USDC.sol and USDT.sol are configurable test tokens, not production token deployments.
  • MPP is an independent open protocol, not a GOAT Flow protocol. The MPP clients and middleware in this repository implement GOAT Flow's current JSON-endpoint and signed-receipt profile, require an enabled Core environment, and have no checked-in interoperability test with official MPP SDKs.
  • The demo contains config-gated advanced and MPP examples in addition to its default DIRECT checkout path.

Do not deploy a callback contract merely to use DIRECT checkout.

Repository Map

Module Purpose Distribution status
goatflow-checkout Framework-free hosted-checkout browser SDK Release-managed npm package
goatflow-sdk EVM buyer-wallet transfer and GOAT Flow MPP-profile client primitives Release-managed npm package
goatflow-sdk-server HMAC-authenticated TypeScript server SDK Release-managed npm package
github.com/goatnetwork/goatflow-sdk-server HMAC-authenticated Go server SDK Go module source
goatflow-quickpay Manifest-driven payer/agent library and CLI Release-managed npm package
@goatnetwork/mpp-middleware Express/Fastify verification for the GOAT Flow MPP receipt extension Source package; not in the npm release runbook
github.com/goatnetwork/goatflow-mpp-middleware-go Go HTTP verification for the GOAT Flow MPP receipt extension Go module source
goatx402-contract Optional/internal callbacks and local test tokens Foundry project
goatx402-demo DIRECT checkout plus optional advanced and MPP examples Private local demo

The npm release procedure covers exactly the four packages marked "Release-managed npm package"; see RELEASING.md.

Chain And Token Configuration

Runtime chain and token availability is configuration-driven. A merchant should use the chains and tokens returned by the merchant API or shown in the Merchant Portal rather than relying on a hard-coded repository list.

Supported Mainnet Chains

The operator-supplied mainnet documentation baseline, reviewed July 23, 2026, is listed below. It is not encoded as one authoritative matrix in this repository; runtime API and portal configuration remain controlling.

The separate GOAT Network x402 overview may also list Polygon (137) and Avalanche (43114). They are intentionally excluded from this GOAT Flow operator baseline until enabled by the active deployment. Do not infer GOAT Flow availability from the protocol overview alone.

Chain Chain ID Explorer
GOAT Network 2345 explorer.goat.network
Ethereum 1 etherscan.io
BSC 56 bscscan.com
Arbitrum 42161 arbiscan.io
Optimism 10 optimistic.etherscan.io
Base 8453 basescan.org
Berachain 80094 berascan.com
X Layer 196 X Layer Explorer
Metis 1088 andromeda-explorer.metis.io
Tempo 4217 explore.tempo.xyz

This table is a documentation baseline, not a per-merchant entitlement. Confirm the enabled chain/token pairs and receiving addresses in the target environment before integration or launch.

For DIRECT, each enabled (chain, token) needs a valid merchant receiving address and the deployment's associated service-fee/token configuration. Testnet aliases inside goatx402-contract/foundry.toml are development conveniences and do not describe the public production matrix.

Development Documentation

Use docs/README.md as the documentation hub.

Quick references:

The complete Mainnet and Testnet3 service-origin map is maintained in docs/README.md. The production API base URL is https://flow-api.goat.network.

License

No single repository-wide license has been declared. The four release-managed npm packages each include their own MIT LICENSE file. Other directories may carry package-level license metadata; review the relevant module before reuse or redistribution.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages