> ## Documentation Index
> Fetch the complete documentation index at: https://glide-9da73dea.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# x402.receive

> Return this agent's x402 receive endpoints. Every Glide vault is x402-addressable out of the box — other agents can pay this agent via the standard x402 handsha

Return this agent's x402 receive endpoints. Every Glide vault is x402-addressable out of the box — other agents can pay this agent via the standard x402 handshake without Glide running a separate receiver service.

## Metadata

| Field                    | Value          |
| ------------------------ | -------------- |
| Name                     | `x402.receive` |
| Category                 | `read`         |
| Required scope           | `x402:receive` |
| Idempotency key required | no             |

## Annotations

| Annotation              | Value                           |
| ----------------------- | ------------------------------- |
| Title                   | Describe x402 Receive Endpoints |
| Read-only               | yes                             |
| Destructive             | no                              |
| Idempotent              | yes                             |
| Open-world              | no                              |
| Requires human approval | no                              |

## Input schema

```json theme={null}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "eth",
        "base",
        "arb",
        "op",
        "polygon",
        "sol"
      ]
    }
  },
  "additionalProperties": false
}
```

## Output schema

```json theme={null}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "endpoints": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "chain": {
            "type": "string",
            "enum": [
              "eth",
              "base",
              "arb",
              "op",
              "polygon",
              "sol"
            ]
          },
          "token": {
            "type": "string"
          },
          "receiving_address": {
            "type": "string",
            "minLength": 1
          },
          "min_amount_cents": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "max_amount_cents": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "accepts": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "text/plain",
                "application/json"
              ]
            }
          }
        },
        "required": [
          "url",
          "chain",
          "token",
          "receiving_address",
          "min_amount_cents",
          "max_amount_cents",
          "accepts"
        ],
        "additionalProperties": false
      }
    },
    "fetched_at": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
    }
  },
  "required": [
    "endpoints",
    "fetched_at"
  ],
  "additionalProperties": false
}
```

## Auth

Caller's grant must include the `x402:receive` scope. Grants whose scope set is a superset of the required scope are accepted.

## Request examples

<CodeGroup>
  ```bash curl theme={null}
  # All chains
  curl -X POST https://mcp.glide.co/mcp/read \
    -H "Authorization: Bearer $GLIDE_GRANT_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "x402.receive",
      "params": {}
    }'

  # Filter to a single chain
  curl -X POST https://mcp.glide.co/mcp/read \
    -H "Authorization: Bearer $GLIDE_GRANT_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "x402.receive",
      "params": { "chain": "base" }
    }'
  ```

  ```ts TypeScript theme={null}
  import { GlideClient } from './glide-client';

  const client = new GlideClient({ grantToken: process.env.GLIDE_GRANT_TOKEN! });

  // All chains
  const all = await client.call('x402.receive', {});

  // Filter to Base only
  const baseOnly = await client.call('x402.receive', { chain: 'base' });

  for (const endpoint of baseOnly.endpoints) {
    console.log(`${endpoint.chain} ${endpoint.token} → ${endpoint.receiving_address}`);
    console.log(`  Accept range: ${endpoint.min_amount_cents}–${endpoint.max_amount_cents} cents`);
  }
  ```

  ```python Python theme={null}
  from glide_client import GlideClient
  import os

  client = GlideClient(grant_token=os.environ["GLIDE_GRANT_TOKEN"])

  # All chains
  result = client.call("x402.receive", {})

  # Filter to Solana only
  sol_result = client.call("x402.receive", {"chain": "sol"})
  for endpoint in sol_result["endpoints"]:
      print(f"{endpoint['chain']} {endpoint['token']} → {endpoint['receiving_address']}")
  ```
</CodeGroup>

## Response examples

**Success — all chains**

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "endpoints": [
      {
        "url": "https://mcp.glide.co/x402/receive/agt_7f3e4b2a",
        "chain": "base",
        "token": "USDC",
        "receiving_address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
        "min_amount_cents": 1,
        "max_amount_cents": 10000,
        "accepts": ["application/json", "text/plain"]
      },
      {
        "url": "https://mcp.glide.co/x402/receive/agt_7f3e4b2a",
        "chain": "sol",
        "token": "USDC",
        "receiving_address": "DRpbCBMxVnDK7maPM5tGv6MvB3v1sRMC86PZ8okm38Rn",
        "min_amount_cents": 1,
        "max_amount_cents": 10000,
        "accepts": ["application/json"]
      }
    ],
    "fetched_at": "2026-05-04T15:00:00Z"
  }
}
```

**No endpoints configured**

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32602,
    "message": "no x402 endpoints configured for this agent (agent must be active + have at least one chain in allowlist)",
    "data": {
      "reason_id": "no_x402_endpoints"
    }
  }
}
```

## Errors

| Code     | `reason_id`         | Meaning                                                                                                                             |
| -------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `-32000` | `unauthenticated`   | Bearer token missing or expired.                                                                                                    |
| `-32001` | `unauthorized`      | Grant does not include `x402:receive`.                                                                                              |
| `-32602` | `no_x402_endpoints` | The agent is inactive or has no chain in its allowlist. Ensure the vault is active and at least one chain is enabled for the agent. |
| `-32603` | `internal_error`    | Transient server fault.                                                                                                             |
