Skip to content

docs: fix broken links and clarify edge cases#87

Open
rodrigopavezi wants to merge 1 commit intodocs/add-missing-feature-docsfrom
docs/fix-remaining-issues
Open

docs: fix broken links and clarify edge cases#87
rodrigopavezi wants to merge 1 commit intodocs/add-missing-feature-docsfrom
docs/fix-remaining-issues

Conversation

@rodrigopavezi
Copy link
Copy Markdown
Member

Summary

Fixes all remaining issues found during the preview review before public release.

Broken links fixed

  • invoicing.mdx: "Fork EasyInvoice" card href="#" → GitHub repo URL
  • invoicing.mdx: "View Invoicing Examples" card href="#" → integration guide
  • checkout.mdx: "Payment Widget Button" card href="#" → checkout demo URL (2 instances)

Clarity improvements

  • crosschain-payments.mdx: Clarified minimum amount from "greater than 1" to "greater than 1 USD equivalent (e.g., at least 1.01 USDC)" with explanation of bridge minimums
  • payee-destinations.mdx: Added <Info> callout explaining that the ERC-7828 checksum is auto-generated by the API
  • payouts.mdx: Added error handling table (400, 401, 404, 429) with guidance on batch network constraint

Test plan

  • Verify all fixed links resolve correctly in preview
  • Check no new broken links introduced

- Fix 2 broken href="#" links in invoicing.mdx (Fork EasyInvoice -> GitHub
  repo, View Invoicing Examples -> integration guide)
- Fix 2 broken href="#" links in checkout.mdx (Payment Widget Button ->
  checkout demo URL, both instances)
- Clarify crosschain minimum amount: "greater than 1 USD equivalent" with
  example, not just "greater than 1"
- Add ERC-7828 checksum clarification in payee-destinations.mdx (auto-
  generated by API, no manual computation needed)
- Add error handling table to payouts.mdx (400, 401, 404, 429)
This was referenced Mar 30, 2026
@rodrigopavezi rodrigopavezi marked this pull request as ready for review March 30, 2026 19:17
Copy link
Copy Markdown
Member Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@greptile-apps
Copy link
Copy Markdown

greptile-apps bot commented Mar 30, 2026

Greptile Summary

This PR is a documentation cleanup pass that fixes five broken href="#" placeholder links across checkout.mdx and invoicing.mdx, and adds three clarity improvements to crosschain-payments.mdx, payee-destinations.mdx, and payouts.mdx ahead of public release.

Key changes:

  • checkout.mdx — Two "Payment Widget Button" cards now link to https://checkout.request.network instead of #
  • invoicing.mdx — "Fork EasyInvoice" card links to the GitHub repo; "View Invoicing Examples" card is renamed to "View Integration Guide" and links to the existing /api-features/secure-payment-integration-guide page (confirmed present in repo)
  • crosschain-payments.mdx — Minimum amount requirement clarified to "greater than 1 USD equivalent (e.g., at least 1.01 USDC)"; however, the trailing phrase "amounts under $1" introduces a boundary inconsistency with the strict > 1 condition — exactly $1.00 would be rejected by the API but permitted by the closing clause
  • payee-destinations.mdx — Checksum field added to the address breakdown list with an <Info> callout confirming it is auto-generated by the API
  • payouts.mdx — New error handling table documents 400, 401, 404, and 429 responses; 500 Internal Server Error is absent, which is worth adding per the AGENTS.md API documentation standard

Confidence Score: 4/5

Safe to merge after resolving the boundary-condition wording in crosschain-payments.mdx — all other changes are straightforward link fixes or additive clarity improvements.

One P1 finding: the "amounts under $1" clause in crosschain-payments.mdx is directly contradicted by the "greater than 1" condition in the same sentence, which could cause developers to send exactly $1.00 and receive an unexpected rejection. All other findings are P2. Score is 4 rather than 5 due to this current factual inconsistency in docs that will go public.

api-features/crosschain-payments.mdx — boundary condition wording on line 49 needs a one-word fix ("under $1" → "of $1 or less")

Important Files Changed

