# Payment attributes

> Attributes of x402 payment spans: blockchain.payment.* and x402.*. Type, spans, default and meaning of each.

Source: https://hashspan.dev/docs/reference/attributes/payments

Generated from the semantic conventions These rows are generated from the semantic conventions at @hashspan/core@1.1.0, the version on npm. They are a draft: names can still change.

Attributes of x402 payment spans: `blockchain.payment.*` and `x402.*`. *Default* is what is recorded without configuration; addresses follow the address mode described under [privacy](https://hashspan.dev/docs/reference/semantic-conventions#privacy).

## `blockchain.payment.protocol`

| Type | Spans | Default |
|---|---|---|
| string | payment | on |

`x402`

## `blockchain.payment.payer`

| Type | Spans | Default |
|---|---|---|
| string | payment | raw |

address that pays, subject to address mode; the settlement's payer only when the payer knew none

## `blockchain.payment.recipient`

| Type | Spans | Default |
|---|---|---|
| string | payment | raw |

address that is paid, subject to address mode

## `blockchain.payment.asset`

| Type | Spans | Default |
|---|---|---|
| string | payment | raw |

contract address of the token paid with, subject to address mode

## `blockchain.payment.amount`

| Type | Spans | Default |
|---|---|---|
| string | payment | on |

amount in the asset's smallest unit, decimal string; the settlement's amount only when the payer knew none

## `blockchain.payment.settled_amount`

| Type | Spans | Default |
|---|---|---|
| string | payment | on |

amount the settling party reports it settled, decimal string, e.g. less than the authorized maximum with x402 `upto`; as reported, not checked

## `blockchain.payment.verified`

| Type | Spans | Default |
|---|---|---|
| boolean | payment | on |

whether the settlement transaction carries this payment (its receipt and, for Permit2, its input), checked by the adapter from the payer's own data; absent when no check was possible ([ADR 0017](https://github.com/selimaytac/hashspan/blob/@hashspan/core@1.1.0/docs/adr/0017-x402-payment-verification.md))

## `blockchain.payment.status`

| Type | Spans | Default |
|---|---|---|
| string | payment | on |

`settled` | `pending` | `failed`

## `x402.scheme`

| Type | Spans | Default |
|---|---|---|
| string | payment | on |

x402 payment scheme, e.g. `exact`

## `x402.resource`

| Type | Spans | Default |
|---|---|---|
| string | payment | origin |

the resource paid for, per the tracker's `paymentResource` mode: `origin` (default) records scheme, host and port only, `path` the URL without query string, fragment or user info, `off` nothing; at most 512 characters, and nothing for text whose user info contains `?` or `#`
