{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Rails","llmstxt":{"title":"Glomopay developer documentation","description":"Cross-border payments APIs, organised by product. Each product section carries both the explanation of its objects and the job-shaped integration guides that set them up.","details":{"content":"How to use these docs:\n\n- Get started is the front door. It carries a routing table from\n  \"what are you building\" to the page that builds it, plus how to get\n  API keys.\n- The product sections - Payin, Payout, Multi-currency accounts,\n  Verification, Request for Information (RFI) - each hold two kinds of page.\n  Pages titled as a noun (\"Subscriptions\", \"Bank Transfer\") explain what\n  an object is. Pages titled as a job (\"Set up recurring subscriptions\",\n  \"Collect LRS remittances from India\") are complete integration flows\n  and live one level under the object they set up. Match a user's goal\n  against the job-shaped titles first.\n- Reports and Identity and Access Management are the two subjects with no\n  API counterpart. There are no endpoints for reports, users, roles or\n  invites; both pages document the merchant dashboard. A dashboard\n  procedure for something the API also does (a refund, a payout) is NOT\n  here - it stays in the product that owns it.\n- API reference is generated from OpenAPI and carries endpoint detail.\n- The OpenAPI description itself is published as a single self-contained\n  document at /openapi.yaml, and the same document as JSON at\n  /openapi.json. Every $ref is resolved into it, so one fetch is the\n  whole contract: 61 paths, 81 operations, 68 schemas - the same\n  endpoints the API reference pages render. Fetch that instead of\n  reading the 129 pages under /api-reference/.\n- Developer resources covers what every integration touches and no single\n  product owns: auth, errors, pagination, rate limits, webhooks,\n  versioning, supported countries, quotes, and the client SDKs.\n"},"sections":[{"title":"Get started","description":"The front door. The routing table from a merchant's goal to the flow that delivers it, how to obtain API keys, and the platform glossary.","includeFiles":["**/get-started/**"]},{"title":"Payin","description":"Collecting money: customers, orders, checkout, payment links, payment methods (cards, bank transfer, pay via bank), refunds, disputes, purpose codes, fee models, custom fields, subscriptions, and resident India remittance under LRS. Includes the flows that set each up - bank transfers, subscriptions, LRS remittances, and server-to-server card payments.","includeFiles":["**/payin/**"]},{"title":"Payout","description":"Sending money: the payout life cycle, queued payouts, creating and cancelling a payout, rails, beneficiaries, purpose codes, and the action required state.","includeFiles":["**/payout/**"]},{"title":"Multi-currency accounts","description":"Holding money: balances, balance conversion, adding balance, withdrawing balance, and the settlement holiday calendar - the Indian and US bank and FX holidays on which settlement to the merchant's bank account, and money movement generally, is affected.","includeFiles":["**/multi-currency-account/**"]},{"title":"Verification","description":"Proving who someone is and that an account is theirs: KYC, bank account validation, and third-party verification (TPV) with the flow that verifies a payer's bank account.","includeFiles":["**/verification/**"]},{"title":"Request for Information (RFI)","description":"Responding to a compliance request for information, per object - payment link, order, payment, payout - plus compliance reviews and RFIs raised on already-successful payments.","includeFiles":["**/request-for-information/**"]},{"title":"Reports","description":"The downloadable and scheduled reports a merchant pulls from the dashboard for reconciliation, compliance and treasury: payment, subscription, settlement breakup, balance statement and KYC reports, plus scheduling one for recurring email delivery. Dashboard only - there is no reports API.","includeFiles":["**/reports/**"]},{"title":"Identity and Access Management","description":"Administering who can use a merchant account: one set of credentials across multiple MIDs, switching between them without logging out, the Admin / Member / Sales Partner roles and what each may see and do, and inviting a new member. Dashboard only - there is no users, roles or invites API.","includeFiles":["**/access-management/**"]},{"title":"API reference","description":"Endpoint reference generated from the Glomopay OpenAPI description.","includeFiles":["**/api-reference/**"]},{"title":"Developer resources","description":"What every integration touches and no single product owns: auth, errors, pagination, rate limits, webhooks, versioning, API validations, security, supported countries, quotes, and the client SDKs - React Native, Flutter, Android and the Unified Web SDK, with per-version references and changelogs. Reports and Identity and Access Management used to be listed here and are now their own sections.","includeFiles":["**/platform/**"]}]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"rails","__idx":0},"children":["Rails"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A rail is the scheme on which a payout is settled. Each corridor is served by one or more local rails, together with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift"]}," for international transfers. A rail may be specified when creating a payout, or taken from a quote where one is bound. Where no rail is specified, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift"]}," is used."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"supported-rails","__idx":1},"children":["Supported rails"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"width":"14%","data-label":"Rail"},"children":["Rail "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"18%","data-label":"Name"},"children":["Name "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"12%","data-label":"Currency"},"children":["Currency "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"16%","data-label":"Minimum"},"children":["Minimum "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"18%","data-label":"Maximum"},"children":["Maximum "]},{"$$mdtype":"Tag","name":"th","attributes":{"width":"22%","data-label":"Identifier"},"children":["Identifier "]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["upi"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UPI"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["INR"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["₹1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["₹1,00,000"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UPI ID (VPA)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["imps"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["IMPS"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["INR"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["₹1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["₹5,00,000"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Account number and IFSC"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rtgs"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["RTGS"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["INR"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["₹2,00,000"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["₹50,00,000"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Account number and IFSC"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["neft"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["NEFT"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["INR"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["₹1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["₹1,00,00,000"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Account number and IFSC"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ipp"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["IPP"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AED"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AED 1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AED 50,000"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["IBAN"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fts"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["FTS"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AED"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AED 50,000"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No limit"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["IBAN"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sepa"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["SEPA"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["EUR"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["€1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No limit"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["IBAN"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fps"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Faster Payments"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["GBP"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["£1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["£1,000,000"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Account number and sort code"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["SWIFT"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Any"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No limit"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No limit"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Account number and SWIFT/BIC"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A rail is available only where the destination currency corresponds to that rail and the beneficiary holds the identifier on which the rail routes. A request for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sepa"]}," on a GBP payout, or for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fps"]}," against a beneficiary without a sort code, is rejected."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Where no rail is specified, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift"]}," is used. A local rail is not selected automatically; to settle on one, specify it explicitly or bind a quote."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A rail is not an input to a quote. A quote request returns one option for each rail that serves the corridor and admits the amount, each carrying its rail in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_method.rail"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Currency refers to the destination currency, and the limits apply to the destination amount expressed in it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A rail settles only while the system it routes on is open: the INR rails on Indian bank working days, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift"]}," on FX and SWIFT business days. The ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/multi-currency-account/settlement-holidays"},"children":["settlement holiday calendar"]}," lists the Indian and United States dates in 2026 on which those timelines may be affected."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"beneficiary-requirements","__idx":2},"children":["Beneficiary requirements"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Corridor"},"children":["Corridor"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required fields"},"children":["Required fields"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["INR"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_number"]}," and the IFSC in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["local_routing_number"]},"; or a UPI ID for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["upi"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["AED"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The IBAN in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_number"]},"; neither ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift_code"]}," nor ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["local_routing_number"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["EUR"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The IBAN in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_number"]},", issued in a SEPA scheme country; neither ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift_code"]}," nor ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["local_routing_number"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["GBP"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The domestic ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_number"]}," and the 6-digit sort code in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["local_routing_number"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["International"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_number"]}," and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift_code"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," SEPA is IBAN-only. A EUR beneficiary is identified by its IBAN alone. A EUR account held outside the IBAN zone, such as a EUR account maintained at a US bank, remains supported: supply the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["swift_code"]}," and the account is treated as a SWIFT beneficiary."]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," Faster Payments requires the domestic account number rather than a GB IBAN. The scheme routes on the sort code together with the account number, and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GB"]}," IBAN supplied in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_number"]}," does not qualify for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fps"]}," even where a valid sort code is present."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"errors","__idx":3},"children":["Errors"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Message"},"children":["Message"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_rail is not available for <CURRENCY> payouts"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The rail does not serve the specified destination currency"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Destination amount is outside the <Rail> limits"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The amount falls above or below the limits for the rail"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["No rails available for this beneficiary"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The beneficiary does not hold the identifier on which the rail routes"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["No available options for this amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Every eligible rail was excluded by its limits"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["local_transfer is not supported for <CURRENCY> destination"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The corridor has no local rail"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_number must be a SEPA IBAN"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The IBAN is valid but was issued outside the SEPA scheme area"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["account_number must be a valid IBAN"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The account number is blank, contains spaces, or fails its checksum"]}]}]}]}]}]},"headings":[{"value":"Rails","id":"rails","depth":1},{"value":"Supported rails","id":"supported-rails","depth":2},{"value":"Beneficiary requirements","id":"beneficiary-requirements","depth":2},{"value":"Errors","id":"errors","depth":2}],"frontmatter":{"seo":{"title":"Rails"}},"lastModified":"2026-09-22T05:15:29.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/payout/rails","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}