Transfer Intents
Authentication
The Ponto API uses API keys to authenticate requests. You can access your API key by contacting the Ponto team. These secret keys have the prefix sk_live. Be sure to keep these keys secure. Authentication to the API is performed via bearer auth. Use the header Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc when sending requests to the API.
All API requests must be made over HTTPS. API requests without authentication will fail with a 401 response code.
Once a Session has been created, the returned token should be sent with all subsequent requests to ensure the user cash out is secure. Tokens should be sent in the header x-secret. Requests without a token will fail with a 401 response code.
Create a transfer intent
POST https://ponto.org/transfer_intents
Create a new transfer intent. The quoted exchange rate, destination net amount, and all other relevant values in the response will be valid until the transaction is complete.
Headers
Authentication
string
Authentication with secret key.
Request Body
origin_instruction
string
Information for the transfer origin. See below. All fields shown below are required.
destination_instruction
string
Information for the transfer destination. See below. All fields shown below are required.
{
"data": [
{
"sid": 46,
"id": "transfer_intent_yPZ5yDp7pyBTNZRe",
"status": "AWAITING_EXECUTION",
"origin_instruction": {
"fees": [
{
"estimated": false,
"gross_fee_amount": 0.04999999999999982,
"fee_rate_percentage": 0.01
},
{
"asset": "cusd",
"estimated": true,
"gross_fee_amount": 0.00015,
"fee_rate_percentage": 0.000030303030302959677
},
{
"estimated": false,
"gross_fee_amount": 0.009899700000000067,
"fee_rate_percentage": 0.002
}
],
"asset": "cusd",
"currency": "USD",
"identity": "identity_wkwwaBY8qc1JxosI",
"net_amount": 4.9399503000000005,
"gross_amount": 5
},
"origin_asset_type": "cusd",
"origin_address_primary": null,
"destination_asset_type": "ghana_mtn",
"destination_address_primary": "+233550134146",
"live_mode": false,
"destination_instruction": {
"fees": [
{
"estimated": false,
"gross_fee_amount": 0.05858304844591089,
"fee_rate_percentage": 0.002
},
{
"estimated": false,
"gross_fee_amount": 0.5846588234901908,
"fee_rate_percentage": 0.02
}
],
"asset": "ghana_mtn",
"address": {
"id": "address_tTj8LHstbDAZLaCq",
"sid": 1,
"asset": "ghana_mtn",
"primary": "+233550134146",
"created_at": "2021-07-09T20:23:04.474Z",
"updated_at": "2021-07-09T20:23:04.474Z",
"address_info": null,
"authentication_info": null
},
"currency": "GHS",
"identity": "identity_wkwwaBY8qc1JxosI",
"net_amount": 28.6482823510193,
"gross_amount": 29.291524222955402
},
"metadata": {},
"funding_address": "address_9gq9zl9RFVCWly4h",
"funding_instructions": {
"description": "Send 5 USD in Celo Dollars to the wallet or account information in this object.",
"cusd_address": "0x1cEF689bb5a8A37c178Dde62102dD30a63feB887"
},
"job": null,
"exchange_rate": 5.929518,
"exchange_rate_expiration_seconds": 10,
"exchange_rate_at_execution": null,
"origin_gross_amount": 5,
"origin_net_amount": 4.9399503,
"destination_gross_amount": 29.2915242229554,
"destination_net_amount": 28.6482823510193,
"funded": false,
"created_at": "2021-07-15T22:22:12.172Z",
"updated_at": "2021-07-15T22:22:12.172Z",
"executed_at": null,
"completed_at": null,
"cancelled_at": null,
"account": null,
"partner": "partner_1",
"_type": "transfer_intent"
}
]
}origin_instruction:
destination_instruction:
Execute a transfer intent
POST https://ponto.org/transfer_intents/:id/execute
Execute a transfer intent after creation. You will have a designated number of seconds to run this execution after creation.
Query Parameters
id
string
id of the transfer intent to be executed.
Headers
Authorization
string
Authentication with secret key.
Cancel a transfer intent
POST https://ponto.org/transfer_intents/:id/cancel
Cancel a transfer intent after creation. You cannot cancel a transfer intent that has already been executed.
Query Parameters
id
string
id of the transfer intent to be cancelled.
Headers
Authorization
string
Authentication with secret key.
Read a transfer intent
GET https://ponto.org/transfer_intents/:id
Query Parameters
id
string
id of the transfer intent to be executed.
Headers
Authorization
string
Authentication with secret key.
Last updated
Was this helpful?