making-payments
Skill2 starsChanged 7 months agoApache-2.0View on GitHub
General payment initiation workflow for the Newline MCP server. Use when you need to prepare and create a wire, ACH, or instant payment transfer, validate the source and destination accounts, and explain rail-specific requirements. Prefer this skill for end-to-end payment execution across Claude Code, Codex, Pi, and other Agent Skills compatible harnesses.
In this repository9 other files it gives its agents.
- account-reconciliationSkill
- create-transferSkill
- customer-overviewSkill
- investigate-transferSkill
- managing-users-and-accountsSkill
- new-account-setupSkill
- payment-operationsSkill
- return-resolutionSkill
- transaction-reportingSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 8 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Verify the initiating customer is active and KYC-approved before sending funds.
- Distinctive: line 20
If you have the UID:
- Distinctive: line 38
Stop if the customer is not in a valid state to initiate payments.
- Distinctive: line 48
If needed, drill into a known account:
- Distinctive: line 71
If the destination belongs to another known customer, resolve them first:
- Very specific: line 79
If no destination synthetic account exists yet, switch to new-account-setup or managing-users-and-accounts before proceeding.
- Distinctive: line 94
Use for traditional wire transfers when the user provides routing instructions.
- Distinctive: line 132
Use for immediate payment workflows that require transmitter identity and address details.
- Distinctive: line 170
If needed, re-check with:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Making Payments
A broad skill for preparing and initiating Newline transfers.
For a narrower transfer-only flow, create-transfer may be sufficient.
Guardrails
- Confirm with the user before calling
create-newline-transfer. - Resolve names and emails to customer and account UIDs first.
- Verify the initiating customer is active and KYC-approved before sending funds.
- Transfers are asynchronous; initial status may be
queuedorpending.
Step 1 — Identify the Initiating Customer
If you have the UID:
get-customer uid=<customer_uid>Otherwise search first:
list-customers (filter by first_name, last_name, email, external_uid, or pool_uid)Record:
uid→initiating_customer_uidstatuskyc_statuspool_uids
Stop if the customer is not in a valid state to initiate payments.
Step 2 — Identify the Source Account
Inspect available synthetic accounts:
get-synthetic-accountsIf needed, drill into a known account:
get-synthetic-account uid=<source_synthetic_account_uid>Confirm:
- the account belongs to the correct customer or pool
- the account is active
- the available balance is sufficient
- the relevant payment rail details exist for the intended use
Step 3 — Identify the Destination Account
This server creates transfers between two synthetic accounts, so you need a
destination_synthetic_account_uid.
To find one:
get-synthetic-accountsIf the destination belongs to another known customer, resolve them first:
list-customers
get-customer uid=<destination_customer_uid>
get-synthetic-accountsIf no destination synthetic account exists yet, switch to new-account-setup or
managing-users-and-accounts before proceeding.
Step 4 — Choose the Transfer Rail
Exactly one of these blocks must be supplied.
Wire
wire: {
wire_instructions
}Use for traditional wire transfers when the user provides routing instructions.
ACH
ach: {
sec_code,
service_processing,
originator_name,
company_id,
prenote,
entry_description,
effective_entry_date,
id_number
}Collect all ACH fields up front. Keep entry_description short and business-appropriate.
Instant Payment
instant_payment: {
memo,
instant_payment_transmitter: {
name,
transmitter_identifier,
street_number,
street1,
street2,
city,
state,
postal_code,
country
}
}Use for immediate payment workflows that require transmitter identity and address details.
Step 5 — Gather Common Transfer Inputs
Every transfer requires:
external_uid— unique idempotency identifierinitiating_customer_uidinitiator_type— usuallycustomersource_synthetic_account_uiddestination_synthetic_account_uidusd_transfer_amount— string value such as"100.00"- exactly one of
wire,ach, orinstant_payment
Step 6 — Create the Transfer
Only after confirmation:
create-newline-transfer
external_uid
initiating_customer_uid
initiator_type
source_synthetic_account_uid
destination_synthetic_account_uid
usd_transfer_amount
wire | ach | instant_paymentStep 7 — Verify and Communicate Status
After creation, report:
- transfer
uid status- transfer type
- amount
- source and destination account UIDs
- any associated
transaction_uids
If needed, re-check with:
get-newline-transfer uid=<transfer_uid>Step 8 — Hand Off to Monitoring or Investigation
For follow-up work, use:
investigate-transferfor one transfer deep-divespayment-operationsfor returns and post-payment issuestransaction-reportingfor status tracking and audit history
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

