mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-10-02 12:54:03 +00:00
Clarify public implementation pricing per agent-hour
This commit is contained in:
parent
d8b3126782
commit
5727ac8d06
12 changed files with 30 additions and 27 deletions
|
|
@ -177,7 +177,7 @@ describe("POST /api/hire-us/coinpay-checkout", () => {
|
||||||
payment_method: "both",
|
payment_method: "both",
|
||||||
currency: "usdc_pol",
|
currency: "usdc_pol",
|
||||||
blockchain: "USDC_POL",
|
blockchain: "USDC_POL",
|
||||||
description: "LogicSRC Hire Us - 10h @ $400/hour",
|
description: "LogicSRC Hire Us - 10 agent-hours @ $400/agent-hour",
|
||||||
success_url: "https://logicsrc.test/hire-us?payment=success",
|
success_url: "https://logicsrc.test/hire-us?payment=success",
|
||||||
cancel_url: "https://logicsrc.test/hire-us?payment=cancelled",
|
cancel_url: "https://logicsrc.test/hire-us?payment=cancelled",
|
||||||
redirect_url: "https://logicsrc.test/hire-us?payment=coinpay",
|
redirect_url: "https://logicsrc.test/hire-us?payment=coinpay",
|
||||||
|
|
@ -277,7 +277,7 @@ describe("POST /api/hire-us/coinpay-checkout", () => {
|
||||||
|
|
||||||
expect(response.status).toBe(201);
|
expect(response.status).toBe(201);
|
||||||
expect(createBody.amount_usd).toBe(10100);
|
expect(createBody.amount_usd).toBe(10100);
|
||||||
expect(createBody.description).toBe("LogicSRC Hire Us - 25.25h @ $400/hour");
|
expect(createBody.description).toBe("LogicSRC Hire Us - 25.25 agent-hours @ $400/agent-hour");
|
||||||
expect(createBody.metadata).toMatchObject({ billing: "metered_hours", hours: 25.25, rate_usd_per_hour: 400 });
|
expect(createBody.metadata).toMatchObject({ billing: "metered_hours", hours: 25.25, rate_usd_per_hour: 400 });
|
||||||
expect(body.payment).toMatchObject({ amount_usd: 10100, hours: 25.25, rate_usd_per_hour: 400 });
|
expect(body.payment).toMatchObject({ amount_usd: 10100, hours: 25.25, rate_usd_per_hour: 400 });
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ test.describe("LogicSRC PWA", () => {
|
||||||
await expect(page.getByRole("heading", { name: "Hire Us", exact: true })).toBeVisible();
|
await expect(page.getByRole("heading", { name: "Hire Us", exact: true })).toBeVisible();
|
||||||
await expect(page.locator(".price-row strong", { hasText: "$400" })).toBeVisible();
|
await expect(page.locator(".price-row strong", { hasText: "$400" })).toBeVisible();
|
||||||
await expect(page.getByText("per hour")).toBeVisible();
|
await expect(page.getByText("per hour")).toBeVisible();
|
||||||
await expect(page.getByText("Ten-hour minimum engagement")).toBeVisible();
|
await expect(page.getByText("Ten-agent-hour minimum engagement")).toBeVisible();
|
||||||
await expect(page.getByText("open infrastructure and open specs for AI agent systems")).toBeVisible();
|
await expect(page.getByText("open infrastructure and open specs for AI agent systems")).toBeVisible();
|
||||||
await expect(page.getByRole("button", { name: "Request review" })).toBeVisible();
|
await expect(page.getByRole("button", { name: "Request review" })).toBeVisible();
|
||||||
await expect(page.getByPlaceholder("you@example.com")).toBeVisible();
|
await expect(page.getByPlaceholder("you@example.com")).toBeVisible();
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ const ROUTE_META: Record<string, { title: string; description: string }> = {
|
||||||
},
|
},
|
||||||
"hire-us": {
|
"hire-us": {
|
||||||
title: "Hire Us · LogicSRC",
|
title: "Hire Us · LogicSRC",
|
||||||
description: "Implementation help for LogicSRC, AgentSwarm, and Credential Sharing at $400/hour for accepted work, paid via CoinPay.",
|
description: "Implementation help for LogicSRC, AgentSwarm, and Credential Sharing at $400/hour/agent for accepted work, paid via CoinPay.",
|
||||||
},
|
},
|
||||||
// /agent-swarm was the AgentSwarm placeholder band. It is now the OpenFleet
|
// /agent-swarm was the AgentSwarm placeholder band. It is now the OpenFleet
|
||||||
// spec at app/openfleet; next.config.ts redirects the old path there.
|
// spec at app/openfleet; next.config.ts redirects the old path there.
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ export default function AboutPage(): ReactNode {
|
||||||
|
|
||||||
<h3>Work with us</h3>
|
<h3>Work with us</h3>
|
||||||
<p>
|
<p>
|
||||||
Profullstack implements LogicSRC-based systems at $400/hour for
|
Profullstack implements LogicSRC-based systems at $400/hour/agent for
|
||||||
accepted work, paid via CoinPay. See <a href="/hire-us">Hire Us</a>.
|
accepted work, paid via CoinPay. See <a href="/hire-us">Hire Us</a>.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,13 @@ import { choosePaymentRail, fetchMerchantEligibility, parseJson } from "@/lib/co
|
||||||
export const dynamic = "force-dynamic";
|
export const dynamic = "force-dynamic";
|
||||||
|
|
||||||
// POST /api/hire-us/coinpay-checkout — create a CoinPay checkout for approved
|
// POST /api/hire-us/coinpay-checkout — create a CoinPay checkout for approved
|
||||||
// Hire Us hours at $400/hour, choosing card/crypto/both based on merchant
|
// Hire Us hours at $400/hour/agent, choosing card/crypto/both based on merchant
|
||||||
// eligibility. Billing is metered: the caller supplies the approved hours and the
|
// eligibility. Billing is metered: the caller supplies the approved hours and the
|
||||||
// amount is derived from them, never a fixed recurring figure.
|
// amount is derived from them, never a fixed recurring figure.
|
||||||
const RATE_USD_PER_HOUR = 400;
|
const RATE_USD_PER_HOUR = 400;
|
||||||
const MINIMUM_HOURS = 10;
|
const MINIMUM_HOURS = 10;
|
||||||
|
|
||||||
|
// Hours represent total approved agent-hours, not wall-clock duration.
|
||||||
// Hours are quoted in quarter-hour increments; anything finer is a rounding
|
// Hours are quoted in quarter-hour increments; anything finer is a rounding
|
||||||
// artifact rather than a real billing unit.
|
// artifact rather than a real billing unit.
|
||||||
function parseHours(value: unknown): number | null {
|
function parseHours(value: unknown): number | null {
|
||||||
|
|
@ -43,7 +44,7 @@ export async function POST(request: NextRequest) {
|
||||||
return json(
|
return json(
|
||||||
{
|
{
|
||||||
success: false,
|
success: false,
|
||||||
error: `Approved hours must be a quarter-hour increment of at least ${MINIMUM_HOURS}`
|
error: `Approved agent-hours must be a quarter-hour increment of at least ${MINIMUM_HOURS}`
|
||||||
},
|
},
|
||||||
422
|
422
|
||||||
);
|
);
|
||||||
|
|
@ -69,7 +70,7 @@ export async function POST(request: NextRequest) {
|
||||||
payment_method: paymentRail.method,
|
payment_method: paymentRail.method,
|
||||||
currency: paymentRail.currency,
|
currency: paymentRail.currency,
|
||||||
...(paymentRail.blockchain ? { blockchain: paymentRail.blockchain } : {}),
|
...(paymentRail.blockchain ? { blockchain: paymentRail.blockchain } : {}),
|
||||||
description: `LogicSRC Hire Us - ${hours}h @ $${RATE_USD_PER_HOUR}/hour`,
|
description: `LogicSRC Hire Us - ${hours} agent-hours @ $${RATE_USD_PER_HOUR}/agent-hour`,
|
||||||
success_url: `${publicUrl}/hire-us?payment=success`,
|
success_url: `${publicUrl}/hire-us?payment=success`,
|
||||||
cancel_url: `${publicUrl}/hire-us?payment=cancelled`,
|
cancel_url: `${publicUrl}/hire-us?payment=cancelled`,
|
||||||
redirect_url: `${publicUrl}/hire-us?payment=coinpay`,
|
redirect_url: `${publicUrl}/hire-us?payment=coinpay`,
|
||||||
|
|
@ -77,6 +78,7 @@ export async function POST(request: NextRequest) {
|
||||||
metadata: {
|
metadata: {
|
||||||
product: "logicsrc-hire-us",
|
product: "logicsrc-hire-us",
|
||||||
billing: "metered_hours",
|
billing: "metered_hours",
|
||||||
|
unit: "agent_hour",
|
||||||
hours,
|
hours,
|
||||||
rate_usd_per_hour: RATE_USD_PER_HOUR,
|
rate_usd_per_hour: RATE_USD_PER_HOUR,
|
||||||
source: "logicsrc.com/hire-us",
|
source: "logicsrc.com/hire-us",
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { json } from "@/lib/http";
|
||||||
export const dynamic = "force-dynamic";
|
export const dynamic = "force-dynamic";
|
||||||
|
|
||||||
// POST /api/hire-us/project-request — accept a Hire Us project request before any
|
// POST /api/hire-us/project-request — accept a Hire Us project request before any
|
||||||
// CoinPay invoice is created. Hire Us bills metered hours at $400/hour, so there is
|
// CoinPay invoice is created. Hire Us bills metered hours at $400/hour/agent, so there is
|
||||||
// no amount until we accept the project and hours are approved.
|
// no amount until we accept the project and hours are approved.
|
||||||
const RATE_USD_PER_HOUR = 400;
|
const RATE_USD_PER_HOUR = 400;
|
||||||
const MINIMUM_HOURS = 10;
|
const MINIMUM_HOURS = 10;
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ ${guides}
|
||||||
## Company & legal
|
## Company & legal
|
||||||
|
|
||||||
- [About](${SITE_URL}/about): What LogicSRC is and who maintains it (Profullstack, Inc.).
|
- [About](${SITE_URL}/about): What LogicSRC is and who maintains it (Profullstack, Inc.).
|
||||||
- [Hire Us](${SITE_URL}/hire-us): Implementation help at $400/hour for accepted LogicSRC work.
|
- [Hire Us](${SITE_URL}/hire-us): Implementation help at $400/hour/agent for accepted LogicSRC work.
|
||||||
- [Pricing](${SITE_URL}/pricing)
|
- [Pricing](${SITE_URL}/pricing)
|
||||||
- [Terms](${SITE_URL}/terms)
|
- [Terms](${SITE_URL}/terms)
|
||||||
- [Privacy](${SITE_URL}/privacy)
|
- [Privacy](${SITE_URL}/privacy)
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { SiteShell } from "@/components/site-shell";
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Pricing · LogicSRC",
|
title: "Pricing · LogicSRC",
|
||||||
description:
|
description:
|
||||||
"LogicSRC the open specification, schemas, SDKs, and CLI are free and open source. Implementation help is $400/hour for accepted work, paid via CoinPay.",
|
"LogicSRC the open specification, schemas, SDKs, and CLI are free and open source. Implementation help is $400/hour/agent for accepted work, paid via CoinPay.",
|
||||||
alternates: { canonical: "/pricing" },
|
alternates: { canonical: "/pricing" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -16,7 +16,7 @@ const FAQ: Array<{ q: string; a: string }> = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
q: "How does pricing work?",
|
q: "How does pricing work?",
|
||||||
a: "The standard is free. If you want Profullstack to build a LogicSRC-based system for you, implementation work is billed at $400/hour against actual hours worked, invoiced through CoinPay after you approve them. The minimum engagement is 10 hours.",
|
a: "The standard is free. If you want Profullstack to build a LogicSRC-based system for you, implementation work is billed at $400/hour/agent against actual agent-hours worked, invoiced through CoinPay after you approve them. The minimum engagement is 10 agent-hours.",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
q: "Who is LogicSRC for?",
|
q: "Who is LogicSRC for?",
|
||||||
|
|
@ -61,10 +61,10 @@ export default function PricingPage(): ReactNode {
|
||||||
CLI, TUI, and reference plugins are open source.
|
CLI, TUI, and reference plugins are open source.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Implementation — $400/hour.</strong> Profullstack builds
|
<strong>Implementation — $400/hour/agent.</strong> Profullstack builds
|
||||||
LogicSRC-based systems for accepted projects, billed against actual
|
LogicSRC-based systems for accepted projects, billed against actual
|
||||||
hours worked and invoiced via CoinPay once you approve them.
|
hours worked and invoiced via CoinPay once you approve them.
|
||||||
Ten-hour minimum engagement. See <a href="/hire-us">Hire Us</a> and{" "}
|
Ten-agent-hour minimum engagement. See <a href="/hire-us">Hire Us</a> and{" "}
|
||||||
<a href="/terms">Terms</a>.
|
<a href="/terms">Terms</a>.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ Base URL: ${SITE_URL}
|
||||||
- Read the LogicSRC coordination schemas and conventions.
|
- Read the LogicSRC coordination schemas and conventions.
|
||||||
- Compare LogicSRC with OpenSpec.dev.
|
- Compare LogicSRC with OpenSpec.dev.
|
||||||
- Request paid implementation help via the Hire Us flow (${SITE_URL}/hire-us),
|
- Request paid implementation help via the Hire Us flow (${SITE_URL}/hire-us),
|
||||||
billed at $400/hour for accepted work and paid through CoinPay.
|
billed at $400/hour/agent for accepted work and paid through CoinPay.
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { SiteShell } from "@/components/site-shell";
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Terms · LogicSRC",
|
title: "Terms · LogicSRC",
|
||||||
description:
|
description:
|
||||||
"Terms of engagement for LogicSRC: the specification and tooling are open source and free; Profullstack implementation work is billed at $400/hour against approved hours, with a 10-hour minimum.",
|
"Terms of engagement for LogicSRC: the specification and tooling are open source and free; Profullstack implementation work is billed at $400/hour/agent against approved hours, with a 10-agent-hour minimum.",
|
||||||
alternates: { canonical: "/terms" },
|
alternates: { canonical: "/terms" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -35,7 +35,7 @@ export default function TermsPage(): ReactNode {
|
||||||
<h3>Rate</h3>
|
<h3>Rate</h3>
|
||||||
<p>
|
<p>
|
||||||
Profullstack implementation work is billed at{" "}
|
Profullstack implementation work is billed at{" "}
|
||||||
<strong>$400 per hour</strong>. One rate applies to all
|
<strong>$400 per agent-hour</strong>. One rate applies to all
|
||||||
implementation work — specs, CLIs, SDKs, MCP resources, APIs, PWAs,
|
implementation work — specs, CLIs, SDKs, MCP resources, APIs, PWAs,
|
||||||
and provider-neutral plugin surfaces. There are no tiers, role-based
|
and provider-neutral plugin surfaces. There are no tiers, role-based
|
||||||
rates, or volume discounts.
|
rates, or volume discounts.
|
||||||
|
|
@ -56,10 +56,11 @@ export default function TermsPage(): ReactNode {
|
||||||
|
|
||||||
<h3>How you are invoiced</h3>
|
<h3>How you are invoiced</h3>
|
||||||
<p>
|
<p>
|
||||||
Billing is metered against actual hours worked, not a subscription.
|
Billing is metered against actual agent-hours worked. Two agents working
|
||||||
|
five hours use ten agent-hours and cost $4,000.
|
||||||
After we accept a project, we send you a record of hours worked. Once
|
After we accept a project, we send you a record of hours worked. Once
|
||||||
you approve those hours, we issue a CoinPay invoice for exactly that
|
you approve those hours, we issue a CoinPay invoice for exactly that
|
||||||
amount at $400/hour. You are never charged for hours you have not
|
amount at $400/hour/agent. You are never charged for hours you have not
|
||||||
seen and approved.
|
seen and approved.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
|
@ -69,7 +70,7 @@ export default function TermsPage(): ReactNode {
|
||||||
|
|
||||||
<h3>Minimum engagement</h3>
|
<h3>Minimum engagement</h3>
|
||||||
<p>
|
<p>
|
||||||
The minimum engagement is <strong>10 hours</strong>. Engagements
|
The minimum engagement is <strong>10 agent-hours</strong>. Engagements
|
||||||
smaller than this do not cover the cost of scoping and context, so we
|
smaller than this do not cover the cost of scoping and context, so we
|
||||||
will decline them rather than quote them.
|
will decline them rather than quote them.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ export function HomeInteractivity(): null {
|
||||||
}
|
}
|
||||||
|
|
||||||
result.replaceChildren(
|
result.replaceChildren(
|
||||||
buildParagraph("Request received. If it is a fit, we will scope the work and invoice approved hours at $400/hour via CoinPay.")
|
buildParagraph("Request received. If it is a fit, we will scope the work and invoice approved hours at $400/hour/agent via CoinPay.")
|
||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
result.replaceChildren(
|
result.replaceChildren(
|
||||||
|
|
|
||||||
|
|
@ -72,9 +72,9 @@ const pages = [
|
||||||
{ id: "blog", title: "Blog", detail: "Project notes for LogicSRC, AgentSwarm, AgentByte, OpenSpec workflows, and reference implementations." },
|
{ id: "blog", title: "Blog", detail: "Project notes for LogicSRC, AgentSwarm, AgentByte, OpenSpec workflows, and reference implementations." },
|
||||||
{ id: "openspec", title: "OpenSpec", detail: "Comparison and compatibility notes for OpenSpec.dev-style repo-local specs, proposals, tasks, and deltas." },
|
{ id: "openspec", title: "OpenSpec", detail: "Comparison and compatibility notes for OpenSpec.dev-style repo-local specs, proposals, tasks, and deltas." },
|
||||||
{ id: "credential-sharing", title: "Credential Sharing", detail: "Open replacement architecture for portable secret sync across end-to-end-encrypted team vaults, .env, Doppler, Railway variables, GitHub Secrets, and sh1pt." },
|
{ id: "credential-sharing", title: "Credential Sharing", detail: "Open replacement architecture for portable secret sync across end-to-end-encrypted team vaults, .env, Doppler, Railway variables, GitHub Secrets, and sh1pt." },
|
||||||
{ id: "hire-us", title: "Hire Us", detail: "$400/hour LogicSRC work on open infrastructure, specs, AI agent workflows, and reference implementations paid through CoinPay after project acceptance." },
|
{ id: "hire-us", title: "Hire Us", detail: "$400/hour/agent LogicSRC work on open infrastructure, specs, AI agent workflows, and reference implementations paid through CoinPay after project acceptance." },
|
||||||
{ id: "about", title: "About", detail: "LogicSRC is the Profullstack open specification project for human and AI agent coordination." },
|
{ id: "about", title: "About", detail: "LogicSRC is the Profullstack open specification project for human and AI agent coordination." },
|
||||||
{ id: "terms", title: "Terms", detail: "Terms of engagement: the $400/hour rate, what is billable, how approved hours are invoiced, the 10-hour minimum, cancellation, acceptable use, and reference implementation boundaries." },
|
{ id: "terms", title: "Terms", detail: "Terms of engagement: the $400/hour/agent rate, what is billable, how approved hours are invoiced, the 10-agent-hour minimum, cancellation, acceptable use, and reference implementation boundaries." },
|
||||||
{ id: "privacy", title: "Privacy", detail: "What this site collects and what it does not: analytics, the Hire Us form, the CoinPay sign-in cookie, and where credential data does and does not go." }
|
{ id: "privacy", title: "Privacy", detail: "What this site collects and what it does not: analytics, the Hire Us form, the CoinPay sign-in cookie, and where credential data does and does not go." }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -363,7 +363,7 @@ logicsrc secrets ssh agent profullstack # load into ssh-agent, never onto disk<
|
||||||
<section id="hire-us" class="band hire-us">
|
<section id="hire-us" class="band hire-us">
|
||||||
<div class="section-head">
|
<div class="section-head">
|
||||||
<h2>Hire Us</h2>
|
<h2>Hire Us</h2>
|
||||||
<p>$400/hour for accepted LogicSRC work using open infrastructure and open specs for AI agent systems.</p>
|
<p>$400/hour/agent for accepted LogicSRC work using open infrastructure and open specs for AI agent systems.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="hire-layout">
|
<div class="hire-layout">
|
||||||
<article class="hire-panel">
|
<article class="hire-panel">
|
||||||
|
|
@ -372,9 +372,9 @@ logicsrc secrets ssh agent profullstack # load into ssh-agent, never onto disk<
|
||||||
<p>Hire us to turn agent ideas into portable LogicSRC specs, CLIs, SDKs, MCP resources, PWAs, APIs, and provider-neutral plugin workflows. We prioritize auditable contracts, repo-local artifacts, and integrations that can move between model providers and infrastructure.</p>
|
<p>Hire us to turn agent ideas into portable LogicSRC specs, CLIs, SDKs, MCP resources, PWAs, APIs, and provider-neutral plugin workflows. We prioritize auditable contracts, repo-local artifacts, and integrations that can move between model providers and infrastructure.</p>
|
||||||
<div class="price-row">
|
<div class="price-row">
|
||||||
<strong>$400</strong>
|
<strong>$400</strong>
|
||||||
<span>per hour</span>
|
<span>per agent-hour</span>
|
||||||
</div>
|
</div>
|
||||||
<p class="price-terms">Billed against actual hours worked, invoiced after you approve them. Ten-hour minimum engagement; cancel any time with one week’s notice and pay only for hours already approved. See <a href="/terms">Terms</a>.</p>
|
<p class="price-terms">Billed against actual agent-hours worked, invoiced after you approve them. Ten-agent-hour minimum engagement; cancel any time with one week’s notice and pay only for hours already approved. See <a href="/terms">Terms</a>.</p>
|
||||||
<form id="project-request-form" class="project-request-form">
|
<form id="project-request-form" class="project-request-form">
|
||||||
<label>
|
<label>
|
||||||
<span>Contact</span>
|
<span>Contact</span>
|
||||||
|
|
@ -402,7 +402,7 @@ logicsrc secrets ssh agent profullstack # load into ssh-agent, never onto disk<
|
||||||
</div>
|
</div>
|
||||||
<article id="coinpay-setup" class="coinpay-panel">
|
<article id="coinpay-setup" class="coinpay-panel">
|
||||||
<h3>CoinPay hourly invoice</h3>
|
<h3>CoinPay hourly invoice</h3>
|
||||||
<p>After we accept the project, we invoice approved hours at $400/hour through CoinPay without exposing merchant credentials to the browser.</p>
|
<p>After we accept the project, we invoice approved hours at $400/hour/agent through CoinPay without exposing merchant credentials to the browser.</p>
|
||||||
<pre><code>COINPAY_ORG=profullstack
|
<pre><code>COINPAY_ORG=profullstack
|
||||||
COINPAY_PRODUCT=logicsrc-hire-us
|
COINPAY_PRODUCT=logicsrc-hire-us
|
||||||
COINPAY_RATE_USD_PER_HOUR=400
|
COINPAY_RATE_USD_PER_HOUR=400
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue