diff --git a/specs/schemes/exact/scheme_exact_stacks.md b/specs/schemes/exact/scheme_exact_stacks.md
new file mode 100644
index 000000000..f0f52743b
--- /dev/null
+++ b/specs/schemes/exact/scheme_exact_stacks.md
@@ -0,0 +1,562 @@
+# Exact Payment Scheme for Stacks (`exact`)
+
+This document specifies the `exact` payment scheme for the x402 protocol on the Stacks blockchain.
+
+This scheme facilitates payments of a specific amount of STX (native token) or SIP-010 fungible tokens (sBTC, USDCx, etc.) on Stacks.
+
+## Scheme Name
+
+`exact`
+
+## Protocol Flow
+
+The protocol flow for `exact` on Stacks is client-driven with facilitator settlement.
+
+1. **Client** makes a request to a **Resource Server**.
+2. **Resource Server** responds with HTTP 402 containing `PaymentRequirements`.
+3. **Client** creates and fully signs a Stacks transaction:
+ - For STX: A native `token-transfer` transaction
+ - For SIP-010 tokens: A `contract-call` to the token's `transfer` function
+4. **Client** includes the payment request nonce in the transaction memo (up to 34 bytes) for correlation.
+5. **Client** serializes the signed transaction as a hex string.
+6. **Client** sends a new request to the resource server with the `PaymentPayload` containing the signed transaction hex in the `X-PAYMENT` header.
+7. **Resource Server** receives the request and forwards the `PaymentPayload` and `PaymentRequirements` to a **Facilitator Server's** `/verify` endpoint (optional pre-check) or directly to `/settle`.
+8. **Facilitator** decodes and deserializes the transaction.
+9. **Facilitator** inspects the transaction to ensure it matches the payment requirements.
+10. **Facilitator** broadcasts the transaction to the Stacks network.
+11. **Facilitator** waits for transaction confirmation (anchored in a Bitcoin block).
+12. Upon successful on-chain settlement, the **Facilitator Server** responds with a `SettlementResponse` to the **Resource Server**.
+13. **Resource Server** grants the **Client** access to the resource and returns the settlement details in `X-PAYMENT-RESPONSE` header.
+
+## `PaymentRequirements` for `exact`
+
+The `exact` scheme on Stacks uses the following `PaymentRequirements` structure:
+
+```json
+{
+ "scheme": "exact",
+ "network": "stacks:1",
+ "amount": "1000000",
+ "asset": "STX",
+ "payTo": "SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7",
+ "maxTimeoutSeconds": 300,
+ "extra": {
+ "nonce": "a1b2c3d4e5f6",
+ "expiresAt": "2024-01-15T12:00:00Z",
+ "tokenType": "STX"
+ }
+}
+```
+
+### Field Descriptions
+
+- `network`: Network identifier. Use `stacks:1` for mainnet, `stacks:2147483648` for testnet (following CAIP-2 convention with Stacks chain IDs).
+- `amount`: Amount in base units (microSTX for STX, satoshis for sBTC, smallest unit for other tokens).
+- `asset`: For STX, use `"STX"`. For SIP-010 tokens, use the contract identifier (e.g., `"SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.runes-dog::runes-dog"`).
+- `payTo`: The Stacks address to receive the payment.
+- `extra.nonce`: Unique identifier for this payment request, included in transaction memo for correlation.
+- `extra.expiresAt`: ISO 8601 timestamp when this payment request expires.
+- `extra.tokenType`: Token type identifier: `"STX"`, `"sBTC"`, or `"USDCx"`.
+- `extra.tokenContract` (for SIP-010): Object with `address` and `name` of the token contract.
+
+### Example with SIP-010 Token (sBTC)
+
+```json
+{
+ "scheme": "exact",
+ "network": "stacks:1",
+ "amount": "100000",
+ "asset": "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token::sbtc-token",
+ "payTo": "SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7",
+ "maxTimeoutSeconds": 300,
+ "extra": {
+ "nonce": "a1b2c3d4e5f6",
+ "expiresAt": "2024-01-15T12:00:00Z",
+ "tokenType": "sBTC",
+ "tokenContract": {
+ "address": "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4",
+ "name": "sbtc-token"
+ }
+ }
+}
+```
+
+## PaymentPayload `payload` Field
+
+The `payload` field of the `PaymentPayload` contains the fully-signed transaction:
+
+```json
+{
+ "signedTransaction": "00000000010400..."
+}
+```
+
+- `signedTransaction`: Hex-encoded, serialized, fully-signed Stacks transaction.
+
+### Full `PaymentPayload` Example (STX)
+
+```json
+{
+ "x402Version": 2,
+ "resource": {
+ "url": "https://api.example.com/premium-data",
+ "description": "Access to premium data endpoint",
+ "mimeType": "application/json"
+ },
+ "accepted": {
+ "scheme": "exact",
+ "network": "stacks:1",
+ "amount": "1000000",
+ "asset": "STX",
+ "payTo": "SP2J6ZY48GV1EZ5V2V5RB9MP66SW86PYKKNRV9EJ7",
+ "maxTimeoutSeconds": 300,
+ "extra": {
+ "nonce": "a1b2c3d4e5f6",
+ "expiresAt": "2024-01-15T12:00:00Z",
+ "tokenType": "STX"
+ }
+ },
+ "payload": {
+ "signedTransaction": "00000000010400a1b2c3..."
+ }
+}
+```
+
+## Transaction Construction
+
+### STX Native Transfer
+
+Clients construct a `token-transfer` transaction using the Stacks transaction format:
+
+```typescript
+import { makeSTXTokenTransfer } from '@stacks/transactions';
+
+const transaction = await makeSTXTokenTransfer({
+ recipient: paymentRequirements.payTo,
+ amount: BigInt(paymentRequirements.amount),
+ senderKey: privateKey,
+ network: stacksNetwork,
+ memo: paymentRequirements.extra.nonce.substring(0, 34),
+ anchorMode: AnchorMode.Any,
+});
+```
+
+### SIP-010 Token Transfer
+
+For SIP-010 tokens (sBTC, USDCx), clients construct a `contract-call` transaction:
+
+```typescript
+import { makeContractCall, uintCV, principalCV, someCV, bufferCVFromString } from '@stacks/transactions';
+
+const transaction = await makeContractCall({
+ contractAddress: tokenContract.address,
+ contractName: tokenContract.name,
+ functionName: 'transfer',
+ functionArgs: [
+ uintCV(amount),
+ principalCV(senderAddress),
+ principalCV(recipient),
+ someCV(bufferCVFromString(memo)),
+ ],
+ senderKey: privateKey,
+ network: stacksNetwork,
+ anchorMode: AnchorMode.Any,
+ postConditionMode: PostConditionMode.Allow,
+});
+```
+
+## `SettlementResponse`
+
+The `SettlementResponse` for the exact scheme on Stacks:
+
+```json
+{
+ "success": true,
+ "tx_id": "0x1234567890abcdef...",
+ "network": "stacks:1",
+ "sender_address": "SP1234...",
+ "recipient_address": "SP5678...",
+ "amount": 1000000,
+ "status": "confirmed",
+ "block_height": 150000
+}
+```
+
+## Facilitator Verification Rules (MUST)
+
+A facilitator verifying an `exact`-scheme Stacks payment MUST enforce all of the following checks before broadcasting:
+
+### 1. Transaction Type Validation
+
+- For STX payments: Transaction MUST be a `token-transfer` type.
+- For SIP-010 payments: Transaction MUST be a `contract-call` type calling the `transfer` function.
+
+### 2. Recipient Validation
+
+- For STX: The `recipient` field MUST equal `PaymentRequirements.payTo`.
+- For SIP-010: The recipient argument in the `transfer` call MUST equal `PaymentRequirements.payTo`.
+
+### 3. Amount Validation
+
+- The transfer amount MUST be greater than or equal to `PaymentRequirements.amount`.
+
+### 4. Asset Validation
+
+- For SIP-010: The contract being called MUST match the expected token contract from `PaymentRequirements.asset` or `extra.tokenContract`.
+
+### 5. Memo/Nonce Correlation (RECOMMENDED)
+
+- If `extra.nonce` is provided, the transaction memo SHOULD contain this nonce for payment correlation.
+
+### 6. Expiration Check
+
+- If `extra.expiresAt` is provided, the facilitator MUST reject payments submitted after this timestamp.
+
+### 7. Sender Balance Validation
+
+- The sender MUST have sufficient balance to cover the transfer amount plus transaction fees.
+
+### 8. Transaction Simulation (RECOMMENDED)
+
+- Before broadcasting, facilitators SHOULD simulate the transaction to verify it will succeed.
+
+## Security Considerations
+
+### Fully-Signed Transactions
+
+Unlike EVM (EIP-3009 authorizations) or SVM (partially-signed transactions), Stacks payments use fully-signed transactions. This means:
+
+- The client pays transaction fees (no fee sponsorship by default)
+- The facilitator cannot modify the transaction, only broadcast it
+- Transaction can only be broadcast once (nonce prevents replay)
+
+### Post-Conditions
+
+For SIP-010 token transfers, implementations SHOULD use appropriate post-conditions to ensure the exact amount is transferred and prevent unexpected token movements.
+
+### Network Confirmation
+
+Stacks transactions are anchored in Bitcoin blocks. Facilitators should wait for sufficient confirmations based on the payment amount and risk tolerance.
+
+## Supported Assets
+
+| Token | Type | Amount Unit |
+|-------|------|-------------|
+| STX | Native | microSTX (1 STX = 1,000,000 microSTX) |
+| sBTC | SIP-010 | satoshis (1 sBTC = 100,000,000 sats) |
+| USDCx | SIP-010 | micro-USDCx (1 USDCx = 1,000,000 micro-USDCx) |
+
+### Token Contract Addresses
+
+| Token | Network | Contract Identifier |
+|-------|---------|---------------------|
+| STX | mainnet/testnet | Native (no contract) |
+| sBTC | mainnet | `SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token::sbtc-token` |
+| sBTC | testnet | `ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token::sbtc-token` |
+| USDCx | mainnet | `SP120SBRBQJ00MCWS7TM5R8WJNTTKD5K0HFRC2CNE.usdcx::usdcx-token` |
+| USDCx | testnet | Not yet deployed (aeUSDC from Allbridge available as alternative) |
+
+## Reference Implementation
+
+- Client/Server SDK: [x402Stacks](https://github.com/tony1908/x402Stacks) (x402-stacks on npm)
+- Registry: [x402StacksScan](https://scan.stacksx402.com)
+
+---
+
+## Annex: Transaction Wire Format
+
+This section documents the low-level transaction encoding for implementers who need to work without SDK abstractions. All multi-byte fields are big-endian.
+
+### Network Identifiers (CAIP-2)
+
+The x402 protocol uses [CAIP-2](https://github.com/ChainAgnostic/namespaces/blob/main/stacks/caip2.md) chain identifiers:
+
+| Network | CAIP-2 Identifier | Chain ID (hex) | Version Byte |
+|---------|-------------------|----------------|--------------|
+| Mainnet | `stacks:1` | `0x00000001` | `0x00` |
+| Testnet | `stacks:2147483648` | `0x80000000` | `0x80` |
+
+The testnet chain ID (`2147483648` = `0x80000000`) follows the convention of setting the highest bit to distinguish test networks. The version byte in serialized transactions similarly uses the high bit (`0x80`) for testnet.
+
+### Transaction Structure
+
+A Stacks transaction is serialized as:
+
+| Offset | Size | Field | Description |
+|--------|------|-------|-------------|
+| 0 | 1 | Version | `0x00` mainnet, `0x80` testnet |
+| 1 | 4 | Chain ID | `0x00000001` mainnet, `0x80000000` testnet |
+| 5 | var | Authorization | Spending conditions and signatures |
+| var | 1 | Anchor Mode | `0x01` on-chain, `0x02` microblock, `0x03` any |
+| var | 1 | Post-Condition Mode | `0x01` allow, `0x02` deny |
+| var | var | Post-Conditions | 4-byte count + encoded conditions |
+| var | var | Payload | Transaction-type-specific data |
+
+### Payload Types
+
+| Type ID | Name | x402 Usage |
+|---------|------|------------|
+| `0x00` | Token Transfer | STX payments |
+| `0x02` | Contract Call | SIP-010 token payments |
+
+#### Token Transfer Payload (`0x00`)
+
+```
+[1 byte] Payload type: 0x00
+[1 byte] Principal type: 0x05 (standard) or 0x06 (contract)
+[1 byte] Address version
+[20 bytes] Address hash (Hash160)
+[8 bytes] Amount in microSTX (big-endian)
+[1 byte] Memo type: 0x03 (no memo) or 0x04 (with memo)
+[34 bytes] Memo content (if type 0x04)
+```
+
+#### Contract Call Payload (`0x02`)
+
+```
+[1 byte] Payload type: 0x02
+[1 byte] Contract address version
+[20 bytes] Contract address hash
+[1 byte] Contract name length
+[n bytes] Contract name (ASCII)
+[1 byte] Function name length
+[n bytes] Function name (ASCII, e.g., "transfer")
+[4 bytes] Argument count
+[var] Serialized Clarity values
+```
+
+### Clarity Value Encoding
+
+| Type ID | Clarity Type | Payload |
+|---------|--------------|---------|
+| `0x00` | `int` | 16 bytes, big-endian signed |
+| `0x01` | `uint` | 16 bytes, big-endian unsigned |
+| `0x02` | `buff` | 4-byte length + data |
+| `0x03` | `true` | (no payload) |
+| `0x04` | `false` | (no payload) |
+| `0x05` | `principal` (standard) | 1-byte version + 20-byte hash |
+| `0x06` | `principal` (contract) | version + hash + 1-byte name len + name |
+| `0x09` | `none` | (no payload) |
+| `0x0a` | `some` | nested Clarity value |
+| `0x0d` | `string-ascii` | 4-byte length + ASCII bytes |
+
+#### SIP-010 `transfer` Arguments
+
+For `(transfer uint principal principal (optional (buff 34)))`:
+
+```
+Arg 0: uint (amount) → 0x01 + 16-byte big-endian
+Arg 1: principal (from) → 0x05 + version + hash
+Arg 2: principal (to) → 0x05 + version + hash
+Arg 3: optional memo → 0x0a + 0x02 + 4-byte len + data
+ → 0x09 (if none)
+```
+
+### Authorization Structure
+
+#### Standard Authorization (`0x04`)
+
+Used when the sender pays their own transaction fees (current x402 implementation).
+
+```
+[1 byte] Auth type: 0x04
+[1 byte] Hash mode: 0x00 (P2PKH single-sig)
+[20 bytes] Signer address hash (Hash160 of public key)
+[8 bytes] Nonce (big-endian)
+[8 bytes] Fee in microSTX (big-endian)
+[1 byte] Key encoding: 0x00 (compressed) or 0x01 (uncompressed)
+[65 bytes] Recoverable ECDSA signature
+```
+
+#### Sponsored Authorization (`0x05`)
+
+Enables a third party (sponsor) to pay transaction fees on behalf of the origin account. This is relevant for gasless/sponsored transaction support.
+
+```
+[1 byte] Auth type: 0x05
+
+# Origin spending condition (sender)
+[1 byte] Hash mode: 0x00 (P2PKH single-sig)
+[20 bytes] Origin address hash
+[8 bytes] Origin nonce
+[8 bytes] Origin fee (typically 0 for sponsored)
+[1 byte] Key encoding
+[65 bytes] Origin signature
+
+# Sponsor spending condition (fee payer)
+[1 byte] Hash mode: 0x00 (P2PKH single-sig)
+[20 bytes] Sponsor address hash
+[8 bytes] Sponsor nonce
+[8 bytes] Sponsor fee (actual fee paid)
+[1 byte] Key encoding
+[65 bytes] Sponsor signature
+```
+
+**Signing Order for Sponsored Transactions:**
+
+1. Origin signs first with sponsor fields set to a "signing sentinel" (zero-filled)
+2. Sponsor signs second, committing to the origin's signature
+3. Both signatures are required for the transaction to be valid
+
+**x402 Sponsored Flow (Future Extension):**
+
+```
+1. Client constructs transaction with auth type 0x05
+2. Client signs as origin (fee=0, sponsor fields=sentinel)
+3. Client sends partially-signed transaction to facilitator
+4. Facilitator validates, sets sponsor fee, signs as sponsor
+5. Facilitator broadcasts fully-signed transaction
+```
+
+#### Signature Format
+
+The 65-byte recoverable ECDSA secp256k1 signature:
+
+```
+[1 byte] Recovery ID (0x00-0x03)
+[32 bytes] r coordinate
+[32 bytes] s coordinate (must use lower s-value per BIP-146)
+```
+
+The recovery ID allows public key recovery from the signature, eliminating the need to transmit the public key separately.
+
+### Post-Conditions
+
+Post-conditions protect against unexpected token transfers. Facilitators SHOULD verify post-conditions match expected payment behavior.
+
+#### STX Post-Condition (`0x00`)
+
+```
+[1 byte] Type: 0x00
+[1 byte] Principal type: 0x02 (standard)
+[1 byte] Address version
+[20 bytes] Address hash
+[1 byte] Condition code (see below)
+[8 bytes] Amount in microSTX
+```
+
+#### Fungible Token Post-Condition (`0x01`)
+
+```
+[1 byte] Type: 0x01
+[1 byte] Principal type
+[1 byte] Address version
+[20 bytes] Address hash
+[1 byte] Asset address version
+[20 bytes] Asset address hash
+[1 byte] Asset name length
+[n bytes] Asset contract name
+[1 byte] Token name length
+[n bytes] Token name
+[1 byte] Condition code
+[8 bytes] Amount
+```
+
+#### Condition Codes
+
+| Code | Meaning |
+|------|---------|
+| `0x01` | Sent exactly |
+| `0x02` | Sent greater than |
+| `0x03` | Sent greater than or equal |
+| `0x04` | Sent less than |
+| `0x05` | Sent less than or equal |
+
+### Example: STX Transfer (Annotated Hex)
+
+```
+00 # Version: mainnet
+00000001 # Chain ID: mainnet
+04 # Auth type: standard
+00 # Hash mode: P2PKH
+<20 bytes> # Signer address hash
+<8 bytes> # Nonce
+<8 bytes> # Fee (microSTX)
+00 # Key encoding: compressed
+<65 bytes> # Signature
+03 # Anchor mode: any
+01 # Post-condition mode: allow
+00000000 # Post-conditions: 0 count
+00 # Payload type: token-transfer
+05 # Recipient: standard principal
+16 # Address version (0x16 = mainnet P2PKH)
+<20 bytes> # Recipient address hash
+<8 bytes> # Amount (microSTX)
+03 # Memo type: none
+```
+
+### Example: SIP-010 Transfer (sBTC, Annotated Hex)
+
+```
+00 # Version: mainnet
+00000001 # Chain ID: mainnet
+04 # Auth type: standard
+00 # Hash mode: P2PKH
+<20 bytes> # Signer address hash
+<8 bytes> # Nonce
+<8 bytes> # Fee (microSTX)
+00 # Key encoding: compressed
+<65 bytes> # Signature
+03 # Anchor mode: any
+02 # Post-condition mode: deny (recommended for token transfers)
+00000001 # Post-conditions: 1 condition
+
+# Fungible token post-condition
+01 # Post-condition type: fungible token
+02 # Principal type: standard
+16 # Sender address version
+<20 bytes> # Sender address hash
+16 # Asset contract address version
+<20 bytes> # Asset contract address hash (SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4)
+0a # Contract name length: 10
+736274632d746f6b656e # Contract name: "sbtc-token"
+0a # Token name length: 10
+736274632d746f6b656e # Token name: "sbtc-token"
+01 # Condition code: sent exactly
+<8 bytes> # Amount (satoshis)
+
+# Contract call payload
+02 # Payload type: contract-call
+16 # Contract address version
+<20 bytes> # Contract address hash
+0a # Contract name length: 10
+736274632d746f6b656e # Contract name: "sbtc-token"
+08 # Function name length: 8
+7472616e73666572 # Function name: "transfer"
+00000004 # Argument count: 4
+
+# Arg 0: amount (uint)
+01 # Clarity type: uint
+<16 bytes> # Amount in big-endian (e.g., 100000 sats)
+
+# Arg 1: sender (principal)
+05 # Clarity type: standard principal
+16 # Address version
+<20 bytes> # Sender address hash
+
+# Arg 2: recipient (principal)
+05 # Clarity type: standard principal
+16 # Address version
+<20 bytes> # Recipient address hash
+
+# Arg 3: memo (optional buff)
+0a # Clarity type: some
+02 # Clarity type: buff
+00000006 # Buffer length: 6
+<6 bytes> # Memo content (nonce)
+```
+
+### Address Versions
+
+| Version | Network | Type |
+|---------|---------|------|
+| `0x16` (22) | Mainnet | P2PKH (standard) |
+| `0x15` (21) | Mainnet | P2SH (multisig) |
+| `0x1a` (26) | Testnet | P2PKH (standard) |
+| `0x19` (25) | Testnet | P2SH (multisig) |
+
+### References
+
+- [SIP-005: Blocks and Transactions](https://github.com/stacksgov/sips/blob/main/sips/sip-005/sip-005-blocks-and-transactions.md)
+- [Stacks.js Transaction Serialization](https://stacks.js.org/functions/_stacks_transactions.serializeTransaction)
+- [CAIP-2: Stacks Namespace](https://github.com/ChainAgnostic/namespaces/blob/main/stacks/caip2.md)
diff --git a/typescript/site/app/ecosystem/partners-data/aibtc-sponsor-relay/metadata.json b/typescript/site/app/ecosystem/partners-data/aibtc-sponsor-relay/metadata.json
new file mode 100644
index 000000000..19df39428
--- /dev/null
+++ b/typescript/site/app/ecosystem/partners-data/aibtc-sponsor-relay/metadata.json
@@ -0,0 +1,10 @@
+{
+ "name": "AIBTC Sponsor Relay",
+ "category": "Infrastructure & Tooling",
+ "logoUrl": "/logos/aibtc.png",
+ "description": "Sponsored transaction relay for gasless x402 payments on Stacks. Accepts transactions with sponsored=true and fee=0, re-signs as sponsor to pay fees, then forwards to the facilitator.",
+ "websiteUrl": "https://x402-relay.aibtc.com",
+ "githubUrl": "https://github.com/aibtcdev/x402-sponsor-relay",
+ "networks": ["stacks-mainnet", "stacks-testnet"],
+ "testnetUrl": "https://x402-relay.aibtc.dev"
+}
diff --git a/typescript/site/app/ecosystem/partners-data/aibtc-x402-api/metadata.json b/typescript/site/app/ecosystem/partners-data/aibtc-x402-api/metadata.json
new file mode 100644
index 000000000..510f6e058
--- /dev/null
+++ b/typescript/site/app/ecosystem/partners-data/aibtc-x402-api/metadata.json
@@ -0,0 +1,10 @@
+{
+ "name": "AIBTC x402 API",
+ "category": "Services/Endpoints",
+ "logoUrl": "/logos/aibtc.png",
+ "description": "AI inference and app storage endpoints on Stacks. Supports STX, sBTC, and USDCx payments on mainnet and testnet.",
+ "websiteUrl": "https://x402.aibtc.com",
+ "githubUrl": "https://github.com/aibtcdev/x402-api",
+ "networks": ["stacks-mainnet", "stacks-testnet"],
+ "testnetUrl": "https://x402.aibtc.dev"
+}
diff --git a/typescript/site/app/ecosystem/partners-data/stx402/metadata.json b/typescript/site/app/ecosystem/partners-data/stx402/metadata.json
new file mode 100644
index 000000000..9d12f55d3
--- /dev/null
+++ b/typescript/site/app/ecosystem/partners-data/stx402/metadata.json
@@ -0,0 +1,8 @@
+{
+ "name": "STX402",
+ "category": "Services/Endpoints",
+ "logoUrl": "/logos/stx402.svg",
+ "description": "x402-powered registry on Stacks. Discover endpoints, register services, and explore working examples with STX, sBTC, and USDCx payments.",
+ "websiteUrl": "https://stx402.com",
+ "githubUrl": "https://github.com/whoabuddy/stx402"
+}
diff --git a/typescript/site/app/ecosystem/partners-data/x402-biwas/metadata.json b/typescript/site/app/ecosystem/partners-data/x402-biwas/metadata.json
new file mode 100644
index 000000000..4f45d4550
--- /dev/null
+++ b/typescript/site/app/ecosystem/partners-data/x402-biwas/metadata.json
@@ -0,0 +1,8 @@
+{
+ "name": "x402 Biwas",
+ "category": "Services/Endpoints",
+ "logoUrl": "/logos/biwas.jpg",
+ "description": "AI-powered analytics endpoints on Stacks including DeFi portfolio analysis, market intelligence, wallet classification, and smart contract auditing. Supports STX payments.",
+ "websiteUrl": "https://x402.biwas.xyz",
+ "githubUrl": "https://github.com/biwasxyz/x402"
+}
diff --git a/typescript/site/app/ecosystem/partners-data/x402-stacks-facilitator/metadata.json b/typescript/site/app/ecosystem/partners-data/x402-stacks-facilitator/metadata.json
new file mode 100644
index 000000000..4dfde2f98
--- /dev/null
+++ b/typescript/site/app/ecosystem/partners-data/x402-stacks-facilitator/metadata.json
@@ -0,0 +1,15 @@
+{
+ "name": "x402Stacks Facilitator",
+ "category": "Facilitators",
+ "logoUrl": "/logos/x402Stacks.svg",
+ "description": "Open source facilitator for x402 payments on Stacks. Supports STX, sBTC, and USDCx tokens.",
+ "websiteUrl": "https://stacksx402.com",
+ "githubUrl": "https://github.com/x402Stacks/x402-stacks-facilitator",
+ "facilitator": {
+ "baseUrl": "https://facilitator.stacksx402.com",
+ "networks": ["stacks-mainnet", "stacks-testnet"],
+ "schemes": ["exact"],
+ "assets": ["STX", "sBTC", "USDCx"],
+ "supports": { "verify": true, "settle": true, "supported": true, "list": false }
+ }
+}
diff --git a/typescript/site/app/ecosystem/partners-data/x402-stacks-scan/metadata.json b/typescript/site/app/ecosystem/partners-data/x402-stacks-scan/metadata.json
new file mode 100644
index 000000000..880880ebc
--- /dev/null
+++ b/typescript/site/app/ecosystem/partners-data/x402-stacks-scan/metadata.json
@@ -0,0 +1,7 @@
+{
+ "name": "x402StacksScan",
+ "category": "Infrastructure & Tooling",
+ "logoUrl": "/logos/x402Stacks.svg",
+ "description": "Ecosystem explorer for x402 on Stacks. Discover x402-enabled endpoints, view payment analytics, and browse registered services.",
+ "websiteUrl": "https://scan.stacksx402.com"
+}
diff --git a/typescript/site/app/ecosystem/partners-data/x402-stacks/metadata.json b/typescript/site/app/ecosystem/partners-data/x402-stacks/metadata.json
new file mode 100644
index 000000000..1c7df17e7
--- /dev/null
+++ b/typescript/site/app/ecosystem/partners-data/x402-stacks/metadata.json
@@ -0,0 +1,8 @@
+{
+ "name": "x402Stacks",
+ "category": "Client-Side Integrations",
+ "logoUrl": "/logos/x402Stacks.svg",
+ "description": "TypeScript client/server library (x402-stacks on npm) for x402 payments on Stacks. Supports STX, sBTC, and USDCx tokens with axios interceptors and Express middleware.",
+ "websiteUrl": "https://stacksx402.com",
+ "githubUrl": "https://github.com/tony1908/x402-stacks-sdk"
+}
diff --git a/typescript/site/public/logos/aibtc.png b/typescript/site/public/logos/aibtc.png
new file mode 100644
index 000000000..2b2bb1483
Binary files /dev/null and b/typescript/site/public/logos/aibtc.png differ
diff --git a/typescript/site/public/logos/biwas.jpg b/typescript/site/public/logos/biwas.jpg
new file mode 100644
index 000000000..454d6c8f5
Binary files /dev/null and b/typescript/site/public/logos/biwas.jpg differ
diff --git a/typescript/site/public/logos/stx402.svg b/typescript/site/public/logos/stx402.svg
new file mode 100644
index 000000000..ed929af6a
--- /dev/null
+++ b/typescript/site/public/logos/stx402.svg
@@ -0,0 +1,9 @@
+
diff --git a/typescript/site/public/logos/x402Stacks.svg b/typescript/site/public/logos/x402Stacks.svg
new file mode 100644
index 000000000..58c422ec2
--- /dev/null
+++ b/typescript/site/public/logos/x402Stacks.svg
@@ -0,0 +1,10 @@
+