# Data Legion > Person + company enrichment APIs (Data Legion). Multi-rail agent payment. ## person_base_no_pii POST /person/base/no-pii Content-Type: application/json No account or signup — pay per call with your rail's native payment credential. Body: EITHER one strong identifier (email | email_hash | phone | social_url | linkedin_id | legion_id) OR a name (full_name, or first_name+last_name) paired with one context field (company | school | job_title | city | state | country | postal_code | address | birth_date). Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. base tier, no PII. Wraps the Data Legion person enrichment API. Costs $0.01 per successful call; a no-match (404) is zero-settled. anonymous (each rail authenticates via its own payment credential). ## company_base POST /company/base Content-Type: application/json No account or signup — pay per call with your rail's native payment credential. Body: at least one of legion_id | domain | name | linkedin_id | social_url | ticker_symbol. Optional refinement: industry. Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. base tier, no PII. Wraps the Data Legion company enrichment API. Costs $0.01 per successful call; a no-match (404) is zero-settled. anonymous (each rail authenticates via its own payment credential). ## person_base POST /person/base Content-Type: application/json Headers: X-Operator-Token (credential, KYC-verified) OR X-Wallet-Address linked to a KYC operator. Body: EITHER one strong identifier (email | email_hash | phone | social_url | linkedin_id | legion_id) OR a name (full_name, or first_name+last_name) paired with one context field (company | school | job_title | city | state | country | postal_code | address | birth_date). Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. base tier, includes PII. Wraps the Data Legion person enrichment API. Costs $0.05 per successful call; a no-match (404) is zero-settled. KYC + sanctions + jurisdiction (OFAC) required at settle. ## person_premium_no_pii POST /person/premium/no-pii Content-Type: application/json No account or signup — pay per call with your rail's native payment credential. Body: EITHER one strong identifier (email | email_hash | phone | social_url | linkedin_id | legion_id) OR a name (full_name, or first_name+last_name) paired with one context field (company | school | job_title | city | state | country | postal_code | address | birth_date). Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. premium tier, no PII. Wraps the Data Legion person enrichment API. Costs $0.04 per successful call; a no-match (404) is zero-settled. anonymous (each rail authenticates via its own payment credential). ## person_premium POST /person/premium Content-Type: application/json Headers: X-Operator-Token (credential, KYC-verified) OR X-Wallet-Address linked to a KYC operator. Body: EITHER one strong identifier (email | email_hash | phone | social_url | linkedin_id | legion_id) OR a name (full_name, or first_name+last_name) paired with one context field (company | school | job_title | city | state | country | postal_code | address | birth_date). Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. premium tier, includes PII. Wraps the Data Legion person enrichment API. Costs $0.08 per successful call; a no-match (404) is zero-settled. KYC + sanctions + jurisdiction (OFAC) required at settle. ## company_premium POST /company/premium Content-Type: application/json No account or signup — pay per call with your rail's native payment credential. Body: at least one of legion_id | domain | name | linkedin_id | social_url | ticker_symbol. Optional refinement: industry. Optional: min_confidence, multiple_results, limit, titlecase, required_fields, include_fields, exclude_fields, pretty_print. premium tier, no PII. Wraps the Data Legion company enrichment API. Costs $0.04 per successful call; a no-match (404) is zero-settled. anonymous (each rail authenticates via its own payment credential). ## Compliance Gated endpoints run through an AgentScore gate at settle time, enforcing KYC (Stripe Identity), sanctions screening (OpenSanctions), and an OFAC + DOJ jurisdiction blocklist (30 ISO 3166-1 alpha-2 codes: CU, IR, KP, RU, BY, AL, BA, ME, MK, RS, XK, AF, CF, CD, ET, IQ, LB, LY, ML, MM, NI, SO, SS, SD, VE, YE, ZW, CN, HK, MO; OFAC sanctions programs plus DOJ 28 CFR Part 202 countries of concern). Operators residing in any of these countries receive a 403 with code `jurisdiction_restricted` (unfixable). Endpoints not marked gated run anonymously. Wallet OFAC SDN screening applies to the paying wallet on every settle regardless. ## Identity AgentScore identity is reusable across every AgentScore-gated merchant — one KYC, no re-verification per site. Pick a header: - **`X-Wallet-Address: 0x...` or base58** — works on signing rails (Tempo, x402, Solana MPP). The wallet you claim must sign the payment. - **`X-Operator-Token: opc_...`** — works on every rail, including Stripe SPT. Reusable across AgentScore merchants until expiry. - **Neither** — you get a 403 with `verify_url`. Complete the session flow once and reuse the resulting `opc_...` everywhere. Compliance: KYC required, sanctions clear. ## Payment Accepted rails: - **USDC on Tempo** - **USDC on Base** - **USDC on Solana** ### Pay with Tempo ```bash curl -fsSL https://tempo.xyz/install | bash tempo wallet login tempo wallet whoami # need USDC.e on tempo-mainnet (chain 4217) tempo wallet fund # if zero tempo request -X POST \ -H "X-Operator-Token: opc_..." \ --json '{...}' \ --max-spend N \ https://agents.datalegion.ai/person/base/no-pii ``` ### Pay with Base or Solana ```bash npm install -g @agent-score/pay agentscore-pay wallet create `--chain base` or `--chain solana` agentscore-pay balance `--chain base` or `--chain solana` # fund the printed address with USDC agentscore-pay pay POST https://agents.datalegion.ai/person/base/no-pii \ --chain base \ -H "X-Operator-Token: opc_..." \ -d '{...}' \ --max-spend N ``` IMPORTANT: Use the CLIs above. Raw on-chain transfers (e.g. `tempo wallet transfer`, sending USDC manually to deposit addresses) bypass the protocol handshake and the request will not complete. IMPORTANT: Pay the exact amount in the 402 challenge. Overpayments and underpayments cannot be matched.