Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.natural.co/llms.txt

Use this file to discover all available pages before exploring further.

Automatically receive payment from another agent, email, phone number, or Natural party ID. For new parties, Natural creates a hosted payment page, delivers the page by email or SMS, and the payer settles via ACH or card (coming soon).
Every call is shown five ways — MCP · Python · TypeScript · CLI · cURL. The MCP tab is the natural-language prompt you’d give an AI agent.

1. Get your API key

Sign up at natural.co/signup (Google OAuth, email/password, or phone) and complete identity verification, KYC for individuals, KYB for businesses. See compliance for details. Then create a developer API key in the dashboard. It’s shown once, store it in a secret manager and never in version control.
export NATURAL_API_KEY=sk_ntl_prod_abc123...
Connect to MCP, CLI, or SDK:
claude mcp add --transport http natural https://mcp.natural.co \
  --header "Authorization: Bearer $NATURAL_API_KEY"
That registers the hosted MCP server with Claude Code.
Point any MCP client at the same endpoint with a JSON config:
{
  "mcpServers": {
    "natural": {
      "type": "http",
      "url": "https://mcp.natural.co",
      "headers": { "Authorization": "Bearer sk_ntl_prod_..." }
    }
  }
}

2. Create an agent

Agents execute transactions. Create one in the Agents tab of the dashboard, or:
Create an agent called "Invoicing Agent" for collecting invoice payments.
The response includes the agent’s id (agt_*) — store it.

3. Review your wallet

Every request lands in a wallet. By default, POST /payment-requests uses the requester party’s default wallet, so you usually do not need to pass walletId. GET /wallets returns your wallets when you need to inspect the receiving wallet or choose a specific one later.
Show my wallets.

4. Create the request

POST /payment-requests creates the request and, with sendLink, delivers the link immediately.
Using my Invoicing Agent, request $25 from ada@example.com for Invoice 7.
The response includes the request’s id (prq_*) and a paymentLinkUrl to share with the payer.

5. Track the request

Poll for status with the id from step 4:
What's the status of that payment request?

Requesting on behalf of a customer

To collect into a customer’s wallet, the customer first delegates payment authority (payments.create) to your agent. Invite them:
Invite bruce@propertymanagement.com to my Invoicing Agent.
The customer gets an email, completes onboarding, and approves the agent-customer relationship. After that, pass their party ID as customerPartyId on the request. Natural uses their default receiving wallet, so the funds land in their wallet instead of yours. Find a customer’s customerPartyId via GET /customers — each customer resource’s id is the party ID. Omit customerPartyId to collect into your own wallet.