Filename Overview
api-features/crosschain-payments.mdx Minimum amount clarification introduced a boundary inconsistency: "greater than 1" (strict) conflicts with "under $1" (exclusive), leaving exactly $1.00 ambiguous for developers.
api-features/payee-destinations.mdx Added checksum bullet to the address format breakdown and an callout explaining auto-generation; no issues found.
api-features/payouts.mdx Added 400/401/404/429 error handling table with batch-payout guidance; 500 is absent from the table but not a blocker.
use-cases/checkout.mdx Both href="#" placeholders on the "Payment Widget Button" cards replaced with the correct https://checkout.request.network URL; no issues.
use-cases/invoicing.mdx Fixed three broken href="#" links (Fork EasyInvoice → GitHub, View Invoicing Examples → integration guide); target file /api-features/secure-payment-integration-guide.mdx confirmed to exist in repo.

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant API as Request Network API
    participant Bridge as LiFi Bridge

    Dev->>API: POST /v2/request (amount greater than 1 USD)
    API-->>Dev: requestId

    Dev->>API: GET /v2/request/requestId/routes
    API-->>Dev: routes array (crosschain + samechain options)

    Dev->>API: GET /v2/request/requestId/pay (chain + token selected)
    API-->>Dev: transactions array + metadata

    alt needsApproval is true
        Dev->>Bridge: send approval transaction
        Bridge-->>Dev: approval confirmed
    end

    Dev->>Bridge: send payment or bridge transaction
    Bridge-->>API: bridge execution confirmed
    API-->>Dev: webhook payment confirmed on destination chain
Loading

Reviews (1): Last reviewed commit: "docs: fix remaining broken links, clarif..." | Re-trigger Greptile

<Steps>
<Step title="Create the request">
Create a request with a `paymentCurrency` in the supported stablecoins and networks, and `amount` greater than 1 (crosschain execution under 1 stablecoin is not allowed).
Create a request with a `paymentCurrency` in the supported stablecoins and networks. The `amount` must be greater than 1 USD equivalent (e.g., at least 1.01 USDC) — crosschain routes are not available for amounts under $1 due to bridge minimums.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Boundary condition inconsistency: "greater than 1" vs "under $1"

The sentence contains a subtle but meaningful contradiction for developers who test edge cases:

  • First clause: "The amount must be greater than 1 USD equivalent" → strictly > 1.00, so exactly 1.00 USDC is rejected
  • Second clause: "crosschain routes are not available for amounts under $1" → strictly < 1.00, which would imply exactly 1.00 USDC is allowed

A developer who reads both halves could reasonably conclude that 1.00 USDC is a valid amount, only to get a rejection at runtime. The first half is correct; the second half should be aligned with it.

Suggested change
Create a request with a `paymentCurrency` in the supported stablecoins and networks. The `amount` must be greater than 1 USD equivalent (e.g., at least 1.01 USDC) — crosschain routes are not available for amounts under $1 due to bridge minimums.
Create a request with a `paymentCurrency` in the supported stablecoins and networks. The `amount` must be greater than 1 USD equivalent (e.g., at least 1.01 USDC) — crosschain routes are not available for amounts of $1 or less due to bridge minimums.

Comment on lines +88 to +96

| Status | Meaning |
|--------|---------|
| `400` | Invalid request body — check required fields and currency IDs |
| `401` | Authentication failed — verify your `x-api-key` header |
| `404` | Request or recurring payment not found |
| `429` | Rate limited — back off and retry |

For batch payouts, a `400` may indicate that payments span multiple networks (all must be on the same chain).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Missing 500 status code in error table

The error table covers client-side errors (400, 401, 404, 429) but omits 500 Internal Server Error. Per the AGENTS.md style guide, API documentation should "Explain all HTTP status codes and error handling." Users hitting a 500 (e.g., during a transient upstream failure) may be confused about whether to retry, and omitting it can lead to silent failures in production integrations.

Consider adding a row:

Status Meaning
500 Server error — safe to retry with exponential backoff

Context Used: AGENTS.md (source)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant